Ответ 1
Вам нужно поставить unique key constraint on top of the foreign key
, поэтому его ограничить одним отношением.
Кто-нибудь знает, как создать отношения "один-к-одному" из диаграммы базы данных SQL Server?
Вам нужно поставить unique key constraint on top of the foreign key
, поэтому его ограничить одним отношением.
Предполагая, что вы используете Sql Server 2008 и SSMS.
Как только вы снова нажмете O.K еще раз, SSMS Designer покажет ключ к ключевому соотношению между задействованными таблицами. Это одноразовое отношение. Прочитайте как, одна запись в одной таблице напрямую связана с другой записью в другой таблице.
i.e A ResolutionsTable - 1:1 - Типы разрешений Прочитайте, как одна резолюция применяется к одному типу разрешения, то есть к делу закрытому или к делу, к изменению дела в ожидании, в случае отказа? Конечно, у людей разные навыки проектирования БД, поэтому работа для одного может не работать для другого разработчика db. Тем не менее, этот пример достаточно ясен, чтобы понять.
Надеюсь, это поможет любому синтаксису синтаксиса, отличному от SQL, как я, который предпочитает строить всю базу данных с помощью функции диаграммы базы данных SQL.
если ваша таблица создана таким образом,
CREATE TABLE tableName ( id INT NOT NULL IDENTITY(1,1) CONSTRAINT[PK:tableName] PRIMARY KEY(id) , fkId INT NOT NULL CONSTRAINT[FK:tableName:tableFk] FOREIGN KEY(fkId) REFERENCES tableFk(id) ) CREATE TABLE tableFk ( id INT NOT NULL IDENTITY(1,1) CONSTRAINT[PK:tableFk] PRIMARY KEY(id) )
вы можете изменить имя таблицы с помощью этого кода, чтобы установить tableName.fkId как уникальный
ALTER TABLE tableName ADD UNIQUE (fkId)
Вы можете легко использовать MSSQL Management Studio.
ie
table_user
UID (рк) имя пользователя электронная почта
table_profile
PID (рк) f_name l_name user_id (fk)
затем следуйте этому примеру,
4 Выберите "Добавить" (из окна "Индексы/ключи", он добавит новое имя)
5 В разделе "Общий раздел" выберите "Столбцы", а затем выберите "user_id"
6 В разделе "Общий раздел" установите "Уникально" как истинный
7 В разделе "Identity" укажите имя (Name). в этом случае я дам UK_user_id_profile
8 после всех этих шагов, закройте окно "Индексы/ключи"
9 Перетащите "uid" (из таблицы пользователя) в "user_id" (из таблицы профилей)
Вот и все.
Теория этого внешнего ключа должна быть уникальной.
Вам нужно поставить уникальное ограничение ключа поверх внешнего ключа, поэтому его ограничивается одним отношением.
Вот что сказал Азам в своем посте.
[В случае, я использую MSSQL 2012]
Приветствия.
Я считаю, что вопрос был конкретно о том, как создать отношение "один к одному" в окне "Диаграмма диалогов SQL Server Management Studios". У меня есть процедура, в которой вы можете создать отношение "один к одному" в диаграмме базы данных SQL Server Management Studio.
Вы закончили!
Это очень просто, когда вы используете следующее:
ALTER TABLE [Salary]
ADD CONSTRAINT FK_Salary_Employee FOREIGN KEY([EmployeeID])
REFERENCES [Employee]([ID]);
Это должно сработать !!!