|
|
|
База данных и ЕР-модель
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Сразу скажу, я в этом деле ни-ни. Но вот сюда пишу, чтобы помоги разобраться. Начну с того что я составил ЕР-модель для базы данных "Кадры" (это рисунок с розовыми блоками). Потом я делал этим таблицы через запросы в SQL. Не знаю почему я выбрал этот путь, но так уж сложилось CREATE DATABASE Staff1 use Staff CREATE TABLE StructuralSubdivision (idSubdivision int primary key, NameSubdivision nvarchar(MAX)) CREATE TABLE Post ( idSubdivision int foreign key references StructuralSubdivision (idSubdivision),idPost int, JobTitle nvarchar(MAX)) CREATE TABLE Human ( FullName nvarchar(MAX) primary key, FamilyComposition nvarchar(MAX), LengthOfService int, DateOfBirth date, PlaceOfresidence nvarchar(MAX), Phone int) CREATE TABLE LaborContract (FullName nvarchar(MAX) foreign key references Human (FullNamef),idSubdivision int foreign key references StructuralSubdivision (idSubdivision) DateOfDrawing date, DateOfAdoption date, Salary int) Вот что я написал, не уверен в правильности. Не, не так, я уверен в присутствии ошибки, не понять только где. Помогите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2014, 19:32 |
|
||
|
База данных и ЕР-модель
|
|||
|---|---|---|---|
|
#18+
ЕР-модель ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2014, 19:37 |
|
||
|
База данных и ЕР-модель
|
|||
|---|---|---|---|
|
#18+
Rasin Код: sql 1. 2. 3. 4. 5. 6. Закроем для начала глаза на ошибки в SQL, что касается самих сущностей: 1. Не используй в качестве ключа атрибуты сущностей (это касается FullName у Human), добавь поле id_human. 2. Зачем ты хранишь Phone в поле int? Ты их складывать планируешь? Поменяй на текстовое поле. 3. Почему зарплата в int? А копейки у тебя не хранятся? 4. Ну и твой SQL не соответствует тому, что ты называешь ER-моделью (на рисунке связи LaborContract с Human и Post), а в коде с Human и StructuralSubdivision. А в целом, то что у тебя на рисунке вполне имеет право на существование при условии, что один человек может работать одновременно на нескольких должностях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 09:58 |
|
||
|
База данных и ЕР-модель
|
|||
|---|---|---|---|
|
#18+
JeStone, хотя замечу, что в твоем случае нет никаких ограничений на то, что на одной должности не могут работать более одного человека. Решается связью 1 к 1 между таблицами должность-контракт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 09:59 |
|
||
|
База данных и ЕР-модель
|
|||
|---|---|---|---|
|
#18+
Оно ? :) CREATE DATABASE Staff1 use Staff CREATE TABLE StructuralSubdivision (idSubdivision int primary key, nameSubdivision nvarchar(MAX) not null) CREATE TABLE Post (idPost int primary key, idSubdivision int foreign key references StructuralSubdivision (idSubdivision) not null, jobTitle nvarchar(MAX) not null) CREATE TABLE Human (idHuman int primary key, fullName nvarchar(MAX) not null,familyComposition nvarchar(MAX) not null, lengthOfService int not null, dateOfBirth date not null, placeOfresidence nvarchar(MAX) not null, Phone nvarchar(MAX) not null) CREATE TABLE LaborContract ( idHuman int foreign key references Human (idHuman) not null, idPost int foreign key references Post (idPost) not null, dateOfDrawing date not null, dateOfAdoption date not null, salary int not null) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 12:26 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=24&tid=1540695]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 153ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...