anfiska |
можно ли в MS SQL создать связь между таблицами один к одному? |
Можно. Для этого на внешний ключ нужно наложить ограничения NOT NULL и UNIQ:
create table Entity (
e_id int primary key clustered,
e_name varchar( 10)
)
create table E_Properties (
e_id int foreign key references Entity( e_id) not null unique clustered,
value varchar( 100)
)
--Создаём сущность
insert Entity values( 1, 'apple')
--Добавляем свойство...
--Так можно:
insert E_Properties values( 1, 'red')
--Так нельзя:
insert E_Properties values( 1, 'green')
insert E_Properties values( null, 'yellow')
insert E_Properties values( 2, 'black')
select * from Entity join E_Properties on E_Properties.e_id = Entity.e_id