powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / База данных и ЕР-модель
6 сообщений из 6, страница 1 из 1
База данных и ЕР-модель
    #38844557
Rasin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Сразу скажу, я в этом деле ни-ни. Но вот сюда пишу, чтобы помоги разобраться.
Начну с того что я составил ЕР-модель для базы данных "Кадры" (это рисунок с розовыми блоками).
Потом я делал этим таблицы через запросы в 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)

Вот что я написал, не уверен в правильности. Не, не так, я уверен в присутствии ошибки, не понять только где.
Помогите пожалуйста.
...
Рейтинг: 0 / 0
База данных и ЕР-модель
    #38844558
Rasin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЕР-модель
...
Рейтинг: 0 / 0
База данных и ЕР-модель
    #38844624
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
База данных и ЕР-модель
    #38844693
JeStone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rasin
Код: sql
1.
2.
3.
4.
5.
6.
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)



Закроем для начала глаза на ошибки в SQL, что касается самих сущностей:
1. Не используй в качестве ключа атрибуты сущностей (это касается FullName у Human), добавь поле id_human.
2. Зачем ты хранишь Phone в поле int? Ты их складывать планируешь? Поменяй на текстовое поле.
3. Почему зарплата в int? А копейки у тебя не хранятся?
4. Ну и твой SQL не соответствует тому, что ты называешь ER-моделью (на рисунке связи LaborContract с Human и Post), а в коде с Human и StructuralSubdivision.

А в целом, то что у тебя на рисунке вполне имеет право на существование при условии, что один человек может работать одновременно на нескольких должностях.
...
Рейтинг: 0 / 0
База данных и ЕР-модель
    #38844694
JeStone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JeStone,

хотя замечу, что в твоем случае нет никаких ограничений на то, что на одной должности не могут работать более одного человека. Решается связью 1 к 1 между таблицами должность-контракт
...
Рейтинг: 0 / 0
База данных и ЕР-модель
    #38844730
Rasin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оно ? :)
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)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / База данных и ЕР-модель
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]