Начало » Использование СУБД » Microsoft SQL Server » SQL server база данных (Проблема с темой первичных и внешних ключей)
SQL server база данных [сообщение #1584] |
Fri, 10 February 2023 12:55 |
Rinat25178
Сообщений: 4 Зарегистрирован: February 2023
|
Junior Member |
|
|
Добрый день, у меня проблема я создаю базу данных для портфолио и хочу сделать это так что бы это выглядело нормально и адекватно, моя проблема заключается в том что сослаться на таблицу необходимо ссылаться на первичный ключ или уникальность но уникальность не могу использовать так как в следующей таблице у меня будет ругаться я смогу использовать значение только один раз. Например у меня есть ад должности который должен быть ключём и название должности которое мне надо будет отдать в таблицу для того что бы указать кто этот человек, но я не могу задать ему айди так как SQL ругается на инт с датой (несовместимость), вопрос такой будет ли целесообразно создать две таблицы с одним столбцом чтобы задать первичный ключ на должность и ещё на кое что мне надо подскажите пожалуйста.
|
|
|
|
|
|
Re: SQL server база данных [сообщение #1589 является ответом на сообщение #1587] |
Fri, 10 February 2023 17:20 |
BlackEric
Сообщений: 368 Зарегистрирован: June 2022
|
Senior Member |
|
|
Тут бы по теории бд что-то почитать.
Если вкратце:
1. Есть таблица Users (ID, Name). Вот в ней ID должен быть уникален.
2. Делаем таблицу Phones (ID, UserID, PhoneNumber). В ней ID тоже уникален, но это ее ID, а к пользователю она привязывается через поле UserID. И этот UserID в таблице Phones уже не уникален. Это просто внешний ключ на таблицу Users.
А для избежания дублирования телефонов у одного юзера можно сделать уникальный индекс по полям UserID, PhoneNumber.
[Обновления: Fri, 10 February 2023 18:59] Известить модератора
|
|
|
|
|
Переход к форуму:
Текущее время: Sun Dec 22 08:48:41 GMT+3 2024
Общее время, затраченное на создание страницы: 0.00796 секунд
|