Автор работы: Пользователь скрыл имя, 24 Января 2011 в 19:14, курсовая работа
Целью данной работы является проектирование базы данных для информационной системы "Грузоперевозки". В процессе разработки были поставлены следующие задачи: проанализировать предметную область, разработать концептуальную модель базы данных, разработать логическую модель базы данных, используя средства Visual FoxPro, реализовать физическое проектирование базы данных.
Введение 4
1 Анализ предметной области 5
2 Концептуальное проектирование 9
2.1 Перечень сущностей 9
2.2 Перечень атрибутов 9
3 Инфологическое проектирование 11
3.1 Модель «сущность-связь» 11
3.2 Классификация связей 12
4 Реляционная модель БД 13
4.1 Функциональные зависимости между атрибутами 13
4.2 Выбор ключей 15
4.3 Нормализация отношений 16
5 Даталогическое проектирование 19
5.1 Состав таблиц базы данных 19
6 Физическое проектирование 21
6.1 Создание проекта 21
6.2 Создание базы данных 22
6.3 Создание таблиц 23
6.4 Создание запросов к базе данных 27
6.5 Создание отчетов 28
Заключение 32
Список используемой литературы 33
Приложение
Таблица 4 – Функциональные зависимости между атрибутами сущности «Грузополучатели»
Наименование атрибута | Функциональные зависимости |
Shifr_pol;
Name_pol; address; schet_pol; |
|
Таблица 5 – Функциональные зависимости между атрибутами сущности «Квитанции»
Наименование атрибута | Функциональные зависимости |
Nom_kvit;
Gruz_sh; transport; data_pogr; data_razgr; otprav_sh; pol_sh; status; |
|
Ключами или ключевыми являются атрибуты, значения которых определяют значения других атрибутов. Значения ключевых атрибутов не зависят от значений никаких других атрибутов. Ключ может состоять из единственного атрибута или быть составлен из нескольких атрибутов. Эти атрибуты могут быть первичными ключами, составными первичными ключами и внешними ключами.
Первичный ключ будет обладать следующими признаками:
Значение гарантирует уникальность для каждого из экземпляров
Внешним ключом является атрибут или группа атрибутов, составляющих первичный ключ другой сущности. Внешний ключ может быть, а может и не быть, ключевым атрибутом в связанной сущности. Внешние ключи представляют связи между сущностями.[2]
Для
сущностей данной ИС были выбраны
следующие ключевые атрибуты:
Таблица 6 – Ключи сущностей
Сущность | Ключевой атрибут |
Груз | Shifr_gr |
Грузоотправители | Shifr_otprav |
Грузополучатели | Shifr_pol |
Квитанции | Nom_kvit |
Для поддержания БД в устойчивом состоянии используется ряд механизмов, которые получили обобщенное название средств поддержки целостности. Эти механизмы применяются как статически (на этапе проектирования БД), так и динамически (в процессе работы с БД).
Нормализация
– это формализованная
Цель:
- исключить дублирования данных;
-
обеспечить целостность данных,
таким образом, чтобы при
Первая нормальная форма (1НФ). Для нее требуется, чтобы таблица была плоской и не содержала повторяющихся групп. У плоской таблицы есть только две характеристики - длина (количество записей или строк) и ширина (количество полей или столбцов). Такая таблица не должна содержать ячеек, включающих несколько значений.
Никакую из систем управления базами данных не удовлетворяет только 1НФ, так как в этом случае необходимо определить большое число полей, многие из которых остаются в основном пустыми. Избыточные данные могут послужить причиной проблем целостности и снижение эффективности при внесении изменений, поэтому подобных решений при проектировании баз данных необходимо избегать.
Вторая нормальная форма (2НФ). Для 2НФ требуется, чтобы все поля таблицы зависели от первичного ключа, то есть, чтобы первичный ключ однозначно определял запись и не был избыточен.
В каждой таблице БД может существовать первичный ключ - поле или набор полей, однозначно идентифицирующий запись.
Значение первичного ключа в таблице БД должно быть уникальным, т.е. в таблице не должно существовать двух и более записей с одинаковым значением первичного ключа.
Те поля, которые зависят только от части первичного ключа, должны быть выделены в составе отдельных таблиц. 2НФ позволяет удалить большую часть повторяющихся данных, которые часто остаются после первого этапа нормализации.
Для третьей нормальной формы (ЗНФ) требуется, чтобы все не ключевые столбцы таблицы зависели от первичного ключа таблицы, но были независимы друг от друга. Для этого требуется, чтобы таблицы были приведены к 1НФ и 2НФ.
Отношение
находится в четвертой
Если в отношении имеется много функциональных зависимостей, 4НФ не устраняет избыточность, то применяют пятую нормальную форму (5НФ).
Разложение отношений из 4НФ в 5НФ должно быть выполнено так, чтобы каждая проекция, полученная из 4НФ, содержала не менее одного возможного ключа и хотя бы один неключевой атрибут из исходного отношения. Для 5НФ требуется, чтобы можно было восстановить исходную таблицу на основе информации таблиц, на которые она была разбита. Кроме того, необходимо, чтобы таблицы соответствовали ЗНФ, а при наличии отношений "многие-ко-многим" - 4НФ.
Для большинства существующих СУБД необходимо представить проект базы данных в ЗНФ, так как этого вполне достаточно практически для всех обычных приложений. При разработке исключительно больших систем, когда необходимо максимальное сокращение объемов хранимых данных, желательно произвести дальнейшую нормализацию. Но в этом случае можно столкнуться с недостатками нормализации. Поскольку порог человеческого восприятия не позволяет одновременно анализировать большое число объектов с учетом их взаимосвязей, можно утверждать, что с увеличением числа нормализованных таблиц уменьшается целостное восприятие базы данных как системы взаимосвязанных данных. Другим недостатком нормализованной базы данных является необходимость считывать связанные данные из нескольких таблиц при выполнении одного запроса.
На следующей ER-диаграмме (рисунок 2) отображены связи и отношения между основными элементами выбранной предметной области компании X[3]
Рисунок
2- ER-диаграмма
Проанализировав разработанную базу данных, можно сделать вывод, что она нормализована и соответствует третей нормальной форме, так как:
Даталогическая модель является моделью логического уровня и представляет собой отображение логических связей между элементами данных безотносительно к их содержанию и среде хранения. Эта модель строится в терминах информационных единиц, допустимых в той конкретной СУБД, в среде которой проектируют базу данных. Этап создания даталогической модели называется даталогическим проектированием. Описание логической структуры базы данных на языке СУБД называется схемой.
Хотя даталогическое проектирование является логической структурой базы данных, на него влияют возможности физической организации данных, представляемые конкретной СУБД. Поэтому знание особенностей физической организации данных является полезным при проектировании логической структуры.
Логическая структура базы данных, а также сама заполненная данными база данных является отображением реальной предметной области. Поэтому на выбор проектных решений самое непосредственное влияние оказывает специфика отображаемой предметной области, отраженная в инфологической модели.
Для реляционной базы данных проектирование логической структуры заключается в том, чтобы разбить всю информацию по файлам (отношениям), а также определить состав полей (атрибутов) для каждого из этих файлов. Поля могут в себе содержать различные типы информации: целый, вещественный, символьный, дата\время, поле мемо, числовой, логический и тому подобные. В зависимости от выбранной СУБД их названия могут отличаться.[3]
В
этом разделе приводится состав таблиц
базы данных «Грузоперевозки». Для каждого
поля таблицы указан тип и описание, в
котором указываются особенности использования.
Таблица 7 – Состав таблицы «Груз»
Имя атрибута | Формат | Описание, особенности использования |
Shifr_gr | Numeric | Первичный ключ – уникальный шифр, идентифицирующий груз, числовое значение от 1 до 10 знаков. |
Nazv_gr | Character | Наименование груза – символьное значение в диапазоне от 1 до 255 знаков |
Kol_vo | Numeric | Количество груза – числовое значение в диапазоне от 1 до 10 знаков. |
Stoimost | Currency | Стоимость груза – денежный формат значения от 0 до 8 знаков. Используемая валюта – рубль (руб). |
|
Таблица 8 – Состав таблицы «Грузоотправители»
Имя атрибута | Формат | Описание, особенности использование |
Shifr_otprav | Numeric | Первичный ключ – идентифицирующий уникальный шифр отправителя, числовое значение от 1 до 10 знаков. |
Name_otprav | Character | Название организации или ФИО лица – символьное значение в диапазоне от 1 до 255 знаков. |
Address | Character | Адрес организации или лица - символьное значение в диапазоне от 1 до 255 знаков. |
Schet_otprv | Numeric | Расчетный счет организации или лица – числовое значение от 1 до 10 знаков. |
Информация о работе Проектирование базы данных для информационной системы "Грузоперевозки"