Создать базу данных «Квартплата». В базе данных хранятся сведения о квартиросъемщике (номер паспорта, ФИО, адрес, площадь, количество проживающих, наличие льгот), о потреблении (номер квитанции, год, месяц, вид платежа, дата оплаты, размер оплаты), о тарифах на одного человека (год, месяц, вид платежа). Квартиросъемщик оплачивает квартплату ежемесячно, тарифы могут меняться многократно.
Логическая модель базы данных
На рисунке 1 изображена логическая модель БД «Квартплата», построенная с помощью ERwin Data Modeler.
Рисунок 1 – Логическая модель
нормализация
Первая нормальная форма (1НФ).Все отношения построенной модели находятся в 1НФ так как значения их атрибутов атомарны.
Вторая нормальная форма (2НФ).Отношения «Квартиросъемщик», «Адрес», «Тип платежа» находятся во 2НФ, так как не имеют составных ключей. Отношение «Квитанция» находится во 2НФ, т.к. атрибуты «Дата оплаты», «Размер оплаты» и «ФИО» не зависят от частей составного ключа: «Номер квитанции», «Год», «Месяц», «id_типа_платежа». Отношение «Тарифы на одного человека» находится во 2НФ, т.к. атрибут «Размер платежа» не зависят от частей составного ключа: «Год», «Месяц», «id_типа_платежа».
Третья нормальная форма (3НФ).Отношение«Тип платежа»находится в 3НФ т.к. имеет меньше трех атрибутов. Рассмотрим оставшиеся отношения.
Отношение находится в 3НФ так как в нем отсутствует транзитивная функциональная зависимость атрибутов не входящих в ключ от ключа. Аналогично проведен анализ следующих отношений: «Квитанция», «Тарифы на одного человека», «Адрес».
Следовательно, весь состав отношений находится в 3НФ.
Физическая модель базы данных
Рисунок 2 – Физическая модель
СХЕМА ДАННЫХ В СУБД foxpro 9.0
Рисунок 3 – Схема данных
В таблицах 1 – 7 раскрываются используемые в таблицах индексы.