База данный «Хозяйственный учет футбольного клуба»
Данная задача будет решаться с помощью анализа предметной области, ее формализации с помощью функциональных зависимостей. Затем необходимо провести этапы минимизации системы функциональных зависимостей, описывающих предметную область, и на основании полученной редуцированной системы спроектировать требуемую модель базы данных. Периодически футбольный клуб закупает необходимый спортивный… Читать ещё >
База данный «Хозяйственный учет футбольного клуба» (реферат, курсовая, диплом, контрольная)
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования
‹‹Курский государственный технический университет››
Кафедра программного обеспечения вычислительной техники КУРСОВАЯ РАБОТА по дисциплине ‹‹Базы данных››
на тему ‹‹Хозяйственный учет футбольного клуба››
Специальность 230 105 Программное обеспечение вычислительной техники и автоматизированных систем
Авторы работы _______________________
(инициалы, фамилия) (подпись, дата) Группа ПО — 71
Руководитель работы В. Г. Белов ______________________
(инициалы, фамилия) (подпись, дата) Работа защищена __________________
(дата) Оценка____________________
Председатель комиссии
______________________ ______________________
(инициалы, фамилия) (подпись, дата) Члены комиссии
________________________ _________________________
(инициалы, фамилия) (подпись, дата) Курск, 2010 г.
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования
‹‹Курский государственный технический университет››
Кафедра программного обеспечения вычислительной техники ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ Студент шифр 347 011 группа ПО — 71
1. Тема Хозяйственный учет футбольного клуба
2. Срок предоставления работы (проекта) к защите ‹‹ ›› 2010 г
3. Исходные данные Неформальное описание предметной области и документы, которые в ней используются
4. Содержание пояснительно записки курсовой работы
- Введение
- 1 Техническое задание
- 1.1 Основание для разработки
- 1.2 Назначение разработки
- 1.3 Стандарты
- 1.4 Требования к программе или программному изделию
- 1.4.2 Носители информации
- 1.4.3 Требования к составу и параметрам технических средств
- 2 Технический проект
- 2.1 Описание предметной области
- 2.2 Словарь понятий и терминов
- 2.3 Определение функциональных зависимостей
- 2.4 Синтез схемы базы данных на основании функциональных зависимостей
- 2.4.1 Построение неизбыточного покрытия
- 2.4.2 Построение леворедуцированного покрытия
- 2.4.3 Построение праворедуцированного покрытия
- 2.4.4 Построение классов эквивалентности
- 2.4.5 Построение редуцированного минимального кольцевого покрытия
- 2.5 ER-схема базы данных
- 2.6 Построение запросов на SQL
- 2.6.1 Построение первого запроса
- 3 Рабочий проект
- 3.1 Связи таблиц
- 3.2 Внешний вид формы
- 3.3 Функциональные тесты
- 3.3.1 Тест 1
- Заключение
- Список использованных источников
- Приложение А
- Приложение Б
- Реферат
- Объем данного курсового проекта равен 56 страницам. В курсовом проекте содержится два приложения, в которых приведены ER-схемы базы данных, код программы. Также в КП содержится постановка задачи.
- Ключевые слова:
- База данных, ER-схема, сущность, атрибут, ключ, связь, функциональная зависимость, система функциональных зависимостей.
- Объект разработки:
- Объектом исследования в данной работе является проектирование базы данных в соответствии с заданным вариантом.
- Цель работы:
- Спроектировать базу данных «Хозяйственный учет футбольного клуба».
- Метод проведения работы:
- Использование ER-диаграмм, минимизация зависимостей, построение запросов.
- Summary
- This termpaper contains 56 pages. It contains two enclosures, which contain ER-diagrams. Also it contains target setting.
- Object of development is design of the database according to specified variant.
- The aim of work is design of the database, describing «the Economic account of football club «.
- It is necessary to make ER-diagram, to minimize functional dependences, to write and minimize SQL queries.
- Определения
- В данной работе применены следующие термины с соответствующими определениями:
- база данных: Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД.
- er-диаграмма: Схема базы данных, спроектированная с помощью программы ERWin.
- сущность: Любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных.
- атрибут: Поименованная характеристика сущности.
- ключ: Минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности.
- связь: Ассоциирование двух или более сущностей.
- Обозначения и сокращения
- В данной работе применены следующие сокращения:
- БД: База данных
- СУБД: Система управления базами данных
- ФЗ: Функциональная зависимость
Необходимо спроектировать базу данных «Хозяйственный учет футбольного клуба». Также целью данной работы является ознакомление с основными принципами построения, использования и оптимизации реляционных баз данных.
Данная тема актуальна, так как большое количество людей имеющих отношение к организации футбольных соревнований заинтересованы в том чтобы вести актуальный учет спортивного и хозяйственного инвентаря.
Необходимо предоставить пользователю информацию о состоянии и наличии инвентаря и спортивных снарядов, находящегося в распоряжении футбольного клуба на данный момент.
Данная задача будет решаться с помощью анализа предметной области, ее формализации с помощью функциональных зависимостей. Затем необходимо провести этапы минимизации системы функциональных зависимостей, описывающих предметную область, и на основании полученной редуцированной системы спроектировать требуемую модель базы данных.
Предполагается, что проектируемый продукт будет иметь общественно-социальную значимость в первую очередь для людей имеющих отношение к организации футбольных соревнований.
1 Техническое задание
1.1 Основание для разработки
Необходимо разработать базу данных, с помощью которой будет возможно осуществлять учет собственности спортивной базы футбольного клуба. Основанием для разработки послужило задание на курсовое проектирование по дисциплине «Базы данных» .
1.2 Назначение разработки
Программный продукт разрабатывается с целью создания программы для организаторов футбольных соревнований.
1.3 Стандарты
Данная работа оформлена в соответствии со стандартом СТУ 04.02.030.-2008.
1.4 Требования к программе или программному изделию
Спроектировать базу данных для спортивной базы футбольного клуба. Описать предметную область, разработать словарь понятий и терминов, построить систему функциональных зависимостей. Синтезировать схему базы данных на основании функциональных зависимостей (построение неизбыточного покрытия, построение леворедуцированного неизбыточного покрытия, построение праворедуцированного неизбыточного покрытия, построение классов эквивалентностей, построение минимального покрытия). Построить уточненную концептуальную модель в виде ER-диаграммы, запросы предметной области. Записать минимизированные запросы на языке SQL.
1.4.1 Результирующие компоненты изделия База данных в визуальной среде разработки систем управления реляционными базами данных Microsoft Visual FoxPro и все сопровождающие файлы.
1.4.2 Носители информации
Продукт должен размещаться в виде файлов на CD дисках. В процессе работы могут использоваться Flash, CD-R/-RW, DVD-R/RW или другие носители информации.
1.4.3 Требования к составу и параметрам технических средств
Программный комплекс должен корректно работать на компьютере со следующими техническими характеристиками:
? процессор Pentium V 2200 МГц;
? оперативная память объемом 1024 Мб;
? жесткий диск Seagate Barracuda, объемом 120 Гб;
? видеоадаптер SVGA;
? клавиатура;
? манипулятор типа «мышь»;
устройство удаленного доступа к сети: модем или сетевая карта.
2 Технический проект
2.1 Описание предметной области
Хозяйственный учет собственности футбольного клуба представляет собой обобщенную информацию об имуществе, принадлежащем футбольному клубу, а также об игроках, которые тренируются на территории спортивной базы и обо всех сотрудниках.
Спортивная база имеет множество помещений, все они характеризуются определенной площадью и назначением. Жилые комнаты населяют игроки и сотрудники спортивной базы.
Периодически футбольный клуб закупает необходимый спортивный инвентарь, технику и мебель. Каждая партия поступающих объектов подлежит регистрации, во время которой ей присваивается уникальный код, и характеризуется датой поступления, балансовой стоимостью и количеством.
Для инвентаря и техники хранится информация о фирме-изготовителе и модели товара. Для мебели должна быть отражена информация о фирме-производителе, цвете, габаритных размерах (длина, ширина, высота).
Каждой единице в поступившей партии объектов присваивается инвентарный номер, который ее однозначно определяет.
Каждая единица спортивного инвентаря на определенную дату закреплена за одним из спортивных залов. Каждая единица техники и мебели, в свою очередь, закреплена за каким-либо помещением.
Инвентарь, техника и мебель могут быть списаны, при этом хранится дата списания.
2.2 Словарь понятий и терминов
Словарь понятий и терминов приведен в таблицах 2.1 — 2.12.
Таблица 2.1 — Общая информация
Атрибут | Смысл | Пример | |
sp | Серия паспорта | ||
np | Номер паспорта | ||
fam | Фамилия | Иванов | |
im | Имя | Иван | |
otch | Отчество | Иванович | |
pol | Пол | мужской | |
dateborn | Дата рождения | 12.05.1960 | |
datevidachi | Дата выдачи паспорта | 12.24.2000 | |
kemvidan | Кем выдан паспорт | Отделом милиции № 3 УВД г. Москва | |
country | Страна | Россия | |
city | Город | Москва | |
street | Улица | Первомайская | |
numstreet | Номер улицы | ||
numflat | Номер квартиры | ||
dolgnost | Должность | главный врач | |
Таблица 2.2 — Игроки
Атрибут | Смысл | Пример | |
sp | Серия паспорта | ||
np | Номер паспорта | ||
date | Дата | 12.12.2004 | |
rost | Рост | ||
ves | Вес | ||
staff | Состав | основной | |
number | Номер | ||
status | Статус | нападающий | |
Таблица 2.3 — Помещение
Атрибут | Смысл | Пример | |
num_p | Номер помещения | ||
square | Площадь | ||
naznachenie | Назначение | столовая | |
Таблица 2.4 — Комната
Атрибут | Смысл | Пример | |
num_p | Номер помещения | ||
room | Номер комнаты | ||
Таблица 2.5 — Спортивный зал
Атрибут | Смысл | Пример | |
num_p | Номер помещения | ||
type_zal | Тип зала | Тренажерный зал | |
sp | Серия паспорта | ||
np | Номер паспорта | ||
Таблица 2.6 — Поступление объектов
Атрибут | Смысл | Пример | |
code_obj | Код объекта | ||
Kol | Количество | ||
date | Дата поступления | 04.24.2008 | |
balance | Балансовая стоимость | ||
Таблица 2.7 — Спортивный инвентарь
Атрибут | Смысл | Пример | |
code_obj | Код объекта | ||
firm_inv | Фирма-изготовитель | Mizuno | |
model_inv | Модель | GIM12 | |
Таблица 2.8 — Техника
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
firm_tec | Фирма-изготовитель | Samsung | |
model_tec | Модель | SG-125 | |
Таблица 2.9 — Мебель
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
firm_meb | Фирма-изготовитель | «Мир мебели» | |
dlina | Длина | ||
width | Ширина | ||
height | Высота | ||
material_meb | Материал | Дуб | |
Цвет | color_meb | Орех | |
Таблица 2.10- Мяч
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
material_ball | Материал | кожа | |
Таблица 2.11 — Футбольные ворота
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
kind | Вид ворот | стандартные | |
height | Высота | ||
shirina | Ширина | ||
Таблица 2.12 — Тренажер
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
type_tren | Тип тренажера | беговая дорожка | |
Таблица 2.13 — Телевизор
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
diagonal | Диагональ экрана | ||
screen | Тип экрана | ||
Таблица 2.14 — Холодильник
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
height | Высота | ||
width | Ширина | ||
depth | Глубина | ||
sum_sq_polok | Площадь полок | ||
com_volume | Общий объем | ||
userful_volume | Используемый объем | ||
Таблица 2.15 — Пылесос
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
moshnost | Мощность | ||
Таблица 2.16 — Кровать
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
Type_bed | Тип кровати | односпальная | |
Таблица 2.17 — Шкаф
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
type_shkaf | Тип шкафа | плательный | |
Таблица 2.18 — Стол
Атрибут | Смысл | Пример значения | |
code_obj | Код объекта | ||
type_table | Тип стола | письменный | |
Таблица 2.19 — Размещение спортивного инвентаря по залам
Атрибут | Смысл | Пример значения | |
Inv_number | Инвентарный номер | ||
date | Дата | 05.15.2010 | |
num_p | Номер зала | ||
Таблица 2.20 — Расселение людей по комнатам
Атрибут | Смысл | Пример значения | |
Inv_number | Номер помещения | ||
sp | Серия паспорта | ||
np | Номер паспорта | ||
Таблица 2.21 — Инвентарные номера спортивного инвентаря
Атрибут | Смысл | Пример значения | |
Inv_number | Инвентарный номер | ||
code_obj | Код объекта | ||
Таблица 2.22 — Инвентарные номера техники
Атрибут | Смысл | Пример значения | |
Inv_number | Инвентарный номер | ||
code_obj | Код объекта | ||
Таблица 2.23 — Инвентарные номера мебели
Атрибут | Смысл | Пример значения | |
Inv_number | Инвентарный номер | ||
code_obj | Код объекта | ||
Таблица 2.24 — Списанный спортивный инвентарь
Атрибут | Смысл | Пример значения | |
Inv_number | Инвентарный номер | ||
date | Дата списания | 11.10.2007 | |
Таблица 2.25 — Списанная техника
Атрибут | Смысл | Пример значения | |
Inv_number | Инвентарный номер | ||
date | Дата списания | 04.05.2007 | |
Таблица 2.26 — Списанная мебель
Атрибут | Смысл | Пример значения | |
Inv_number | Инвентарный номер | ||
date | Дата списания | 12.03.2004 | |
2.3 Определение функциональных зависимостей
У двух и более людей серия и номер паспорта не могут быть одинаковыми.
Fam, Im, Otch, pol, dateborn, datevidachi, kemvidan, country, city, street, numstreet, numflat, dolgnost -> sp, np.
Один человек не может иметь два разных паспорта.
sp_pl, np_pl -> sp, np -> date, rost, ves, staff, number, status -> Fam, Im, Otch, dateborn, country, city, street, numstreet, numflat.
Футболист не может играть в команде определенного состава одновременно под разными номерами в разном качестве.
sp_pl, np_pl -> date, staff, number, status.
В определенном составе под одним номером не могут играть два футболиста.
sp_pl, np_pl -> staff, number, status.
Один человек не может одновременно жить в двух комнатах.
num_room -> sp, np.
Помещение не может иметь разные площади и назначения.
square, naznachenie -> num_p.
Номер помещения однозначно определяет номер комнаты.
room -> num_room.
Спортивный зал не может одновременно относиться к разным типам. type_zal -> num_zal.
Объект в одно и то же время поступает в определенном количестве по определенной цене. kol, date, balance -> code_obj.
Инвентарь производится определенной фирмой и относится к определенной модели. firm_inv, model_inv -> code_inv.
Техника производится определенной фирмой и относится к определенной модели, потребляет определенную мощность. firm_tec, model_tec -> code_tec.
Мебель изготавливается из определенного материала, определенной длины, ширины, высоты, цвета. firm_meb, dlina, width, height, color -> code_meb.
Единица спортивного инвентаря не может относиться к двум объектам. code_inv-> inv_number_INV .
Единица техники не может относиться к двум объектам. code_tec ->. inv_number_TEC.
Единица мебели не может относиться к двум объектам. code_meb -> inv_number_MEB.
Единица спортивного инвентаря не может быть списана дважды. date_out_inv -> inv_number_INV_out.
Единица техники не может быть списана дважды. date_out_tec -> inv_number_TEC_out.
Единица мебели не может быть списана дважды date_out_meb ->. inv_number_MEB_out.
Единица спортивного инвентаря не может одновременно находиться в нескольких спортивных залах. num_zal -> inv_number_INV, date_IinZal.
Единица техники не может одновременно находиться в нескольких помещениях. num_р -> inv_number_TEC, date_TecInP.
Единица мебели не может одновременно находиться в нескольких помещениях. num_р -> inv_number_MEB, date_MebInP.
Мяч не может иметь разные характеристики. material -> code_balls.
Одни и те же ворота не могут иметь разные характеристики. height_gate, shirina, kind -> code_gate.
Тренажер не может быть одновременно двух видов. type -> code_trenager.
Телевизор не может иметь разные характеристики. diagonal, screen -> code_TV.
Холодильник не может иметь разные характеристики. height_ref, widht_ref, depht_ref, sum_sq_polok, com_volume, user_volume -> code_refreg.
Пылесос не может иметь разные характеристики. moshnost_v -> code_vacuum.
Кровать не может иметь разные характеристики. type_bed -> code_bed.
Стол не может иметь разные характеристики. type_table, material_table > code_table.
Шкаф не может иметь разные характеристики. type_shkaf -> code_shkaf.
Исходные функциональные зависимости представлены на рисунке 2.1
Рисунок 2.1 — Исходные функциональные зависимости
2.3.2 Функциональные зависимости сохраняющие иерархию
В данном множестве есть следующие зависимости, которые сохраняют иерархию:
Спортивным залом не может быть несуществующее помещение. num_zal -> num_p.
Не поступавшая партия объектов не может быть зарегистрирована как инвентарь. code_inv -> code_obj.
Не поступавшая партия объектов не может быть зарегистрирована как техника. code_tec -> code_obj.
Не поступавшая партия объектов не может быть зарегистрирована как мебель. code_meb -> code_obj.
Незарегистрированная единица инвентаря не может быть списана. inv_number_INV_out -> inv_number_INV.
Незарегистрированная единица техники не может быть списана.
inv_number_TEC _out -> inv_number_TEC.
Незарегистрированная единица мебели не может быть списана. inv_number_MEB_out -> inv_number_MEB.
Незарегистрированная партия инвентаря инвентаря не может быть партией мячей.
code_balls -> code_inv.
Одна и та же партия ворот не может поступить дважды.
code_gate -> code_inv.
Одна и та же партия тренажеров не может поступить дважды.
code_trenager -> type.
Одна и та же партия телевизоров не может поступить дважды.
code_TV -> diagonal, screen.
Одна и та же партия холодильников не может поступить дважды.
code_refreg -> height_ref, widht_ref, depht_ref, sum_sq_polok, com_volume, user_volume.
Функциональные зависимости сохраняющие иерархию представлены на рисунке 2.2.
Рисунок 2.2 — Функциональные зависимости, сохраняющие иерархию
2.4 Синтез схемы базы данных на основании функциональных зависимостей
2.4.1 Построение неизбыточного покрытия
Исходное множество функциональных зависимостей представлено на рисунке 2.3.
sp, np -> Fam, Im, Otch, pol, dateborn, datevidachi, kemvidan, country, city, street, numstreet, numflat, dolgnost | |
Fam, Im, Otch, dateborn, country, city, street, numstreet, numflat -> sp, np | |
sp_pl, np_pl -> date, rost, ves, staff, number, status | |
date, staff, number, status -> sp_pl, np_pl | |
sp, np -> num_room | |
num_p -> square, naznachenie | |
num_room -> room | |
num_zal -> type_zal | |
num_zal -> num_p | |
code_obj -> kol, date, balance | |
code_inv -> firm_inv, model_inv | |
code_inv -> code_obj | |
code_tec -> firm_tec, model_tec | |
code_tec -> code_obj | |
code_meb -> firm_meb, dlina, width, height, color | |
code_meb -> code_obj | |
inv_number_INV -> code_inv | |
inv_number_TEC -> code_tec | |
inv_number_MEB -> code_meb | |
inv_number_INV_out -> inv_number_INV | |
inv_number_TEC_out -> inv_number_TEC | |
inv_number_MEB_out -> inv_number_MEB | |
inv_number_INV_out -> date_out_inv | |
inv_number_TEC_out -> date_out_tec | |
inv_number_MEB_out -> date_out_meb | |
inv_number_INV, date_IinZal -> num_zal | |
inv_number_TEC, date_TecInP -> num_р | |
inv_number_MEB, date_MebInP -> num_р | |
code_balls -> material | |
code_balls -> code_inv | |
code_gate -> height_gate, shirina, kind | |
code_gate -> code_inv | |
code_trenager -> type | |
code_trenager -> code_inv | |
code_TV -> diagonal, screen | |
code_TV -> code_tec | |
code_refreg -> height_ref, widht_ref, depht_ref, sum_sq_polok, com_volume, user_volume | |
code_refreg -> code_tec | |
code_vacuum -> moshnost_v | |
code_vacuum -> code_tec | |
code_bed -> type_bed | |
code_bed -> code_meb | |
code_table -> type_table, material_table | |
code_table -> code_meb | |
code_shkaf -> type_shkaf | |
code_shkaf -> code_meb | |
Рисунок 2.3 — Исходное множество функционаьных зависимостей
В ходе построения неизбыточнго покрытия множество функциональных зависимостей не изменилось.
2.4.2 Построение леворедуцированного покрытия
В ходе построения леворедуцированного покрытия множество функциональных зависимостей не изменилось.
2.4.3 Построение праворедуцированного покрытия
В ходе построения праворедуцированного покрытия множество функциональных зависимостей не изменилось.
2.4.4 Построение классов эквивалентности
Этапы построения классов эквивалентности представлены на рисунке 2.8.
1. Ef (sp, np): | |
sp, np -> Fam, Im, Otch, pol, dateborn, datevidachi, kemvidan, country, city, street, numstreet, numflat, dolgnost | |
Fam, Im, Otch, dateborn, country, city, street, numstreet, numflat -> sp, np | |
sp, np -> num_room | |
2. Ef (sp_pl, np_pl): | |
sp_pl, np_pl -> date, rost, ves, staff, number, status | |
date, staff, number, status -> sp_pl, np_pl | |
3. Ef (num_p): | |
num_p -> square, naznachenie | |
4. Ef (num_room): | |
num_room -> room | |
5. Ef (num_zal): | |
num_zal -> type_zal | |
num_zal -> num_p | |
6. Ef (code_obj): | |
code_obj -> kol, date, balance | |
7. Ef (code_inv): | |
code_inv -> firm_inv, model_inv; code_inv -> code_obj | |
8. Ef (code_tec): | |
code_tec -> firm_tec, model_tec; code_tec -> code_obj | |
9. Ef (code_meb): | |
code_meb -> firm_meb, dlina, width, height, color; code_meb -> code_obj | |
10. Ef (inv_number_INV): | |
inv_number_INV -> code_inv | |
11. Ef (inv_number_TEC): | |
15. Ef (inv_number_MEB_out): | |
inv_number_MEB_out -> inv_number_MEB | |
inv_number_MEB_out -> date_out_meb | |
16. Ef (inv_number_INV, date_IinZal): | |
inv_number_INV, date_IinZal -> num_zal | |
17. Ef (inv_number_TEC, date_TecInP): | |
inv_number_TEC, date_TecInP -> num_р | |
18. Ef (inv_number_MEB, date_MebInP): | |
inv_number_MEB, date_MebInP -> num_р | |
19. Ef (code_balls): | |
code_balls -> material | |
code_balls -> code_inv | |
20. Ef (code_gate): | |
code_gate -> height_gate, shirina, kind | |
code_gate -> code_inv | |
21. Ef (code_trenager): | |
code_trenager -> type | |
code_trenager -> code_inv | |
22. Ef (code_TV): | |
code_TV -> diagonal, screen | |
code_TV -> code_tec | |
23. Ef (code_refreg): | |
code_refreg -> height_ref, widht_ref, depht_ref, sum_sq_polok, com_volume, user_volume | |
code_refreg -> code_tec | |
24. Ef (code_vacuum): | |
code_vacuum -> moshnost_v | |
code_vacuum -> code_tec | |
25. Ef (code_bed): | |
code_bed -> type_bed | |
code_bed -> code_meb | |
26. Ef (code_table): | |
code_table -> type_table, material_table | |
code_table -> code_meb | |
27. Ef (code_shkaf): | |
code_shkaf -> type_shkaf | |
code_shkaf -> code_meb | |
Рисунок 2.4 — Этапы построения классов эквивалентности
2.4.5 Построение минимального покрытия на основе прямой функциональной определяемости
Этапы построения минимального покрытия на основе прямой функциональной определяемости представлены на рисунке 2.5.
2. Проверка: f Ef (sp, np) |= sp, np -> sp, np? | |
Да => заменяем sp, np -> Fam, Im, Otch, pol, dateborn, datevidachi, | |
kemvidan, country, city, street, numstreet, numflat, dolgnost и sp, np -> | |
num_room на sp, np -> Fam, Im, Otch, pol, dateborn, datevidachi, | |
kemvidan, country, city, street, numstreet, numflat, dolgnost, num_room. | |
5. Проверка: f Ef (num_zal) |= num_zal -> num_zal? | |
Да => заменяем num_zal -> type_zal и num_zal -> num_p на num_zal -> | |
type_zal, num_p. | |
6. Проверка: f Ef (code_inv) |= code_inv -> code_inv? | |
Да => заменяем code_inv -> firm_inv, model_inv и code_inv -> code_obj | |
на code_inv -> firm_inv, model_inv, code_obj. | |
7. Проверка: f Ef (code_tec) |= code_tec -> code_tec? | |
Да => заменяем code_tec -> firm_tec, model_tec и code_tec -> | |
code_obj на code_tec -> firm_tec, model_tec, code_obj. | |
8. Проверка: f Ef (code_meb) |= code_meb -> code_meb? | |
Да => заменяем code_meb -> firm_meb, dlina, width, height, color и | |
code_meb -> code_obj на code_meb -> firm_meb, dlina, width, height, | |
color, code_obj. | |
9. Проверка: f Ef (inv_number_INV_out) |= inv_number_INV_out -> | |
inv_number_INV_out? | |
Да => заменяем inv_number_INV_out -> inv_number_INV и | |
inv_number_INV_out -> date_out_inv на inv_number_INV_out -> | |
inv_number_INV, date_out_inv. | |
10. Проверка: f Ef (inv_number_TEC_out) |= inv_number_TEC_out -> | |
inv_number_TEC_out? | |
Да => заменяем inv_number_TEC_out -> inv_number_TEC и | |
inv_number_TEC_out -> date_out_tec на inv_number_TEC_out -> | |
inv_number_TEC, date_out_tec. | |
11. Проверка: f Ef (inv_number_MEB_out) |= inv_number_MEB_out -> | |
inv_number_MEB_out? | |
Да => заменяем inv_number_MEB_out -> inv_number_MEB и | |
inv_number_MEB_out -> date_out_meb на inv_number_MEB_out -> | |
inv_number_MEB, date_out_meb. | |
12. Проверка: f Ef (code_balls) |= code_balls -> code_balls? | |
Да => заменяем code_balls -> material и code_balls -> code_inv на | |
code_balls -> material, code_inv. | |
13. Проверка: f Ef (code_gate) |= code_gate -> code_gate? | |
Да => заменяем code_gate -> height_gate, shirina, kind и code_gate -> | |
code_inv на code_gate -> height_gate, shirina, kind, code_inv. | |
Рисунок 2.5 — Этапы построения минимального покрытия на основе прямой функциональной определяемости
Редуцированное минимальное покрытие представлено на рисунке 2.6
Fam, Im, Otch, dateborn, country, city, street, numstreet, numflat | |
> sp, np | |
sp_pl, np_pl | |
> date, rost, ves, staff, number, status | |
date, staff, number, status | |
> sp_pl, np_pl | |
num_p | |
> square, naznachenie | |
num_room | |
> room | |
code_obj | |
> kol, date, balance | |
inv_number_INV | |
> code_inv | |
inv_number_TEC | |
> code_tec | |
inv_number_MEB | |
> code_meb | |
inv_number_INV, date_IinZal | |
> num_zal | |
inv_number_TEC, date_TecInP | |
> num_р | |
inv_number_MEB, date_MebInP | |
> num_р | |
sp, np | |
> Fam, Im, Otch, pol, dateborn, datevidachi, kemvidan, country, city, street, numstreet, numflat, dolgnost, num_room | |
num_zal | |
> type_zal, num_p | |
code_inv | |
> firm_inv, model_inv, code_obj | |
code_tec | |
> firm_tec, model_tec, code_obj | |
code_meb | |
> firm_meb, dlina, width, height, color, code_obj | |
inv_number_INV_out | |
> inv_number_INV, date_out_inv | |
inv_number_TEC_out | |
> inv_number_TEC, date_out_tec | |
inv_number_MEB_out | |
> inv_number_MEB, date_out_meb | |
code_balls | |
> material, code_inv | |
code_gate | |
> height_gate, shirina, kind, code_inv | |
code_trenager | |
> type, code_inv | |
code_TV | |
> diagonal, screen, code_tec | |
code_refreg | |
> height_ref, widht_ref, depht_ref, sum_sq_polok, com_volume, user_volume, code_tec | |
code_vacuum | |
> moshnost_v, code_tec | |
code_bed | |
> type_bed, code_meb | |
code_table | |
> type_table, material_table, code_meb | |
code_shkaf | |
> type_shkaf, code_meb | |
Рисунок 2.6 — Редуцированное минимальное покрытие
2.4.6 Построение редуцированного минимального кольцевого покрытия
Определение CF-зависимостей по классам эквивалентности. Построение кольцевого покрытия
Минимальное кольцевое покрытие представлено на рисунке 2.7
(sp, np; Fam, Im, Otch, dateborn, country, city, street, numstreet, numflat;) | |
-> pol, datevidachi, kemvidan, dolgnost, num_room | |
(sp_pl, np_pl; date, staff, number, status;) -> rost, ves | |
(num_p;) -> square, naznachenie | |
(num_room;) -> room | |
(num_zal;) -> type_zal, num_p | |
(code_obj;) -> kol, date, balance | |
(code_inv;) -> firm_inv, model_inv, code_obj | |
(code_tec;) -> firm_tec, model_tec, code_obj | |
(code_meb;) -> firm_meb, dlina, width, height, color, code_obj | |
(inv_number_INV;) -> code_inv | |
(inv_number_TEC;) -> code_tec | |
(inv_number_MEB;) -> code_meb | |
(inv_number_INV_out;) -> inv_number_INV, date_out_inv | |
(inv_number_TEC, _out;) | |
(inv_number_MEB_out;) -> inv_number_MEB, date_out_meb | |
(inv_number_TEC_out;) -> date_out_tec | |
(inv_number_INV, date_IinZal;) -> num_zal | |
(inv_number_TEC, date_TecInP;) -> num_р | |
(inv_number_MEB, date_MebInP;) -> num_р | |
(code_balls;) -> material, code_inv | |
(code_gate;) -> height_gate, shirina, kind, code_inv | |
(code_trenager;) -> type, code_inv | |
(code_TV;) -> diagonal, screen, code_tec | |
(code_refreg;) -> height_ref, widht_ref, depht_ref, sum_sq_polok, | |
com_volume, user_volume, code_tec | |
(code_vacuum;) -> moshnost_v, code_tec | |
(code_bed;) -> type_bed, code_meb | |
(code_table;) -> type_table, material_table, code_meb | |
(code_shkaf;) -> type_shkaf, code_meb | |
Рисунок 2.7 — Минимальное кольцевое покрытие
Получение кольцевого минимального редуцированного покрытия
Естественное характеристическое множество для кольцевого покрытия представлено на рисунке 2.8.
f (C): | |
sp, np -> Fam, Im, Otch, dateborn, country, city, street, numstreet, | |
numflat | |
Fam, Im, Otch, dateborn, country, city, street, numstreet, numflat -> sp, | |
np | |
Fam, Im, Otch, dateborn, country, city, street, numstreet, numflat -> pol, | |