Как создать таблицу, используя переменное количество атрибутов? - PullRequest
0 голосов
/ 13 октября 2018

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

1 Ответ

0 голосов
/ 14 октября 2018

Вы не можете.Таблица в базе данных не может иметь переменное количество столбцов.

В подобных ситуациях вы сохраняете пользователей в одной таблице, а номер телефона - в другой таблице, связанной с таблицей пользователей черезограничение внешнего ключа:

CREATE TABLE Users
(
    id int PRIMARY KEY,
    firstName varchar(10),
    -- rest of the users details goes here
);

CREATE TABLE PhoneNumbers
(
    userId FOREIGN KEY REFERENCES Users(Id),
    PhoneNumber varchar(10) PRIMARY KEY,
    Description varchar(20) -- Home, Mobile, Office etc'
)

Таким образом, каждый пользователь может иметь 0, 1 или несколько телефонных номеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...