Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД курсач.docx
Скачиваний:
76
Добавлен:
08.02.2015
Размер:
329.67 Кб
Скачать

4.4 Нормализация полученных отношений(до 4нф)

1НФ.

Для приведения таблиц к 1НФ требуется составить прямоугольные таблицы (одно значение атрибута – одна ячейка таблицы) и разбить сложные атрибуты на простые.

Разделим атрибут Адрес (регистрации и фактический) на атрибуты: индекс, область, район, город (или поселение, деревня), дом, строение, квартира;

Разделим атрибут Место рождения на атрибуты: индекс, область, район, город (или поселение, деревня);

Разделим атрибут Работа на атрибуты: город, компания, название офиса;

Разделим атрибут ФИО должностного лица, Застрахованного, Страхователя, Выгодоприобретателя на: Фамилия, Имя, Отчество;

Разделим атрибут Должность представителя СК на: Номер подразделения, название должности, рабочий кабинет;

2НФ.

В нашем случае составные первичные ключи отсутствуют.

3НФ.

В отношениях Страховщик, Страхователь, Вложения, Выплаты, Застрахованный, Выгодоприобретатель транзитивные зависимости отсутствуют.

4НФ.

Отношения Страховщик, Застрахованный, Страховые расчеты, Страхователь, Выгодоприобретатель, Вложения, Выплаты, Доля выплат не нарушают 4НФ.

Отношение Полис содержит многозначную зависимость – Представитель СК, Должность представителя СК от ID полиса (серии и номера), так одним полисом могут заниматься несколько человек (оформление, бухгалтерия и так далее).

В результате выделения должности сотрудника – в новой таблице появится транзитивная зависимость Полис =>Представитель СК =>Должность представителя СК. В данном случае вернемся к 3НФ и разобьем таблицу Представителей СК на 2: Представитель СК, Сотрудники

Получили:

Таблица Страховщик – InsurerOrg

Содержание поля

Имя поля

Тип (Длина)

Примечания

Наименование

Name

V(30)

Обязательное поле

ИНН

INN

V(12)

От 10 до 12 знаков – Обязательное поле

БИК

BIK

С(9)

Первичный ключ

К/с

Ks

V(20)

Обязательное поле

КПП

Kpp

С(9)

Обязательное поле

Расчетный счет

Schet

V(20)

Обязательное поле

Индекс

Index_ad

C(6)

Обязательное поле

Область (республика, край)

Area_ad

V(20)

Обязательное поле

Район

Region_ad

V(20)

Обязательное поле

Город (поселение, деревня)

Town_ad

V(20)

Обязательное поле

Дом

House_ad

V(10)

Обязательное поле

Строение

Building_ad

V(10)

Обязательное поле (если нет – то «пусто» по умолчанию)

Квартира

Flat_ad

V(5)

Обязательное поле (если нет – то «пусто» по умолчанию)

Таблица Страхователь – Insurer

Содержание поля

Имя поля

Тип (Длина)

Примечания

Фамилия

Surname

V(15)

Обязательное поле

Имя

FirstName

V(15)

Обязательное поле

Отчество

Patronimic

V(15)

Обязательное поле

Серия паспорта

Номер паспорта

Pass

C(10)

Первичный ключ

Кем и когда выдан паспорт

WhoPass

V(50)

Обязательное поле

Дата рождения

Birthdate

D

Обязательное поле

Индекс места рождения

Index_Birth

C(6)

Обязательное поле

Область (республика, край) места рождения

Area_Birth

V(20)

Обязательное поле

Район места рождения

Region_Birth

V(20)

Обязательное поле

Город (поселение, деревня) места рождения

Town_Birth

V(20)

Обязательное поле

Профессия

Prof

V(20)

Не обязательное поле

Пол

Sex

C(1)

Либо «м», либо «ж», обязательное поле

Работа

WorkCurr

V(100)

Обязательное поле

Телефон

Phone

V(20)

Обязательное поле

E-mail

Mail

V(30)

Необязательное поле

Индекс регистрации

Index_reg

C(6)

Обязательное поле

Область (республика, край) регистрации

Area_reg

V(20)

Обязательное поле

Район регистрации

Region_ reg

V(20)

Обязательное поле

Город (поселение, деревня) регистрации

Town_ reg

V(20)

Обязательное поле

Дом регистрации

House_reg

V(10)

Обязательное поле

Строение регистрации

Building_reg

V(10)

Обязательное поле (если нет – то «пусто» по умолчанию)

Квартира регистрации

Flat_reg

V(5)

Обязательное поле (если нет – то «пусто» по умолчанию)

Индекс фактический

Index_fact

C(6)

Обязательное поле

Область (республика, край) фактическая

Area_ fact

V(20)

Обязательное поле

Район фактический

Region_ fact

V(20)

Обязательное поле

Город (поселение, деревня) фактический

Town_ fact

V(20)

Обязательное поле

Дом фактический

House_ fact

V(10)

Обязательное поле

Строение фактическое

Building_ fact

V(10)

Обязательное поле (если нет – то «пусто» по умолчанию)

Квартира фактическая

Flat_ fact

V(5)

Обязательное поле (если нет – то «пусто» по умолчанию)

Судимости

Conviction

C(3)

Либо «да», либо «нет»

Полис – Policy

Содержание поля

Имя поля

Тип (Длина)

Примечания

Серия

Номер

Number

C(25)

Первичный ключ

Дата оформления

DateAcceptation

D

Обязательное поле

Начало действия

EffectiveDate

D

Обязательное поле

Конец действия

ExpirationDate

D

Обязательное поле

Статус

Stat

V(20)

«Выплаты использованы», «Выплаты пока не пригодились», Обязательное поле

Вид страхования

TypeIns

V(30)

Значения «travel», «life», «student», «home»

БИК страховщика

BIK_SK

C(9)

Внешний ключ

Серия, номер паспорта страхователя

PassR

C(10)

Внешний ключ

Серия, номер паспорта Застрахованного

PassD

C(10)

Внешний ключ

Сумма

SumPolicy

FLOAT Unsigned (20)

Обязательное поле

Представитель СК – Work_policy

Серия, номер Полиса

SerNum

C(25)

Внешний ключ

Уникальный id пропуска

Id

C(16)

Внешний ключ

Сотрудники СК – worker_SK

Фамилия

Surname

V(15)

Обязательные поля

Имя

FirstName

V(15)

Отчество

Patronimic

V(15)

Должность

Work_dep

V(30)

Обязательное поле

Уникальный пропуска

Id

С(16)

Первичный ключ

Вложения – put_money

Содержание поля

Имя поля

Тип (Длина)

Примечания

Страховой взнос

Fee

FLOAT Unsigned (20)

Обязательное поле

Серия, номер полиса

NumberSer

C(25)

Внешний ключ

Выплаты - Payment

Содержание поля

Имя поля

Тип (Длина)

Примечания

Серия, номер полиса

NumberSer

C(25)

Внешний ключ

Признак адресата

WhoPay

C(1)

По умолчанию “I”, варианты “I/B”

Выплаты по смерти

PaymentDeath

FLOAT Unsigned (20)

Обязательное поле

Выплаты по дожитию

PaymentSurv

FLOAT Unsigned (20)

Обязательное поле

Застрахованный – Insured

Содержание поля

Имя поля

Тип (Длина)

Примечания

Фамилия

Surname

V(15)

Обязательное поле

Имя

FirstName

V(15)

Обязательное поле

Отчество

Patronimic

V(15)

Обязательное поле

Серия паспорта

Номер паспорта

Pass

C(10)

Первичный ключ

Кем и когда выдан паспорт

WhoPass

V(50)

Обязательное поле

Дата рождения

Birthdate

D

Обязательное поле

Индекс места рождения

Index_Birth

C(6)

Обязательное поле

Область (республика, край) места рождения

Area_Birth

V(20)

Обязательное поле

Район места рождения

Region_Birth

V(20)

Обязательное поле

Город (поселение, деревня) места рождения

Town_Birth

V(20)

Обязательное поле

Профессия

Prof

V(20)

Не обязательное поле

Пол

Sex

C(1)

Либо «м», либо «ж», обязательное поле

Работа

WorkCurr

V(100)

Обязательное поле

Телефон

Phone

V(20)

Обязательное поле

E-mail

Mail

V(30)

Необязательное поле

Индекс регистрации

Index_reg

C(6)

Обязательное поле

Область (республика, край) регистрации

Area_reg

V(20)

Обязательное поле

Район регистрации

Region_ reg

V(20)

Обязательное поле

Город (поселение, деревня) регистрации

Town_ reg

V(20)

Обязательное поле

Дом регистрации

House_reg

V(10)

Обязательное поле

Строение регистрации

Building_reg

V(10)

Обязательное поле (если нет – то «пусто» по умолчанию)

Квартира регистрации

Flat_reg

V(5)

Обязательное поле (если нет – то «пусто» по умолчанию)

Индекс фактический

Index_fact

C(6)

Обязательное поле

Область (республика, край) фактическая

Area_ fact

V(20)

Обязательное поле

Район фактический

Region_ fact

V(20)

Обязательное поле

Город (поселение, деревня) фактический

Town_ fact

V(20)

Обязательное поле

Дом фактический

House_ fact

V(10)

Обязательное поле

Строение фактическое

Building_ fact

V(10)

Обязательное поле (если нет – то «пусто» по умолчанию)

Квартира фактическая

Flat_ fact

V(5)

Обязательное поле (если нет – то «пусто» по умолчанию)

Судимости

Conviction

C(3)

Либо «да», либо «нет»

Выгодоприобретатель - Beneficiary

Содержание поля

Имя поля

Тип (Длина)

Примечания

Фамилия

Surname

V(15)

Обязательное поле

Имя

FirstName

V(15)

Обязательное поле

Отчество

Patronimic

V(15)

Обязательное поле

Серия паспорта

Номер паспорта

Pass

C(10)

Первичный ключ

Кем и когда выдан паспорт

WhoPass

V(50)

Обязательное поле

Дата рождения

Birthdate

D

Обязательное поле

Индекс места рождения

Index_Birth

C(6)

Обязательное поле

Область (республика, край) места рождения

Area_Birth

V(20)

Обязательное поле

Район места рождения

Region_Birth

V(20)

Обязательное поле

Город (поселение, деревня) места рождения

Town_Birth

V(20)

Обязательное поле

Профессия

Prof

V(20)

Не обязательное поле

Пол

Sex

C(1)

Либо «м», либо «ж», обязательное поле

Работа

WorkCurr

V(100)

Обязательное поле

Телефон

Phone

V(20)

Обязательное поле

E-mail

Mail

V(30)

Необязательное поле

Индекс регистрации

Index_reg

C(6)

Обязательное поле

Область (республика, край) регистрации

Area_reg

V(20)

Обязательное поле

Район регистрации

Region_ reg

V(20)

Обязательное поле

Город (поселение, деревня) регистрации

Town_ reg

V(20)

Обязательное поле

Дом регистрации

House_reg

V(10)

Обязательное поле

Строение регистрации

Building_reg

V(10)

Обязательное поле (если нет – то «пусто» по умолчанию)

Квартира регистрации

Flat_reg

V(5)

Обязательное поле (если нет – то «пусто» по умолчанию)

Индекс фактический

Index_fact

C(6)

Обязательное поле

Область (республика, край) фактическая

Area_ fact

V(20)

Обязательное поле

Район фактический

Region_ fact

V(20)

Обязательное поле

Город (поселение, деревня) фактический

Town_ fact

V(20)

Обязательное поле

Дом фактический

House_ fact

V(10)

Обязательное поле

Строение фактическое

Building_ fact

V(10)

Обязательное поле (если нет – то «пусто» по умолчанию)

Квартира фактическая

Flat_ fact

V(5)

Обязательное поле (если нет – то «пусто» по умолчанию)

Судимости

Conviction

C(3)

Либо «да», либо «нет»

Тип

Type_Ben

V(5)

«Surv» или «Death»

Серия, номер полиса

NumberSer

C(25)

Внешний ключ

Доля выплат

Percent

Float unsigned(6)

Обязательное поле

4.5 Схема реляционной базы данных, полученная в результате нормализации отношений:

Страховщик

Страхователь

Полис

Представитель СК

Вложения

Выплаты

Сотрудники СК

Застрахованный

Выгодоприобретатель