Файл: Курсовая Разработка базы данных для АРМ паспортиста.docx
ВУЗ: Северный (Арктический) федеральный университет имени М.В. Ломоносова
Категория: Курсовая работа
Дисциплина: Базы данных
Добавлен: 30.10.2018
Просмотров: 1949
Скачиваний: 38
Таблица 2.2 – Сущность «Супруг»
Название атрибута |
Уникальный атрибут |
Обязательный атрибут |
Примечание |
Код гражданина |
+ |
+ |
|
ФИО |
- |
+ |
|
Дата рождения |
- |
+ |
|
Сущность «Гражданин» связана с сущностью «Дети»» связью «Многие-ко-многим», потому что у каждого гражданина может быть несколько детей, а у каждого ребёнка двое родителей.
Таблица 2.3 – Сущность «Дети»
Название атрибута |
Уникальный атрибут |
Обязательный атрибут |
Примечание |
Код ребёнка |
+ |
+ |
|
ФИО |
- |
+ |
|
Дата рождения |
- |
+ |
|
Сущность «Гражданин» связана с сущностью «Паспорт» связью «Один-к-одному», потому что один и тот же гражданин может иметь только один паспорт.
Таблица 2.4 – Сущность «Паспорт»
Название атрибута |
Уникальный атрибут |
Обязательный атрибут |
Примечание |
Код Гражданина |
+ |
+ |
|
Серия |
- |
+ |
|
Номер |
- |
+ |
|
Дата выдачи |
- |
+ |
|
Код сотрудника |
- |
+ |
|
Сущность «Паспорт» связана с сущностью «Сотрудник» связью «Один-ко-многим», потому что сотрудник ПВС может выдавать множество паспортов.
Таблица 2.5 – Сущность «Сотрудник»
Название атрибута |
Уникальный атрибут |
Обязательный атрибут |
Примечание |
Код сотрудника |
+ |
+ |
|
ФИО |
- |
+ |
|
Сущность «Подразделение» связана с сущностью «Сотрудник» «Один-ко-многим», потому что в одном подразделении может работать несколько сотрудников.
Таблица 2.6 – Сущность «Подразделение»
Название атрибута |
Уникальный атрибут |
Обязательный атрибут |
Примечание |
Код подразделения |
- |
+ |
|
Наименование |
- |
+ |
|
Адрес |
- |
- |
|
Начальник |
- |
- |
|
Рисунок 2.1 – Логическая модель
2.2 Разработка физической модели
Реляционная БД создаётся на основании логической информационной модели БД. Основным элементом такой БД является таблица, в которой и находится вся информация.
При проектировании базы данных определяются требующиеся таблицы, необходимые для создания БД, pазмерность и типы данных, внешние и первичные ключи, oгpaничeниe цeлoстнocти, индексы и свойства.
Далее представлены тексты команд таблиц, созданных в СУБД MySQL, содержащие название и характеристики этих таблиц.
Таблица «Children» содержит в себе информацию о детях граждан.
CREATE TABLE Children
(
id_child INTEGER AUTO_INCREMENT,
fio_child VARCHAR(50) NOT NULL,
date_birth_child DATE NULL,
PRIMARY KEY (id_child)
);
Данная таблица соответствует сущности ИЛМ «Дети».
Таблица «Citizens» содержит в себе информацию о гражданах.
CREATE TABLE Citizens
(
id_citizen INTEGER AUTO_INCREMENT,
fio_citizen VARCHAR(50) NOT NULL,
address VARCHAR(50) NOT NULL,
tel VARCHAR(11) NULL,
date_birth DATE NOT NULL,
gender CHAR(1) NOT NULL,
birthplace VARCHAR(90) NULL,
fio_m VARCHAR(50) NULL,
fio_f VARCHAR(50) NULL,
PRIMARY KEY(id_citizen)
);
Данная таблица соответствует сущности ИЛМ «Гражданин».
Таблица «ChildrenCitizen» содержит в себе информацию о наличии детей у гражданина.
CREATE TABLE ChildrenCitizen
(
id_child INTEGER NOT NULL,
id_citizen INTEGER NOT NULL,
PRIMARY KEY(id_child,id_citizen),
FOREIGN KEY FK_10(id_child) REFERENCES Children(id_child),
FOREIGN KEY FK_11(id_citizen) REFERENCES Citizens(id_citizen)
);
Таблица «Divisions» содержит в себе информацию об подразделениях, уполномоченных выдавать паспорта.
CREATE TABLE Divisions
(
id_division INTEGER AUTO_INCREMENT,
n_division VARCHAR(50) NOT NULL,
adr_division VARCHAR(50)NOT NULL,
chief VARCHAR(50) NULL,
PRIMARY KEY (id_division)
);
Данная таблица соответствует сущности ИЛМ «Подразделение».
Таблица «Employees» содержит в себе информацию о сотрудниках выдающих паспорта.
CREATE TABLE Employees
(
id_emp INTEGER AUTO_INCREMENT,
fio_emp VARCHAR(50) NULL,
id_division INTEGER NOT NULL,
PRIMARY KEY (id_emp),
FOREIGN KEY FK_8(id_division) REFERENCES Divisions(id_division)
);
Данная таблица соответствует сущности ИЛМ «Сотрудник».
Таблица «Passports» содержит в себе информацию о паспортах.
CREATE TABLE Passports
(
seria CHAR(4)NOT NULL,
number_pass CHAR(6)NOT NULL,
date_issue DATE NOT NULL,
id_citizen INTEGER AUTO_INCREMENT,
id_emp INTEGER NOT NULL,
PRIMARY KEY (id_citizen),
FOREIGN KEY FK_5(id_citizen) REFERENCES Citizens(id_citizen),
FOREIGN KEY FK_6(id_emp) REFERENCES Employees(id_emp)
);
Данная таблица соответствует сущности ИЛМ «Паспорт».
Таблица «Spouse» содержит в себе информацию о варианте конфигурации объекта недвижимости, который желает приобрести клиент.
CREATE TABLE Spouse
(
fio_spouse VARCHAR(50) NULL,
date_birth_s DATE NULL,
id_citizen INTEGER NOT NULL,
PRIMARY KEY(id_citizen),
FOREIGN KEY FK_3(id_citizen) REFERENCES Citizens (id_citizen)
);
Данная таблица соответствует сущности ИЛМ «Супруг».
CREATE TABLE Harp_adres
(
Nomer_doma INTEGER NOT NULL ,
Nomer_kv INTEGER NULL ,
id_p INTEGER NULL ,
id_ul INTEGER NOT NULL ,
id_obj_nedv INTEGER NULL ,
id_raion INTEGER NOT NULL,
FOREIGN KEY (id_p) REFERENCES Harp_Pocupatel (id_p),
FOREIGN KEY (id_ul) REFERENCES Harp_ulica (id_ul),
FOREIGN KEY (id_obj_nedv) REFERENCES Harp_object_nedv (id_obj_nedv),
FOREIGN KEY (id_raion) REFERENCES Harp_raion (id_raion)
);
Рисунок 2.2 – Физическая модель данных