Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Приведем таблицу сущностей и атрибутов в первой нормальной форме (табл. 2).
Таблица 2. Атрибуты и первичные ключи сущностей в первой нормальной форме
Сущность | Первичный ключ | Атрибуты |
Договор | код_договора | код_договора код_клиента код_сотрудника дата_проката дата_оконч_дог дата_оконч_факт длительность_дог длительность_факт сумма сумма_за_сутки сумма_залога |
Состав | код_договора код_диска сумма_за_диск | |
Клиент | код_клиента | код_клиента фам_клиента имя_клиента отч_клиента тел_клиента гор_клиента ул_клиента дом_клиента корп_клиента кв_клиента серия_паспорта номер_паспорта |
Сотрудник | код_сотрудника | код_сотрудника фам_сотрудника имя_сотрудника отч_сотрудника тел_сотрудника |
Диск | код_диска, код_жанра, код_категории | код_диска название год_выпуска залог цена_сутки код_жанра жанр код_категории категория наличие |
Приведем диаграмму взаимосвязей между атрибутами сущностей в первой нормальной форме (рис. 3).

Рис.3.Диаграмма взаимосвязей между атрибутами сущностей в первой
нормальной форме
2.2.5. Приведение модели базы данных ко второй нормальной форме
Модель базы данных находится во второй нормальной форме, если для каждого ее отношения выполняются следующие условия:
- отношение находится в первой нормальной формы; все поля записи отношения функционально полно зависят от первичного ключа.
В сущностиДиск атрибуты категория, жанр зависят только от частей составного первичного ключакод_категории и код_жанра соответственно. Поэтому отношение «Диск» не находится во второй нормальной форме и его следует преобразовать, выделив из него отдельные сущности Категория и Жанр.
Приведем таблицу сущностей и атрибутов во второй нормальной форме (табл. 3).
Таблица 3.Атрибуты и первичные ключи сущностей во второй нормальной форме
Сущность | Первичный ключ | Атрибуты |
Договор | код_договора | код_договора код_клиента код_сотрудника дата_проката дата_оконч_дог дата_оконч_факт длительность_дог длительность_факт сумма сумма_за_сутки сумма_залога |
Жанр | код жанра | код_жанра код_категории жанр |
Категория | код_категории | код_категории категория |
Состав | код_договора код_диска сумма_за_диск | |
Клиент | код_клиента | код_клиента фам_клиента имя_клиента отч_клиента тел_клиента гор_клиента ул_клиента дом_клиента корп_клиента кв_клиента серия_паспорта номер_паспорта |
Сотрудник | код_сотрудника | код_сотрудника фам_сотрудника имя_сотрудника отч_сотрудника тел_сотрудника |
Диск | код_диска | код_диска код_жанра название год_выпуска залог цена_сутки наличие |
Приведем диаграмму взаимосвязей между атрибутами сущностей во второй нормальной форме (рис. 4).

Рис.4. Диаграмма взаимосвязей между атрибутами сущностей во второй нормальной форме
2.2.6. Приведение модели базы данных к третьей нормальной форме
Модель базы данных находится во второй нормальной форме, если для каждого ее отношения выполняются следующие условия:
- отношение находится во второй нормальной формы; внутри каждогоотношения отсутствуют транзитивные зависимости.
В сущностиДиск атрибут цена_сутки зависит от атрибута залог этой же сущности и составляет 10% от величины залога (согласно описанию предметной области). Поэтому удалим данный атрибут из сущности, создав на форме поле, вычисляемое по формуле:
Цена_сутки=0.1*залог, (1)
где дата_оконч_дог, дата_проката – поля сущности Договор.
В сущностиДоговор атрибут длительность_дог зависит от атрибутов дата_проката и дата_оконч_дог этой же сущности. Поэтому удалим данный атрибут из сущности, создав на форме поле, вычисляемое по формуле:
Длительность_проката=дата_оконч_дог–дата_проката, (2)
где дата_оконч_дог, дата_проката – поля сущности Договор.
В сущностиДоговор атрибут длительность_факт зависит от атрибутов дата_проката и дата_оконч_факт этой же сущности. Поэтому удалим данный атрибут из сущности, создав на форме поле, вычисляемое по формуле:
Длительность_проката (факт)=дата_оконч_факт–дата_проката, (3)
где дата_оконч_факт, дата_проката – поля сущности Договор.
В сущностиДоговор атрибут сумма_за_сутки зависит от атрибута сумма_залога этой же сущности. Поэтому удалим данный атрибут из сущности, создав на форме поле, вычисляемое по формуле:
Сумма_за_сутки=0.1*Сумма_залога, (4)
где дата_оконч_факт, дата_проката – поля сущности «Договор».
В сущностиДоговор атрибут «сумма» зависит от атрибутов сумма_за_сутки, дата_оконч_дог, дата_проката и сумма_залога этой же сущности. Поэтому удалим данный атрибут из сущности, создав на форме поле, вычисляемое по формуле:
Сумма=сумма_за_сутки*(дата_оконч_дог–дата_проката)+сумма_залога=
=0.1*Сумма_залога*(дата_оконч_дог–дата_проката)+сумма_залога, (5)
гдедата_оконч_дог, дата_проката и сумма_залога – поля сущности Договор.
В сущностиСостав отсутствует первичный ключ, и транзитивная зависимость вызвана наличием вычисляемого атрибута сумма_за_диск, поэтому удалим данное поле из сущности, создав на форме поле, вычисляемое по формуле:
Сумма_за_диск=залог+цена_сутки*(дата_оконч_дог – дата_проката), (6)
где залог, цена_сутки – поля сущности Диски, дата_оконч_дог, дата_проката – поля сущности Договор.
Приведем таблицу сущностей и атрибутов в соответствии с требованиями третьей нормальной формы (табл. 4).
Таблица 4. Атрибуты и первичные ключи сущностей в третьей нормальной форме
Сущность | Первичный ключ | Атрибуты |
Договор | код_договора | код_договора код_клиента код_сотрудника дата_проката дата_оконч_дог дата_оконч_факт сумма_залога |
Состав | код_договора код_диска | |
Клиент | код_клиента | код_клиента фам_клиента имя_клиента отч_клиента тел_клиента гор_клиента ул_клиента дом_клиента корп_клиента кв_клиента серия_паспорта номер_паспорта |
Сотрудник | код_сотрудника | код_сотрудника фам_сотрудника имя_сотрудника отч_сотрудника тел_сотрудника |
Жанр | код жанра | код_жанра код_категории жанр |
Диск | код_диска | код_диска код_жанра название год_выпуска залог наличие |
Категория | код_категории | код_категории категория |
Приведем диаграмму взаимосвязей между атрибутами сущностей в третьей нормальной форме.

Рис.5. Диаграмма взаимосвязей между атрибутами сущностей в третьей нормальной форме
2.3.Физическое проектирование базы данных
На данном этапе используются понятия используемой для реализации системы управления базой данных (MSVisualFoxPro 9.0). В частности, речь идет об именах полей таблиц, типах данных и размерах полей.
2.3.1. Физическое описание модели базы данных
Для реализации автоматизированной системы учета дисков в DVD-прокате разработана база данных, состоящая из 7 таблиц.
Таблица 5. Таблица Cостав (sostav. dbf)
Имя поля | Тип поля | Размер поля | Содержание |
kod_pr | Integer | 4 | код_договора |
kod_dis | Integer | 4 | код_диска |
Таблица 6. Таблица Сотрудник (sotr. dbf)
Имя поля | Тип поля | Размер поля | Содержание |
kod_sotr | Integer(AutoInc) | 4 | код_сотрудника |
fam_sotr | Character | 25 | фам_сотрудника |
im_sotr | Character | 25 | имя_сотрудника |
ot_sotr | Character | 25 | отч_сотрудника |
tel_sotr | Character | 131 | тел_сотрудника |
Таблица 7. Таблица Договор (prokat. dbf)
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |


