Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Схема данных  [new]
Antony GL
Member

Откуда: Рудный Алтай
Сообщений: 89
Вопрос: почему в Database Diagrams не отображается связи, созданные при помощи внешнего ключа?
Или некорректно сделана связь?

create table dbo.deps (RecordID int primary key, Departament nvarchar(50) not null unique, DepNumber int not null)

имеет отношения 1 к N в следующей таблице
create table dbo.workers (RecordID int primary key, Username nvarchar(30) not null, Fullname nvarchar(30) not null, Position nvarchar (50) not null, WorkerNumber int not null, Departament nvarchar (50) not null, Timetable nvarchar (20) not null)

связь задана следующим кодом
alter table dbo.workers 
add constraint fk_workers_deps 
foreign key (Departament) 
references dbo.deps(Departament)


И можно пример какого-либо запроса:
К примеру выбрать всех сотрудников из второй таблицы, чей отдел в первой таблице имеет порядковый номер (DepNumber) 1.

INSERT INTO dbo.deps values (1, 'Management', 1)
INSERT INTO dbo.deps values (2, 'Consulting', 2)
INSERT INTO dbo.deps values (3, 'Support Services', 3)


INSERT INTO dbo.workers values (1, 'Ivanovii', 'Ivanov I I', 'Sales person', 1, 'Management', 'Basic')
INSERT INTO dbo.workers values (2, 'Sidorovka', 'Sidorov K A', 'Consultant', 2, 'Consulting', 'Basic')
INSERT INTO dbo.workers values (3, 'Petrovra', 'Petrov R A', 'Service Engineer', 3, 'Support Services', 'Basic')
13 мар 13, 10:46    [14043880]     Ответить | Цитировать Сообщить модератору
 Re: Схема данных  [new]
Олегон
Member

Откуда: Казахстан, Алматы
Сообщений: 80
Antony GL
Вопрос: почему в Database Diagrams не отображается связи, созданные при помощи внешнего ключа?
Или некорректно сделана связь?

[/src]


А как еще таблицы могут быть связаны помимо внешнего ключа? :)
Внешний ключ либо есть, либо его нет. Некорректным он может быть только с точки зрения бизнес-логики.

Что вы видите в Database Diagrams?
13 мар 13, 10:59    [14043973]     Ответить | Цитировать Сообщить модератору
 Re: Схема данных  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Antony GL
Вопрос: почему в Database Diagrams не отображается связи, созданные при помощи внешнего ключа?

Создал ваши объекты, создал диаграмму — связь отобразилась.

Antony GL
Или некорректно сделана связь?

Корректно. Правда, обычно не делают связку по полю nvarchar(50). Это весьма широкий индекс, в вашем случае лучше бы связывать по RecordID (из таблицы deps) либо по DepNumber.

Antony GL
И можно пример какого-либо запроса:
К примеру выбрать всех сотрудников из второй таблицы, чей отдел в первой таблице имеет порядковый номер (DepNumber) 1.

SELECT w.RecordID, w.Username, w.Fullname
FROM dbo.deps d
     INNER JOIN dbo.workers w ON w.Departament = d.Departament
WHERE d.DepNumber = 1;
13 мар 13, 11:36    [14044271]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить