Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IT_pasha_2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
110.59 Кб
Скачать

3.3 Приведение к 3нф

Так как транзитивных зависимостей нет, то 2 НФ является и 3 НФ.

Таким образом, получаем 6 таблиц, представленных на рисунке 3:

Рисунок 3. Приведение к 2-3НФ.

4. Проектирование таблиц Сотрудник

Поле

Тип

Пояснение

№ паспорта

Number(10,0)

PRIMARY KEY

ФИО

Varchar2(40)

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

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

Date

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

Код города

Number(4,0)

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

Адрес

Varchar2(40)

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

Домашний телефон

Number(10,0)

10 цифр код города и номер телефона

Почтовый индекс

Number(6,0)

6 цифр индекс почтового отделения

Пояснения

№ паспорта - Используем тип числовой, т. к. № паспорта – это совокупность цифр

ФИО - Используем символьный тип, потому что имя, фамилия, отчество – состоят из букв

Дата рождения - Используем тип дата, потому что дата рождения – это совокупность дня, месяца и года

Код города - Используем числовой тип, т.к. код будем задавать числом

Адрес - Используем символьный тип, потому что адрес содержит буквы

Домашний телефон - Используем числовой тип, т.к. № телефона – это совокупность чисел

Почтовый индекс - Используем числовой тип, т.к. индекс – это совокупность чисел

Работа

Поле

Тип

Условие

№ паспорта

Number(10,0)

PRIMARY KEY

Код предприятия

Number(4,0)

PRIMARY KEY

Должность

Varchar2(40)

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

Дата найма

Date

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

Дата увольнения

Date

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

Пояснения

№ паспорта - Используем тип числовой, т. к. № паспорта – это совокупность цифр

Код предприятия - Используем числовой тип, т.к. код будем задавать числом

Должность - Используем символьный тип, потому что название должности – это совокупность букв

Дата найма - Используем тип дата, потому что дата – это совокупность дня, месяца и года

Дата увольнения - Используем тип дата, потому что дата – это совокупность дня, месяца и года

Образование

Поле

Тип

Пояснение

№ паспорта

Number(10,0)

PRIMARY KEY

Код учебного заведения

Number(4,0)

PRIMARY KEY

Начало учебы

Date

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

Окончание учебы

Date

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

Специальность

Varchar2(40)

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

Квалификация

Varchar2(40)

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

Пояснения

№ паспорта - Используем тип числовой, т. к. № паспорта – это совокупность цифр

Код учебного заведения - Используем числовой тип, т.к. код будем задавать числом

Начало учебы - Используем тип дата, потому что дата – это совокупность дня, месяца и года

Окончание учебы - Используем тип дата, потому что дата – это совокупность дня, месяца и года

Специальность - Используем символьный тип, потому что название специальности – это совокупность букв

Квалификация - Используем символьный тип, потому что название квалификации – это совокупность букв

Предприятие

Поле

Тип

Пояснение

Код предприятия

Number(4,0)

PRIMARY KEY

Предприятие

Varchar2(40)

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

Адрес предприятия

Varchar2(40)

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

Код города

Number(4,0)

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

Пояснения

Код предприятия - Используем числовой тип, т.к. код будем задавать числом

Предприятие - Используем символьный тип, потому что название предприятия – это совокупность букв

Адрес предприятия - Используем символьный тип, потому что адрес содержит буквы

Код города - Используем числовой тип, т.к. код будем задавать числом

Учебное заведение

Поле

Тип

Пояснение

Код учебного заведения

Number(4,0)

PRIMARY KEY

Учебное заведение

Varchar2(40)

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

Адрес учебного заведения

Varchar2(40)

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

Код города

Number(4,0)

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

Города

Поле

Тип

Пояснение

Код города

Number(4,0)

PRIMARY KEY

Республика

Varchar2(40)

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

Область

Varchar2(40)

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

Населенный пункт

Varchar2(40)

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

Код города - Используем числовой тип, т.к. код будем задавать числом

Республика - Используем символьный тип, потому что название республики – это совокупность букв

Область - Используем символьный тип, потому что название области – это совокупность букв

Населенный пункт - Используем символьный тип, потому что населенного пункта – это совокупность букв

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]