Значение внешних ключей - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть база данных с именем store. У меня есть таблица с именем users, и внутри этой таблицы user содержатся имя пользователя и пароль. Теперь есть два типа пользователей, клиент и сотрудник. Я планирую создать таблицу для клиента и сотрудника. Каков наилучший способ создания внешнего ключа для них обоих? Они оба ссылаются на пользовательскую таблицу. Это как

таблица пользователей. ИД пользователя, имя пользователя, пароль, тип пользователя?

если это тип пользователя, то возможно ли, чтобы он был varchar, таким как "customer" и "employee", и сделал его внешним ключом для обеих таблиц?

1 Ответ

0 голосов
/ 07 ноября 2018

Создайте таблицу для отображения типа пользователей с идентификатором и меткой:

UserType
--------
Id
Label

Вставьте свои данные в таблицу

INSERT INTO UserType VALUES(1, 'Customer') 
INSERT INTO UserType VALUES(2, 'Employee')

Создайте таблицу для ваших пользователей и добавьте столбец для usertype.id

User
--------
Id
Name
Password
UserTypeId

Создайте свой внешний ключ между User.UserTypeId и UserType.Id

Вставьте ваши данные в вашу таблицу пользователей

INSERT INTO User VALUES(1, 'John', 'password', 1) 
INSERT INTO User VALUES(2, 'Mike', 'password', 1) 
INSERT INTO User VALUES(3, 'Bill', 'password', 2) 
...