
- •Содержание
- •Введение
- •1 Анализ предметной области
- •2 Концептуальное проектирование
- •2.1 Перечень сущностей
- •2.2 Перечень атрибутов
- •3 Инфологическое проектирование
- •3.1 Модель «сущность-связь»
- •3.2 Классификация связей
- •4 Реляционная модель бд
- •4.1 Функциональные зависимости между атрибутами
- •4.2 Выбор ключей
- •4.3 Нормализация отношений
- •5 Даталогическое проектирование
- •5.1 Состав таблиц базы данных
- •6 Физическое проектирование
- •6.1 Создание проекта
- •6.2 Создание базы данных
- •6.3 Создание таблиц
- •6.4 Создание запросов к базе данных
- •6.5 Создание отчетов
- •Заключение
- •Список используемой литературы
- •Приложение а
- •Приложение б
- •Приложение в
3 Инфологическое проектирование
Инфологическая модель применяется на втором этапе проектирования БД, то есть после словесного описания предметной области.
Инфологическое проектирование, прежде всего, связано с попыткой представления семантики предметной области в модели БД. Реляционная модель данных в силу своей простоты и лаконичности не позволяет отобразить семантику, то есть смысл предметной области. Ранние теоретико-графовые модели в большей степени отображали семантику предметной области. Они в явном виде определяли иерархические связи между объектами предметной области.
3.1 Модель «сущность-связь»
Проблема представления семантики давно интересовала разработчиков, и в семидесятых годах было предложено несколько моделей данных, названных семантическими моделями. К ним можно отнести семантическую модель данных, предложенную Хаммером (Hammer) и Мак-Леоном (McLeon) в 1981 году, функциональную модель данных Шипмана (Shipman), также созданную в 1981 году, модель "сущность—связь", предложенную Ченом (Chen) в 1976 году, и ряд других моделей. У всех моделей были свои положительные и отрицательные стороны, но испытание временем выдержала только последняя. И в настоящий момент именно модель Чена "сущность—связь", или "Entity Relationship" (ER-модель), стала фактическим стандартом при инфологическом моделировании баз данных.
В основе ER-модели лежат следующие базовые понятия:
Сущность, с помощью которой моделируется класс однотипных объектов. Сущность имеет имя, уникальное в пределах моделируемой системы. Так как сущность соответствует некоторому классу однотипных объектов, то предполагается, что в системе существует множество экземпляров данной сущности.
Объект, которому соответствует понятие сущности, имеет свой набор атрибутов — характеристик, определяющих свойства данного представителя класса. При этом набор атрибутов должен быть таким, чтобы можно было различать конкретные экземпляры сущности.
Между сущностями могут быть установлены связи — бинарные ассоциации, показывающие, каким образом сущности соотносятся или взаимодействуют между собой. Связь может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). Она показывает, как связаны экземпляры сущностей между собой. Если связь устанавливается между двумя сущностями, то она определяет взаимосвязь между экземплярами одной и другой сущности.[3]
3.2 Классификация связей
Связи делятся на три типа по множественности:
Один-к-одному (1:1).
При таком типе связи каждой записи одной таблицы соответствует не более одной записи другой таблицы и наоборот. Связанные таким образом таблицы можно легко объединить в одну. Связь часто используется для разбиения очень широких таблиц на более узкие, что позволяет уменьшить время просмотра и управлять доступом к определенным частям таблицы.
Один-ко-многим (1:М).
Связывает одну строку какой-либо таблицы с двумя или несколькими строками другой. Связь устанавливается между первичным ключом основной таблицы и соответственным внешним ключом связной или подчиненной таблицы. Такие связи наиболее распространены между таблицами реляционной БД.
Многие-ко-многим (М:М).
Связь нельзя установить между таблицами непосредственно, она устанавливается через третью таблицу, связную с двумя основными таблицами отношением многие к одному. [3]