Добавлен: 31.01.2019
Просмотров: 1137
Скачиваний: 17
Федеральное государственное автономное
образовательное учреждение
высшего профессионального образования
«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
ХТИ ‒ филиал СФУ |
Институт |
Электроэнергетика |
Кафедра |
КУРСОВАЯ РАБОТА
Проектирование фактографической реляционной базы данных |
с помощью нормализации |
тема проекта (работы) |
Вариант 4 |
-
Руководитель
Кокова В.И.
Подпись, дата
Инициалы,фамилия
Студент
53-1
Крылов А.Е.
номер группы, зачетной книжки
Подпись, дата
Абакан 2015
ЗАДАНИЕ
Разработать инфологическую модель данных учета дачных посадок. По полученной модели построить реляционную БД с использованием нормализации.
Владелец имеет несколько участков, именуемых далее дачами. Дача характеризуется наименованием местности, а также кратким описанием почвы. На даче растут фруктовые деревья различных видов (вишня, сливы, яблони и т.д.). Каждый вид имеет сорта (вишня – войлочная, яблоня – антоновка, апорт и т.д.). Поскольку дерево можно прививать, то на одном дереве может быть несколько сортов плода данного вида (т.е. дерево относится к одному виду, но может нести несколько сортов). Существует множество деревьев каждого вида и сорта. Наконец, каждый сорт относится только к одному виду, но каждый вид имеет несколько сортов. Каждое дерево характеризуется также годом посадки.
Задание выдал_____________________ст. преподаватель Кокова В. И.
Задание получил_______________студент группы 53-1 Крылов А. Е.
РЕФЕРАТ
Курсовая работа по теме «Проектирование фактографической реляционной базы данных модели данных учета дачных посадок с помощью нормализации» содержит 45 страниц текстового документа, 10 таблиц, 3 использованных источника, 37 рисунков, 2 приложения.
В данной курсовой работе в качестве предметной области рассматривается модель данных учета дачных посадок.
Ключевые слова: БАЗА ДАННЫХ, СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ, ТАБЛИЦА, ЗАПРОС, ОТЧЕТ, КНОПОЧНАЯ ФОРМА, ПРИЛОЖЕНИЕ, MICROSOFT VISUAL FOXPRO, MY SQL.
Цель курсовой работы: изучение проектирования фактографической реляционной базы данных с помощью теории нормализации.
Задачи курсовой работы:
- изучить предметной области;
- спроектировать реляционную задачу с помощью теории нормализации;
- создать базу данных средствами Microsoft Visual FoxPro;
- создать базу данных с помощью программы MySQL.
В результате была изучена работа модели данных учета дачных посадок, выполнено проектирование базы данных с помощью теории нормализации, составлено восемь таблиц, три запроса, три отчета, кнопочная форма и приложение, создана база данных с помощью программ Microsoft Visual FoxPro и MySQL.
Созданная база данных (БД) может быть использована в дачном сообществе.
СОДЕРЖАНИЕ
2 Создание БД с помощью средств Microsoft Visual FoxPro 13
2.5 Создание главной кнопочной формы 23
3 Создание базы данных с помощью средств My SQL 30
ВВЕДЕНИЕ
База данных становится неотъемлемой составляющей деловой деятельности современного человека и функционирования преуспевающих организаций, так как в основе решении многих задач лежит обработка информации. В связи с этим большую актуальность приобретает освоение принципов построения и эффективного применения соответствующих программных продуктов. База данных является одной из разновидности информационной системы, которая предоставляет пользователю очень широкие возможности ввода, обработки и представления данных. Эти средства не только удобны, но и высокопродуктивны, что обеспечивают высокую скорость разработки приложений.
Объектом исследования данной курсовой работы является модель данных учета дачных посадок. 30-40 лет назад наши родители (а у некоторых уже и бабушки, дедушки) получали дачные участки исключительно для огородной деятельности. Это и понятно, в те времена в магазинах было далеко не всё и не всегда. И дачники сами обеспечивали себя ягодами и овощами на всю зиму. Последние годы появились уже более молодые хозяева дач, которые в отличии от старшего поколения, огородом заниматься не хотят. Строят бани, беседки, мангалы и ездят отдыхать на даче. При компьютерной обработке информации, упорядоченные каким-либо образом данные, принято хранить в базах данных - особых файлах, использование которых вместе со специальными программными средствами позволяет пользователю, как просматривать необходимую информацию, так и, по мере необходимости, манипулировать ею, например, добавлять, изменять, копировать, удалять, сортировать и т.д.
Разработанная база данных реализована в средах Microsoft Visual FoxPro и MySQL на сегодняшний день они являются одни из популярных СУБД, используемой для разработки настольных баз данных.
1 Логическое проектирование
Процесс проектирования представляет собой процесс нормализации схем отношений, причем каждая следующая нормальная форма обладает свойствами лучшими, чем предыдущая [2].
Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных [2].
Цели нормализации:
-
упорядочить данные в структуру таблиц, которые не имеют повторяющихся записей
-
минимизировать избыточность информации
-
гарантировать, что элементы данных в различных таблицах связаны правильными ключами [2]
Для создания базы данных необходимо определить структуру таблиц, которые будут содержать данные, и нормализовать эти таблицы.
Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации.
База данных для выполнения задачи должна содержать следующую информацию: код вида дерева, вид дерева, код дерева, год посадки, привито несколько сортов, код сорта, название сорта.
Первая нормальная форма требует удаления повторяющихся групп, то есть создания отдельной записи для каждого элемента группы (таблицы 1.1).
Таблица «Дерево» Таблица 1.1
Код дерева |
Код вида дерева |
Вид дерева |
Год посадки |
Привито несколько сортов |
Код сорта |
Название сорта |
12 |
545 |
яблоко |
11.04.2005 |
да |
112 |
абориген |
14 |
536 |
груша |
06.09.2006 |
нет |
115 |
аллегро |
8 |
538 |
вишня |
01.08.2008 |
да |
113 |
алтайская |
3 |
535 |
яблоко |
10.07.2007 |
да |
109 |
авангард |
1 |
544 |
слива |
15.06.2010 |
нет |
107 |
аскер |
5 |
537 |
вишня |
23.04.2009 |
да |
103 |
болотовская |
10 |
533 |
груша |
30.07.2010 |
да |
110 |
аннушка |
15 |
540 |
яблоко |
25.08.2006 |
нет |
104 |
августа |
7 |
543 |
слива |
18.09.2005 |
да |
105 |
балада |
11 |
534 |
вишня |
05.07.2007 |
нет |
101 |
полевка |
6 |
531 |
слива |
06.09.2008 |
нет |
111 |
волошка |
2 |
542 |
вишня |
03.06.2010 |
да |
102 |
преемница |
4 |
541 |
яблоко |
02.06.2009 |
нет |
106 |
антовка |
9 |
539 |
груша |
01.04.2008 |
нет |
108 |
внучка |
13 |
532 |
слива |
13.03.2007 |
да |
114 |
жигули |
Вторая нормальная форма требует удаления функциональных зависимостей. Таблица находится во второй нормальной форме, если она удовлетворяет определению первой нормальной формы и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом
Так как поля Код вида дерева, Код дерева и Код сорта могут повторяться, то логично присвоить каждому полю ключ и для избавления от функциональных зависимостей вынести в отдельные таблицы (табл. 1.2, табл. 1.3, табл. 1.4).
Таблица «Справочник виды дерева» Таблица 1.2
Код вида дерева |
Вид дерева |
545 |
яблоко |
536 |
груша |
538 |
вишня |
535 |
яблоко |
544 |
слива |
537 |
вишня |
533 |
груша |
540 |
яблоко |
543 |
слива |
534 |
вишня |
531 |
слива |
542 |
вишня |
541 |
яблоко |
539 |
груша |
532 |
слива |
Таблица «Ассоциация дерева-сорт» Таблица 1.3
Код сорта |
Код дерева |
112 |
12 |
115 |
14 |
113 |
8 |
109 |
3 |
107 |
1 |
103 |
5 |
110 |
10 |
104 |
15 |
105 |
7 |
101 |
11 |
111 |
6 |
102 |
2 |
106 |
4 |
108 |
9 |
114 |
13 |
Таблица «Сорт» Таблица 1.4
Код сорта |
Название сорта |
112 |
абориген |
115 |
аллегро |
113 |
алтайская |
109 |
авангард |
107 |
аскер |
103 |
болотовская |
110 |
аннушка |
104 |
августа |
105 |
балада |
101 |
полевка |
111 |
волошка |
102 |
преемница |
106 |
антовка |
108 |
внучка |
114 |
жигули |
Так как созданы новые таблицы, необходимо в таблице первой нормальной формы (табл. 1.1) удалить поля:, Вид дерева Код сорта и Название сорта. После удаления таблица «Дерево» принимает следующий вид (табл. 1.5).
Код дерева |
Код вида дерева |
Год посадки |
Привито несколько сортов |
12 |
545 |
11.04.2005 |
да |
14 |
536 |
06.09.2006 |
нет |
8 |
538 |
01.08.2008 |
да |
3 |
535 |
10.07.2007 |
да |
1 |
544 |
15.06.2010 |
нет |
5 |
537 |
23.04.2009 |
да |
10 |
533 |
30.07.2010 |
да |
15 |
540 |
25.08.2006 |
нет |
7 |
543 |
18.09.2005 |
да |
11 |
534 |
05.07.2007 |
нет |
6 |
531 |
06.09.2008 |
нет |
2 |
542 |
03.06.2010 |
да |
4 |
541 |
02.06.2009 |
нет |
9 |
539 |
01.04.2008 |
нет |
13 |
532 |
13.03.2007 |
да |
Таблица находится в третьей нормальной форме, если она удовлетворяет определению 2NF и ни одно из ее не ключевых полей не зависит функционально от любого другого не ключевого поля. Следовательно, необходимо проверить таблицы на транзитивные зависимости.
В таблице Дерево зависимостей нет. Остальные таблицы имеют следующие зависимости:
-
Код вида дерева → Вид дерева (Таблица «Справочник виды дерева»).
-
Код дерева → код сорта(Таблица «Ассоциация дерева-сорт»).
-
Код сорта → название сорта (Таблица «Сорт» ).
Так как транзитивных зависимостей не обнаружено, можно сделать вывод, что таблицы находятся в третьей нормальной форме. На этом процесс нормализации заканчивается.
Спроектирована реляционная база данных, состоящая из пяти таблиц.
После определения структуры таблиц, связей между ними и ключей, которые будут использованы для связывания отдельных таблиц, можно создавать реляционную базу данных в СУБД.
На рис. 1.1 показана информационно-логическая модель.
Код
сорта Код
дерева Код
вида дерева Вид
дерева
1 ∞
∞
Таблица дерево
Код
дерева Код
вида дерева Год
посадки Привито
несколько сортов
1
Код
сорта Название
сорта
1 1
Рисунок 1.1 – Информационно-логическая модель
2 Создание БД с помощью средств Microsoft Visual FoxPro
2.1 Создание проекта
Для создания БД используем СУБД Microsoft Visual FoxPro.
Для того чтобы создать новую БД, используем вкладку главного меню File –> New. Откроется окно New. Выберем пункт Project и кнопку New file (Рис. 2.1.1).
Рисунок 2.1.1 – Окно выбора условий создания проекта
После этого откроется окно сохранения проекта Create. Требуется указать имя проекта, его тип и путь его сохранения.
Затем откроется окно Project Manager (Рис. 2.1.2). В верхней части данного окна находятся вкладки, которые управляют отображением определенных типов файлов проекта. Для создания новой БД нужно развернуть в иерархическом меню вкладки All пункт Data и выбрать Databases. Появится окно New Database, в котором следует выбрать команду New Database (создание БД в режиме конструктора). Затем потребуется сохранить БД в папку с проектом, указав ее имя. На экране откроется окно Database Designer.
Рисунок 2.1.2 – Менеджер проекта
2.2 Создание таблиц
В менеджере проекта теперь возможно раскрытие пункта Databases. Для создания нового отношения нужно выбрать пункт с названием БД и далее – пункт Tables. Откроется окно Table Designer. Все таблицы будут создаваться в режиме конструктора, их структуры можно увидеть на рисунках 2.2.1 – 2.2.8.
Рисунок 2.2.1 – Структура таблицы «Дерево»
Рисунок 2.2.2 – Структура таблицы «справочник-виды дерева»
Рисунок 2.2.3 – Структура таблицы «ассоциация дерева-сорт»
Рисунок 2.2.4 – Структура таблицы «сорт»
После создания всех отношений требуется установить соответствующие связи между ними, используя информационно-логическую модель (Рис. 2.2.5).
Рисунок 2.2.5 – Установление связей между таблицами (окно Database Designer)
Следующим этапом будет заполнение таблиц, которое начинается со справочников. Все отношения заполняются с помощью форм, которые будут создаваться в режиме мастера (рис. 2.2.6). Для большего удобства на форму «инфологическую модель данных учета дачных посадок» добавлен компонент ComboBox. После добавления требуется настроить его свойства в окне Properties. В свойстве ControlSource нужно выбрать из списка необходимое поле, затем в RowSourceType выбрать Value и в свойстве RowSource перечислить нужный список, из которого после на форме можно будет выбрать требуемое значение. Теперь при заполнении таблицы можно выбирать значения поля «привито несколько сортов» из списка.
Рисунок 2.2.7– Пример формы «дерево»
Полностью заполненные таблицы можно просмотреть как в режиме формы, так и в окне Database Designer. Для этого нужно вызвать контекстное меню, кликая правой кнопкой мыши по нужно таблице, и выбрать пункт Browse. В этом режиме так же можно заполнять отношения.