Смекни!
smekni.com

Разработка СУБД Оперативный учет производственной деятельности промышленного предприятия 2 (стр. 3 из 4)

Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.

Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и не одно из ее не ключевых полей не зависит функционально от любого другого не ключевого поля.


Рисунок 6.2 – Таблица данных в 1НФ

Назв. предприятия С 80 Дата открытия предприятия D10 Назв. Города C20 Назв. Типа предпр C30 Назв. Цеха C15 Кол-во рабочих N4 Дата ввода в строй D8 Дата посл реконструкции D8 Месяц С8 Кол-во изделий N6 Цена N5 Назв. Изделия C20

Представим функциональные зависимости для таблицы в 1НФ:

Название изделия
Название предприятия
Кол-во рабочих
Кол-во изделий
Дата открытия
Дата ввода в строй
Цена изделия
Дата посл. Реконстр.
Месяц выпуска изделия


6.2 Описание и обоснование полей таблиц

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

Таблица «Предприятие» (таблица 6.2.1):

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

-Ключ: первичный ключ;

-Счетчик;

-Длинное целое;

-Размер: 3;

-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.

2. Название предприятия

- Текстовое;

- Размер 80;

- Обязательное поле, так как название предприятия – это главная особенность, по которой можно различать предприятия;

- Пустых строк нет, так как не может быть предприятие без названия;

- Совпадения не допускаются, так как у двух разных предприятий не должно быть одинаковых названий;

3. Дата открытия предприятия

- Тип дата;

- Размер 10;

- Обязательное поле, так как у каждого предприятия есть дата открытия;

-Совпадения допускаются, так как разные предприятия могут быть открыты в один и тот же день;

-Маска: 00.00.0000;

-Значение по умолчанию =Date();

-Условие на значения <=Date(), так как предприятие не может открыться позже, чем в день рассмотрения его деятельности.

4. Город

-Тип длинное целое;

-Размер 2;

-Обязательное поле, так как каждое предприятие находится в каком-либо городе;

-Совпадения допускаются, так как разные предприятия могут находиться в одном городе;

-Подстановка: из таблицы «Город», поле «Название города»;

-Внешний ключ.

5. Тип

-Тип длинное целое;

-Размер 2;

-Обязательное поле, так как у каждого предприятия есть свой тип;

-Совпадения допускаются, так как разные предприятия могут иметь один и тот же тип;

-Подстановка: из таблицы «Тип», поле «Название типа»;

-Внешний ключ.

Таблица 6.2.1 «Предприятие»

Предприятие
#Код предприятия Название предприятия Дата открытия Город Тип
1 Шахтуглесервис 25.06.1956 Шахтерск Частное
2 Азовмаш 24.05.1985 Мариуполь ООО
3 Азовсталь 13.02.1991 Краматорск Государственное
4 ДМЗ 12.03.1985 Донецк ОАО

Таблица «Город» (таблица 6.2.2):

1. Код города

-Ключ: первичный ключ;

-Счетчик;

-Длинное целое;

-Размер: 3;

-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.

2. Название города

- Текстовое;

- Размер 20;

- Обязательное поле, так как город не может быть без названия;

- Пустых строк нет, так как город не может иметь пустое название;

- Совпадения не допускаются, так как разные города не могут иметь одно и то же название.

Таблица 6.2.2 «Город»

Город
#Код города Название города
1 Донецк
2 Шахтерск
3 Мариуполь
4 Краматорск

Таблица «Тип» (таблица 6.2.3):

1. Код типа

-Ключ: первичный ключ;

-Счетчик;

-Длинное целое;

-Размер: 3;

-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.

2. Название типа

- Текстовое;

- Размер 30;

- Обязательное поле, так как тип не может быть без названия;

- Пустых строк нет, так как тип не может иметь пустое название;

- Совпадения не допускаются, так как разные типы не могут иметь одно и то же название.


Таблица 6.2.3 «Тип»

Тип
#Код типа Название типа
1 Государственное
2 Частное
3 ООО
4 ОАО

Таблица «Изделие» (таблица 6.2.4):

1. Код города

-Ключ: первичный ключ;

-Счетчик;

-Длинное целое;

-Размер: 3;

-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.

2. Название изделия

- Текстовое;

- Размер 20;

- Обязательное поле, так как изделия не может быть без названия;

- Пустых строк нет, так как тип не может иметь пустое название;

- Совпадения не допускаются, так как разные изделия не могут иметь одно и то же название.

Таблица 6.2.4 «Изделие»

Изделие
#Код изделия Название изделия
1 Шайбы
2 Чайники
3 Болты
4 Бочки
5 Двигатели
6 Сковородки
7 Столы
8 Кровати
9 Компьютеры

Таблица «Цех» (таблица 6.2.5):

1. Код цеха

-Ключ: первичный ключ;

-Счетчик;

-Длинное целое;

-Размер: 3;

-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.

2. Название цеха

- Текстовое;

- Размер 15;

- Обязательное поле, так как изделия не может быть без названия;

- Пустых строк нет, так как цех не может иметь пустое название;

- Совпадения допускаются, так как разные цеха не могут иметь одно и то же название.

3. Количество рабочих

-Тип длинное целое;

-Размер 4;

-Совпадения допускаются, так как разные цеха могут иметь одинаковое число количества рабочих;

- Пустых строк нет, так как любой цех содержит рабочих;

-Условие на значение >0, так как на цеху не может быть ни одного рабочего.

4. Дата ввода в строй

-Тип дата

- Размер 10

- Обязательное поле, так как каждый цех имеет дату открытия;

-Совпадения допускаются, так как разные цеха могут в один день войти в строй;

- Маска: 00.00.0000;

-Значение по умолчанию =Date();

- Условие на значения <=Date()and<(дата последней реконструкции), так как цех не может быть введен в строй позже, чем была его реконструкция.

5. Дата последней реконструкции

-Тип дата;

- Размер 10;

- Не обязательное поле, так как цех мог еще не подлежать реконструкции;

-Совпадения допускаются, так как даты реконструкции разных цехов могут быть одинаковыми;

- Маска: 00.00.0000;

- Значение по умолчанию =Date()

- Условие на значения <=Date()and>(дата ввода в строй), так как цех не может быть отреконструирован раньше, чем он был введен в строй.

6. Предприятие

-Тип длинное целое;

-Размер 2;

-Обязательное поле, так как любой цех находится на каком-либо предприятии;

-Совпадения допускаются, так как несколько цехов могут быть на одном предприятии;

-Подстановка: из таблицы «Предприятие», поле «Название предприятия»;

-Внешний ключ.

Таблица 6.2.5 «Цех»

Цех
#Код цеха Название цеха Количество рабочих Дата ввода в строй Дата последней реконструкции Предприятие
1 Любительский 146 19.05.1999 26.03.2000 Азовсталь
7 Конечный 106 21.07.1998 29.03.2004 Азовсталь
11 Любительский 60 31.05.1996 16.04.2001 Азовмаш
13 Промежуточный 34 05.10.1995 06.08.1998 ДМЗ
15 Промежуточный 140 01.02.1986 12.07.1996 Азовмаш
24 Древний 25 03.12.1957 25.05.1959 Шахтуглесервис
25 Любительский 326 18.12.1989 26.04.1995 ДМЗ
34 Конечный 86 29.05.1973 16.11.2001 Шахтуглесервис

Таблица «Выпуск» (таблица 6.2.6):