
- •Уфимский государственный авиационный технический университет филиал в городе стерлитамак
- •Целью курсовой работы
- •Порядок получения задания, выполнения и сдачи курсовой работы
- •Задание к курсовой работе
- •Требования к оформлению курсовой работы
- •Структура пояснительной записки
- •Порядок защиты работы
- •Варианты заданий
- •Варианты заданий предметных областей
- •Вариант № 1
- •Вариант № 2.
- •Вариант №3
- •Вариант №4.
- •Вариант №5.
- •Вариант №6.
- •Вариант №7.
- •Вариант №8.
- •Вариант №9.
- •Вариант №10.
- •Вариант №11.
- •Вариант №12.
- •Вариант №13.
- •Вариант №14
- •Вариант №15.
- •Основные этапы разработки
- •1 Описание предметной области
- •2 Проектирование базы данных
- •2.1 Построение логической модели данных
- •2.2 Создание реляционной модели данных
- •2.3 Создание физической модели данных
- •3 Проектирование и реализация информационной системы
- •3.1 Задачи, решаемые с помощью ис
- •3.2 Реализация ис
- •Уфимский государственный авиационный технический университет филиал в городе стерлитамак
- •Разработка информационной системы « … » высокоуровневыми средствами программирования пояснительная записка
2.1 Построение логической модели данных
Проектирование БД начинается с логической модели данных, которая описывает объекты предметной области (сущности), их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. При построении модели данных учитываются лишь самые важные их свойства; второстепенные при этом игнорируются. Логическая модель не зависит от типа выбранной СУБД и особенностей физической реализации.
Для построения качественной логической модели БД необходимо предварительно структурировать предметную область и зафиксировать совокупность подлежащих отображению в БД объектов. Для каждого объекта нужно определить совокупность свойств, посредством которых будут описываться конкретные сущности, и отношения (взаимосвязи) между ними. Затем решить вопрос о том, какая информация об объектах должна быть представлена в БД и как ее представить с помощью данных.
Другими словами, на этом этапе проектирования базы данных необходимо определить:
– какие объекты важны для применения;
– какие свойства могут иметь эти объекты;
– какие связи существуют между объектами;
– какие существуют ограничения на данные
– какие имена можно присвоить отдельным составляющим объектной системы.
Логическая модель БД должна быть представлена в виде ER-диаграммы, где сущности изображаются в виде прямоугольников с их именами внутри. Связи между сущностями изображаются в виде линий, соединяющих соответственные типы сущностей, и обозначаемых именем связи. Имя связи обычно представляет собой глагол. Например, «принадлежит» или «владеет». На схеме обычно указывается направление связи, например, «футболист принадлежит клубу»:
-
футболист
принадлежит
клуб «Челси»
Связи с несколькими участниками обозначаются ромбами, при этом направленная стрелка не применяется:
фирма
банк
берет
кредит
Напомним, что существует три типа двусторонних связей: «один к одному», «один ко многим» и «многие ко многим».
Связь типа «один к одному» (сокращенное обозначение 1:1) означает, что не более одного экземпляра сущности А соответствует не более чем одному экземпляру сущности В:
Если экземпляру первой сущности отвечает нуль или один экземпляр второй сущности, то при построении ER-диаграммы рядом с изображением второй сущности помещается обозначение 0..1. Если любому экземпляру второй сущности соответствует только один экземпляр первой сущности, рядом с изображением первой сущности помещается обозначение 1..1, например:
-
Сотрудник
р
уководит
отдел
1..1 0..1
Связь типа «один ко многим» (1:*) означает, что не более одного экземпляра сущности А соответствует нескольким экземплярам сущности В. Если каждому экземпляру сущности А соответствует несколько экземпляров сущности В на схеме около изображения сущности В помещается обозначение 0..*. Если каждому экземпляру сущности В отвечает ноль или один экземпляр сущности А, то рядом с изображением сущности А на ER-диаграмме помещается обозначение 0..1:
-
гражданин
в
ладеет
кредитная карта
1..1 0..*
Связь типа «многие ко многим» (*:*) означает, что один или более экземпляр первой сущности соответствует нескольким экземплярам второй сущности. Если каждому экземпляру первой сущности соответствует ноль и более экземпляров второй сущности, то на схеме около изображения второй сущности помещается обозначение 0..*. Если же каждому экземпляру второй сущности отвечает один или более экземпляр первой сущности, то рядом с изображением первой сущности помещается обозначение 1:*, например:
-
предприятие
п оставляет
изделия
1..* 0..*
В данном курсовом проекте все сущности должны отображаться на схеме вместе со своими атрибутами. Для этого прямоугольник, изображающий сущность, делится на две части. В верхней части прямоугольника указывается имя сущности, а в нижней – список имен атрибутов (свойств). Первым в списке атрибутов следует первичный ключ, (он может быть составным). Первичный ключ выделяется подчеркиванием.
Напомним, что первичный ключ единственным образом идентифицирует экземпляр сущности (конкретную запись об объекте). Назначая первичный ключ, необходимо соблюдать правило целостности сущностей: ни один атрибут первичного ключа не может содержать NULL -значений.
Внешний ключ (атрибут, являющийся первичным ключом другой сущности; с его помощью устанавливается связь между объектами) помечается дескриптором {FK} (foreign key).
Рассмотрим изображение сущности «товар» с ее атрибутами:
Товар |
Код {PK} Название Производитель |
М
ожно
использовать и альтернативные способы
схематического изображения логических
моделей данных, например систему «воронья
лапа», где связи «один к одному», «один
ко многим» и «многие ко многим»
обозначаются следующим образом:
1) связь «один к одному»
2) связь «один ко многим»
3) связь «многие ко многим»
Для уменьшения избыточности информации и исключения аномалий выполняется нормализации сущностей. Для построения правильной логической модели, на должном уровне отражающей предметную область, в большинстве случаев достаточно привести все сущности к третьей нормальной форме (3НФ).
Напомним, что сущность находится в первой нормальной форме (1НФ), если каждый ее атрибут имеет единственное значение. Сущность находится во второй нормальной форме (2НФ), если она уже находится в 1НФ, и каждый неключевой атрибут зависит от первичного ключа в целом, но не зависит ни от одного подмножества первичного ключа. Наконец, сущность находится в третьей нормальной форме (3НФ), если она уже находится в 2НФ, и все неключевые атрибуты не зависят друг от друга, а зависят только от первичного ключа.