Я настраиваю базу данных приложения, и мне трудно настроить внешние ключи. Базовый дизайн включает три таблицы: пользователи, клиенты и contact_map. У пользователей есть клиенты. Как пользователи, так и клиенты имеют несколько учетных записей телефона и электронной почты. Карта контактов содержит те. У этого есть UserID, UserType, Key, Value.
UserID = идентификатор из таблицы клиента или пользователя.
UserType = enum ('user', 'client')
Ключ / значение = пара ключ / значение телефона или адреса электронной почты.
Возможно ли то, что я пытаюсь сделать, и если да, то как ты это делаешь?
Это то, что я пытался, но это не сработало.
CREATE TABLE CONTACT_MAP
...
CONSTRAINT 'ContactMap_Users'
FOREIGN KEY ('UserID', 'UserType' )
REFERENCES USERS ('ID')
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT 'CONTACT_MAP_CLIENTS'
FOREIGN KEY ('UserID', 'UserType )
REFERENCES CLIENTS ('ID')
ON DELETE NO ACTION
ON UPDATE NO ACTION)