Управление этикетками - PullRequest
       52

Управление этикетками

0 голосов
/ 25 февраля 2020

Я разрабатываю систему и хотел бы иметь метки для некоторых моих столбцов, которые управляются в одном месте, и чтобы были ограничения, чтобы гарантировать, что все используемые метки перечислены в таблице меток. Каков наилучший способ выполнения sh этого?

Сейчас я работаю с таблицей под названием [Метки] со столбцами для [Группа], [ID] и [Название], где [Группа] относится к группе записей, имеющих одно и то же значение [Группа], [ID] относится к уникальной метке в этой группе, а [Название] является дружественным для человека значением, которое будет использоваться приложением. Однако я не знаю, как ограничить значения, так как ограничения внешнего ключа, похоже, не принимают значения stati c. Возможно, мне не хватает чего-то простого ...

Пример запроса:

SELECT [Labels].[Title] 
FROM [EventList] 
INNER JOIN [Labels] ON [Labels].[ID] = [EventList].[Status] AND [Labels].[Group] = 'Event Status'

Пример ограничения внешнего ключа:

ALTER TABLE [EventList]
ADD CONSTRAINT FK_EventList_Labels
FOREIGN KEY ('Event Status',[Status])
REFERENCES Labels([Group],[ID])

Таблица меток:

CREATE TABLE Labels
(
[Group] VARCHAR(20) NOT NULL,
[ID] VARCHAR(20) NOT NULL,
[Title] VARCHAR(20) NOT NULL
)

Пример данных метки

'Event Status',1,'Planning'
'Event Status',2,'Completed'
'Event Type',1,'Public'
'Event Type',2','Private'
'Employee Status',1,'Active'
...

Используется сервер Microsoft SQL Стандарт сервера 2016.

Заранее благодарим за любую помощь, указатели или рекомендации.

...