Файл: Курсовая Разработка базы данных для АРМ паспортиста.docx

Добавлен: 30.10.2018

Просмотров: 1628

Скачиваний: 33

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Таблица 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 – Физическая модель данных