Автор работы: Пользователь скрыл имя, 12 Декабря 2012 в 05:24, курсовая работа
Данная курсовая работа является промежуточной стадией обучения в Ачинском филиале Федерального государственного автономного образовательного учреждения высшего профессионального образования «Сибирский федеральный университет»и служит закреплением практических и теоретических знаний, полученных при изучении дисциплины "Базы и банки знаний". Целями данной работы являются:
•Детальное изучение основных алгоритмов теории нормализации, связанных с автоматизацией проектирования реляционных баз данных (БД);
Введение 5
1 Техническое задание 6
1.1 Постановка задачи 6
2 Описание пакета программ .10
2.1 Входные и выходные данные. .10
2.2 Решение практической задачи вручную 12
2.3 Решение практической задачи с помощью разработанного пакета программ 18
Заключение 21
Список литературы 22
Министерство образования и науки РФ
Федерального государственного автономного
образовательного учреждения высшего
профессионального образования
«Сибирский федеральный университет»
Кафедра «Информационные системы»
Специальность ________
Дисциплина «Базы и банки знаний».
Группа ________
КУРСОВАЯ РАБОТА
Автоматизация проектирования реляционных баз данных: синтез В-схемы
Пояснительная записка
Руководитель работы __________
(подпись, дата) (И.О.Ф.)
Разработал студент ___________
(подпись, дата) (И.О.Ф.)
ЗАДАНИЕ
ПО КУРСОВОЙ РАБОТЕ
1. Тема работы (проекта): Автоматизация проектирования реляционных: синтез В-схемы.
2. Исходные данные: Множество атрибутов и функциональных зависимостей.
3. Специальная часть (раздел): Разработать алгоритм и составить программу для проектирования баз данных. Оформить отчет в текстовом редакторе Word.
АННОТАЦИЯ
Данный документ является пояснительной запиской к курсовому проекту на тему «Автоматизация проектирования реляционных баз данных: синтез В-схемы», целью которого является разработка пакета программ для решения задач, связанных с проектированием реляционных баз данных.
Курсовая работа состоит из следующих разделов: техническое задание, содержащее постановку задачи, требования к составу и параметрам технических средств, информационное обеспечение; техно-рабочий проект, включающий в себя решение задачи, описание программы. Пояснительная записка также включает в себя введение и заключение, в которых отражены поставленные цели, целесообразность разработки и достигнутые результаты.
Данный отчёт состоит из страниц.
Оглавление
Введение 5
1 Техническое задание 6
1.1 Постановка задачи 6
2 Описание пакета программ .10
2.1 Входные и выходные данные. .10
2.2 Решение практической задачи вручную 12
2.3 Решение практической задачи с помощью разработанного пакета программ 18
Заключение 21
Список литературы 22
ВВЕДЕНИЕ
Данная курсовая работа является промежуточной стадией обучения в Ачинском филиале Федерального государственного автономного образовательного учреждения высшего профессионального образования «Сибирский федеральный университет»и служит закреплением практических и теоретических знаний, полученных при изучении дисциплины "Базы и банки знаний".
Целями данной работы являются:
1 Техническое задание
1.1 Постановка задачи
База данных - динамически обновляемая информационная модель предметной области, а процесс её проектирования - процесс моделирования предметной области.
Результатом моделирования предметной области является, прежде всего, логический проект БД - схема БД.
Физическое проектирование БД - доводка логического проекта с учетом особенностей выбранной СУБД и требований к эксплуатационным характеристикам БД.
Основная задача проектировщика БД - получение хорошего логического проекта БД. Исходными данными для решения этой задачи являются:
Прежде чем приступить к выработке проектных решений по структуризации данных требуется выразить (описать) семантическую структуру предметной области. Для этих целей существует несколько систем нотаций (систем условных обозначений, языков). Наиболее распространённые системы нотаций:
Научиться синтезировать схему реляционной БД, исходя из F -описания - основная цель данной курсовой работы.
Рассмотрим проблемы, возникающие при синтезе схемы БД и алгоритмические способы решения этих проблем.
Проблема 1 - неизбыточность представления F-описания.
Для всякой предметной области
можно построить несколько
«Чистка» исходного F-описания выполняется в два этапа:
I. вначале из F удаляются все избыточные ФЗ (они логически следуют из оставшихся). Полученное в результате множество ФЗ называют неизбыточным покрытием F и обозначают Fнеизб;
II. далее из Fнеизб удаляются посторонние атрибуты. Этот процесс называется редуцированием, а полученное в результате множество ФЗ называется редуцированным покрытием и обозначается Fред.
Проблема 2 - оценка качества проектных решений.
Известно, что к организации БД предъявляются три требования (правило «Три НЕ»): неизбыточность, непротиворечивость, независимость. Последнее из них - независимость данных от приложений достигается в основном средствами СУБД. Неизбыточность и непротиворечивость БД можно обеспечить путём выбора подходящей схемы БД.
В теории нормализации доказано, что БД будет неизбыточной и средствами СУБД можно достичь её непротиворечивого состояния, если её схема будет эффективной относительно заданного F-описания предметной области.
Пусть R - множество имен атрибутов, значения которых требуется хранить в БД, и F - множество ФЗ, описывающих связи между атрибутами.
Схема БД над R m
Р={R1,R2,...,Rn|URi=R}
называется эффективной относительно F, если она сохраняет F, обладает свойством соединения без потерь информации и находится в НФБК.
Теорема. Для любого множества ФЗ из F, заданного на конечном множестве атрибутов R, всегда существует схема БД
m
Р={R1,R2,...,Rn|URi=R}
обладающая свойством соединения без потерь, сохраняющая все ФЗ из F и находящаяся в 3НФ.
Схему БД, удовлетворяющую условиям данной теоремы, принято называть В-схемой. Приведённая теорема свидетельствует, что можно всегда найти В-схему для заданных R,F. Свойство В-схемы вполне приемлемы для практики, так как они гарантируют непротиворечивость БД. 3НФ допускает определённое избыточное дублирование данных, но с этим приходится мириться и учитывать в программах ввода и редактирования данных.
Курсовая работа предполагает программную реализацию процесса синтеза В-схемы, указанного на рисунке 1.
Рисунок 1
2 Описание пакета программ
2.3 Решение практической задачи вручную
Исходные данные практической задачи приведены в таблице 3.
Таблица 3 - Расписание экзаменов
Имя атрибута |
Семантика |
K1 |
Номер команды |
K2 |
Название команды |
T1 |
Код тренера |
T2 |
Ф. И. тренера |
I1 |
Номер игрока |
I2 |
Ф.И. игрока |
I3 |
Результативность игрока |
P |
Номер площадки (спортивного зала) |
D |
Дата тренировки команды |
Функциональные зависимости
практической задачи и их условное
обозначение приведены в
Таблица 4 - Условное обозначение функциональных зависимостей
Функциональная зависимость |
Семантика |
K1 → K2 |
Номер однозначно идентифицирует команду |
T1 → T2 |
Код однозначно идентифицирует тренера |
I1 → I2I3 |
Номер игрока однозначно определяет его Ф.И. и результативность |
K1 → T1T2 |
Для каждой команды определен только один тренер, однако один и тот же тренер может тренировать несколько команд |
I1 → K1 |
Каждый игрок входит в состав только одной команды |
PD → K1T1 |
Площадка закрепляется за командой и соответствующим тренером на весь день |
DT1T2 → P |
Каждый тренер одновременно может находиться только на одной площадке |
DK1 → PT2 |
Каждая команда одновременно может тренироваться только на одной площадке под руководством одного тренера |
Построение В-схемы включает себя следующие этапы.
1) Построение неизбыточного покрытия
Для построения неизбыточного покрытия необходимо удалить избыточные ФЗ. Для этого вычислим замыкания для каждой ФЗ:
1. F1=F/{ K1 → K2}={ T1 → T2, I1 → I2I3, K1 → T1T2, I1 → K1, PD → K1T1, DT1T2 → P, DK1 → PT2};
(K1)+ F1 = K1T1T2, следовательно, данная ФЗ не является избыточной в F.
2. F2=F/{ T1 → T2}={ K1 → K2, I1 → I2I3, K1 → T1T2, I1 → K1, PD → K1T1, DT1T2 → P, DK1 → PT2};
(T1)+F2 = T1, следовательно, данная ФЗ не является избыточной в F.
3. F3=F/{ I1 → I2I3}={ K1 → K2, T1 → T2, K1 → T1T2, I1 → K1, PD → K1T1, DT1T2 → P, DK1 → PT2};
( I1)+F3 = I1K1K2T1T2, следовательно, данная ФЗ не является избыточной в F.
4. F4=F/{ K1 → T1T2}={ K1 → K2, T1 → T2, I1 → I2I3, I1 → K1, PD → K1T1, DT1T2 → P, DK1 → PT2};
(K1)+F4 = K1K2, следовательно, данная ФЗ не является избыточной в F.
5. F5=F/{ I1 → K1}={ K1 → K2, T1 → T2, I1 → I2I3, K1 → T1T2, PD → K1T1, DT1T2 → P, DK1 → PT2};
(I1)+F5 = I1I2I3, следовательно, данная ФЗ не является избыточной в F.
6. F6=F/{ PD → K1T1}={ K1 → K2, T1 → T2, I1 → I2I3, K1 → T1T2, I1 → K1, DT1T2 → P, DK1 → PT2};
(PD)+F6 = PD, следовательно, данная ФЗ не является избыточной в F.
7. F7= F/{ DT1T2 → P}={ K1 → K2, T1 → T2, I1 → I2I3, K1 → T1T2, I1 → K1, PD → K1T1, DK1 → PT2};
(DT1T2)+F7 = DT1T2, следовательно, данная ФЗ не является избыточной в F.
8. F8= F/{ DK1 → PT2}={ K1 → K2, T1 → T2, I1 → I2I3, K1 → T1T2, I1 → K1, PD → K1T1, DT1T2 → P};
(DK1)+F8 = DK1T1T2P, следовательно, данная ФЗ является избыточной в F и ее можно удалить.
Итак, Fнеизб будет выглядеть следующим образом:
Fнеизб ={ K1 → K2, T1 → T2, I1 → I2I3, K1 → T1T2, I1 → K1, PD → K1T1, DT1T2 → P}
2) Построение редуцированного покрытия
Для построения редуцированного покрытия необходимо из левой и правой частей удалить посторонние атрибуты.
Леворедуцирование приводит к следующим результатам.:
F* = { K1 → K2, T1 → T2, I1 → I2I3, K1 → T1T2, I1 → K1, PD → K1T1, DT1 → P}.
Праворедуцировапие:
F* = { K1 → K2, T1 → T2, I1 → I2I3, K1 → T1, I1 → K1, PD → K1, DT1 → P }.
В итоге получим:
Fред = { K1 → K2, T1 → T2, I1 → I2I3, K1 → T1, I1 → K1, PD → K1, DT1 → P }.
4) Синтаксическое разложение множества атрибутов R по Fред дает следующую схему базы данных:
ρ* = {R1(K1K2), R2(T1T2), R3(I1I2I3), R4(K1T1), R5(I1K1), R6(PDK1), R7(DT1P)}.
Информация о работе Автоматизация проектирования реляционных баз данных: синтез В-схемы