Разработка баз данных в Microsoft Visual Foxpro. Часть 1: создание структуры базы данных. Семенова И.И. - 42 стр.

UptoLike

Составители: 

41
у одного сотрудника несколько адресов, а из таблицы Сотрудники удалим
поле Связь с адресом.
Сущность Адрес (Индекс, Город, Улица, Корпус, Дом, Квартира, Та-
бельный номер).
В таблице Адрес нет ключевого поля, которое бы определяло всю за-
пись в целом, поэтому введем искусственное поле Код записи.
Сущность Адрес (Индекс, Город, Улица, Корпус, Дом, Квартира, Та-
бельный номер, Код записи).
Сущность Зарплата сотрудника (Связь с сотрудником, Дата получе-
ния зарплаты, Размер зарплаты на руки, Название статьи зарплаты, Сумма
по статье).
В таблице Сотрудники появилось поле Табельный номер, которое
однозначно определяет каждого сотрудника, поэтому на место поля Связь
с сотрудником ставим поле Табельный номер. Его отличие от поля в
таблице Сотрудники в том, что оно будет допускать ввод повторяющихся
значений, чтобы можно было в таблице Зарплата сотрудника хранить все
записи по зарплатам, относящимся к одному сотруднику.
Взглянем на пример заполнения таблицы Зарплата сотрудника
(табл.12).
Таблица 12
Пример заполнения таблицы «Зарплата сотрудника»
Табельный
номер
Дата получе-
ния зарпла-
ты
Размер зар-
платы на ру-
ки
Название
статьи зар-
платы
Сумма по
статье
1 12.10.2003 5000 Оклад 4000
1 12.10.2003 5000 Премия 500
1 12.10.2003 5000 Районный ко-
эффициент
1000
1 12.10.2003 5000 Налоги -500
2 12.10.2003 4000 Оклад 3000
2 12.10.2003 4000 Премия 400
2 12.10.2003 4000 Районный ко-
эффициент
1000
2 12.10.2003 4000 Налоги -400
В таблице наблюдается дублирование блоков данных, что противоре-
чит правилам нормализации. Оно возникает из-за того, что в одной табли-
це хранятся и итоговые сведения по зарплате, и расшифровка зарплаты по
статьям. Следовательно, нужно разбить таблицу на две: Зарплата сотруд-
ника (табл. 13) и Расшифровка по статьям (табл. 14).
PDF created with pdfFactory Pro trial version www.pdffactory.com