У меня есть 4 таблицы, в которых хранится информация о наших лицензиях. У нас есть собственные установочные пакеты для установки приложений, поэтому PackageName ссылается на это имя установочных пакетов. Возможно, что у нас один и тот же пакет 3 раза, единственное различие между ними состоит в том, что первый - английский, второй - немецкий, а третий - мультиязычный
Таблицы:
Лицензии. В этой таблице содержится информация о том, сколько лицензий мы купили для приложения.
LicenseID int<br>
PackageName nvarchar(50)<br>
DisplayName nvarchar(200)<br>
Bought int
Регистрация: эта таблица содержит информацию о том, какое приложение (только те, для которых требуется лицензия) установлено на каком хосте
LicenseID int<br>
Host nvarchar(50)
Пока все хорошо, но проблема начинается сейчас. В некоторых случаях возможно, что лицензия может заменить другую лицензию. Например, если у нас есть лицензии на Office 2010, мы можем использовать их и для установки Office 2007. Поэтому мне нужна была другая таблица, для хранения которой лицензия может заменить другую лицензию
Замены: в этой таблице есть только информация о том, какой из них LicenseID может заменить какой. Таким образом, я имею в виду, что если Office 2010 имеет LicenseID 1
, а Office 2007 имеет LicenseID 2
, то в этой таблице останется 1, 2
LicenseID int<br>
SubstitutedLicenseID
Четвертая таблица - «Ассоциации». В этой таблице содержится информация о том, какие пакеты принадлежат одной и той же лицензии. Это необходимо, потому что, если у нас есть два пакета с одной лицензией? Я имею в виду, что если у нас есть пакет для Symantec Antivirus 10 с немецким языком, а также у нас есть пакет для Symantec Antivirus 10 с английским языком, то мне нужно пакеты с тем же программным обеспечением, поэтому они должны использовать одну и ту же лицензию.
PackageName nvarchar(50)<br>
LicenseID int
Таким образом, в этом случае эта таблица останется, если Symantec Antivirus имеет LicenseID 5:
Symnatec Antivirus 10 DE, 5<br>
Symantec Antivirus 10 EN, 5<br>
Symantec Antivirus 10 MU, 5
Итак, мой вопрос, как я могу считать свои лицензии? Я пытался создать представление или хранимую процедуру, но для меня это далеко не сложно. Может кто-нибудь помочь мне, пожалуйста?
Спасибо!