- •Утверждено
- •Харьков
- •Введение
- •Структура контрольной работы
- •Пример оформления контрольной работы
- •1. Анализ предметной области
- •1.1. Описание задачи
- •1.2. Ограничения ведения базы данных.
- •2. Проектирование структуры базы данных.
- •2.1. Определение функциональных зависимостей
- •2.2. Разработка структуры базы данных.
- •Пример оформления титульного листа
2. Проектирование структуры базы данных.
2.1. Определение функциональных зависимостей
(Формальное описание функциональных зависимостей)
На основании рассмотренных требований к БД (раздел 1.2) формализуем ограничения на данные в виде функциональных зависимостей.
Тема Название раздела
WWW адрес Название сайта или статьи
ФИО пользователя Место работы, Должность
ФИО пользователя, WWW адрес Тема
Используя заданные функциональные зависимости, приведем структуру БД к третьей нормальной форме. Согласно теории реляционных баз данных [1,2] схема данных соответствующая третьей нормальной форме позволяет более эффективно решать задачи накопления и обработки информации, что в целом повышает эффективность функционирования информационной системы.
2.2. Разработка структуры базы данных.
(Описать этапы приведения структуры БД к третьей нормальной форме)
Для исключения возможных аномалий описанных в разделе 1.2 необходимо нормализовать БД, то есть привести ее к нормальной форме. Заданные ограничения в виде функциональных зависимостей (раздел 2.1.) позволяют построить третью нормальную форму (3НФ), которая устранит нежелательные свойства ведения БД.
Очевидно, что представленный набор атрибутов (рисунок 1) соответствует первой нормальной форме (1НФ). Воспользуемся определением полной функциональной зависимости [1, 2] и построим вторую нормальную форму (2НФ).
Среди заданных функциональных зависимостей неполными являются зависимости WWW адрес Название сайта или статьи,ФИО пользователя Место работы, Должность. Для построения 2НФ ее необходимо вынести их в отдельные таблицу “Пользователь” и “Адрес”. Таким образом, БД будет иметь вид представленный на рисунке 2(подчеркнутые поля – первичный ключ).
“Адрес”“Учет”“Пользователь”
WWW адрес |
1 |
Название раздела |
1 |
Фамилия |
Название сайта или статьи |
|
Тема |
1 |
Имя |
|
|
WWWадрес |
1 |
Отчество |
|
|
Фамилия |
|
Место работы |
|
|
Имя |
|
Должность |
|
|
Отчество |
|
|
|
|
|
|
|
Рисунок 2. Структура БД в 2НФ.
При этом функциональные зависимости будут соответствовать таблицам, следующим образом:
1. таблицы “Адрес”соответствуют функциональные зависимости
WWW адрес Название сайта или статьи.
2. таблицы “Учет”соответствуют функциональные зависимости
Тема Название раздела;
ФИО пользователя, WWW адрес Тема.
3. таблицы “Пользователь”соответствуют функциональные зависимости
ФИО пользователя Место работы, Должность.
Для дальнейшей нормализации необходимо исключить из множества транзитивные зависимости [1, 2]. Среди множества зависимостей таблицы “Учет” можно выделить зависимость “Тема Название раздела”, в которой атрибут“Название раздела”транзитивно зависит от атрибутов“ФИО пользователя”и“WWW адрес”. Таким образом, для построения 3НФ необходимо вынести эту зависимость в отдельную таблицу “Тема”. При этом БД будет иметь структуру представленную на рисунке 3.
“Тема”
Название раздела |
Тема |
1
“Адрес”“Пользователь”
WWW адрес |
1 |
“Учет” |
1 |
Фамилия |
Название сайта или статьи |
|
Тема |
1 |
Имя |
|
|
WWW адрес |
1 |
Отчество |
|
|
Фамилия |
|
Место работы |
|
|
Имя |
|
Должность |
|
|
Отчество |
|
|
|
|
|
|
|
Рисунок 3. Структура БД в 3НФ.
Функциональные зависимости будут соответствовать таблицам, следующим образом:
1. таблицы “Тема”соответствуют функциональные зависимости
Тема Название раздела.
2. таблицы “Адрес”соответствуют функциональные зависимости
WWW адрес Название сайта или статьи.
3. таблицы “Учет”соответствуют функциональные зависимости
ФИО пользователя, WWW адрес Тема.
4. таблицы “Пользователь”соответствуют функциональные зависимости
ФИО пользователя Место работы, Должность
Ключевые атрибуты в полученных таблицах определены на основе заданных функциональных зависимостей между атрибутами. При этом тип связи между всеми таблицами соответствует типу «один-ко-многим», так как связные атрибуты в одной таблицы являются первичным ключом, а в другой нет.
Например, в таблице “Тема” функциональная зависимость “Тема Название раздела”определяет в качестве первичного ключа атрибут “Тема”. Связный атрибут таблицы “Учет” не является ключом, так как функциональная зависимость“ФИО пользователя, WWW адрес Тема”определяет в качестве ключа таблицы атрибуты “ФИО пользователя” и “WWW адрес”.
Для определения схемы БД зададим свойства атрибутов каждой таблицы (рисунок 4).
Таблица: “Тема”
Таблица “Пользователь”
|
Таблица: “Учет”
Таблица “Адрес”
|
Рисунок 4. Свойства атрибутов БД
Заключение
(Кратко описать результаты выполнения контрольной работы)
В результате выполнения контрольной работы была разработанная структура БД WWW адресов, определенны свойства атрибутов и целостности данных. Полученная структура обеспечивает независимое хранение и ведение данных о пользователях, WWWадресах статей, разделах и т. д.
Предлагаемая структура обеспечивает исключения ряда аномалий, таких как избыточность, добавление и удаление различных данных независимо друг от друга. Это подтверждается тем, что структура разработана на основании алгоритма нормализации и приведена к 3НФ.
В качестве основных результатов контрольной работы можно выделить следующее:
Проанализирована предметная область и сформулированы основные требования для разработки БД.
Определены ограничения ведения данных в виде функциональных зависимостей между атрибутами.
Разработанная структура БД и приведена к 3НФ на основании заданных функциональных зависимостей и алгоритма нормализации.
Определены основные свойства атрибутов для каждой таблицы БД.
Предложенное описание и структура БД может быть использована для практической реализации в какой-либо системе учета абонентов сети Интернет.
Список использованных источников
Дейт К. Введение в системы баз данных. М.: “Вильямс” 2001.
Т. Коннолли, К. Бегг, А. Страчан Базы данных: проектирование, реализация и сопровождение. Терия и практика, 2-е изд.: Пер. с англ.: Уч. Пос. – М.: Издательский дом “Вильямс”, 2000.
Зеленков Ю.А Введение в базы данных. www.vsma.ac.ru\~pharm\library\books\db\toc.html
Пушников А.Ю. Введение в системы управления базами данных. www.citforum.ru\database\dblearn\index.shtml.htm