Проектирование структуры базы данных


Содержание лекционного занятия:

  • Концептуальное моделирование структуры данных
  •  Концептуальные модели данных
  •  Модель «сущность-связь»

Создание базы данных и входящих в нее таблиц с помощью SQL-конструкций. Этот подход можно применить при конст­руировании небольших информационных систем, но создание больших баз дан­ных, содержащих сотни и тысячи таблиц и сложные связи между ними, возможно только при использовании CASE-средств. Вручную очень трудно разработать и пред­ставить графически структуру системы, проверить ее на полноту и непротиворе­чивость, отслеживать версии и выполнять модификации.

В данной лекции мы рассмотрим создание концептуальной и физической моделей, а затем их использование для создания и модификации структуры базы данных с помощью современных CASE-средств.

Концептуальное моделирование структуры данных

Широкое распространение реляционных СУБД и их использование в самых раз­нообразных приложениях показывает, что реляционная модель данных достаточ­на для моделирования предметных областей. Однако проектирование реляцион­ной базы данных в терминах отношений на основе рассмотренного нами ранее механизма нормализации (см. главу 4 «Реляционные базы данных») часто пред­ставляет собой очень сложный и неудобный для проектировщика процесс. Это обусловлено некоторой ограниченностью реляционной модели данных, которая особенно ярко проявляется в следующих аспектах:

  •  реляционная модель не предоставляет достаточных средств для представления смысла данных. Проектировщик должен независимым от модели способом пред­ставлять семантику реальной предметной области. Примером данного ограни­чения может служить представление ограничений целостности;
  •  в ряде случаев предметную область трудно моделировать на основе плоских таблиц. Сложности могут возникнуть на начальной стадии проектирования при описании предметной области в виде одной (возможно, даже ненормализован­ной) таблицы;
  • хотя весь процесс проектирования происходит на основе учета зависимостей, реляционная модель не содержит никаких средств для представления этих за­висимостей;
  •  несмотря на то что процесс проектирования начинается с выделения некото­рых объектов (сущностей) предметной области, существенных для приложе­ния, и выявления связей между этими сущностями, реляционная модель дан­ных не предлагает какого-либо аппарата для разделения сущностей и связей.

Концептуальные модели данных

Для преодоления ограничений реляционной модели и обеспечения потребности проектировщиков баз данных в более удобных и мощных средствах моделирова­ния предметной области проектирование баз данных обычно выполняется не в терминах реляционной модели, а с использованием концептуальных моделей пред­метной области.

Обычно различают концептуальные модели двух видов:

  • объектно-ориентированные модели, в которых сущности реального мира пред­ставляются в виде объектов, а не записей реляционных таблиц;
  • семантические модели, отражающие значения реальных сущностей и отношений.

Объектно-ориентированную модель можно рассматривать как результат объеди­нения семантической модели данных и объектно-ориентированного языка програм­мирования.

Несмотря на то, что в последнее время все большее распространение получают объектно-ориентированные модели, не снижается и значение семантических мо­делей. Концептуальное моделирование баз данных на основе семантических моде­лей поддерживается во всех известных CASE-средствах (например, таких как ERWin и Power Designer). Кроме того, семантические модели более просты для понимания, особенно при проектировании сравнительно небольших баз данных.

Как и реляционная модель, любая развитая семантическая модель данных включает структурную, манипуляционную и целостную части. Главным назначением семанти­ческих моделей является обеспечение возможности выражения семантики данных.

Цель семантического моделирования — обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполага­ется хранить в создаваемой базе данных. Поэтому семантическую модель данных пытаются строить по аналогии с естественным языком (последний не может быть использован в чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого естественного языка). Основными конструктивными элементами семантических моделей являются сущности, связи между ними и их свойства (атрибуты).

Модель «сущность-связь»

Одной из наиболее популярных семантических моделей данных является модель «сущность-связь» (часто называемая также ER-моделью — по первым буквам ан­глийских слов Entity (сущность) и Relation (связь)).

На использовании разновидностей ER-модели основано большинство современ­ных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концеп­туальных схем баз данных ER-модели получили широкое распространение в CASE-средствах, предназначенных для автоматизированного проектирования реляцион­ных баз данных.

Для моделирования структуры данных используются ER-диаграммы (диаграммы «сущность-связь»), которые в наглядной форме представляют связи между сущ­ностями. В соответствии с этим ER-диаграммы получили распространение в CASE-системах, поддерживающих автоматизированное проектирование реляционных баз данных. Наиболее распространенными являются диаграммы, выполненные в со­ответствии со стандартом IDEF1X, который используют наиболее популярные CASE-системы (в частности, ERwin, Design/IDEF, Power Designer).

Основными понятиями ER-диаграммы являются сущность, связь и атрибут.

Сущность

Сущность — это реальный или виртуальный объект, имеющий существенное зна­чение для рассматриваемой предметной области, информация о котором подле­жит хранению. Если не вдаваться в подробности, то можно считать, что сущности соответствуют таблицам реляционной модели. Каждая сущность должна обладать следующими свойствами:

  • иметь уникальный идентификатор;
  •  содержать один или несколько атрибутов, которые либо принадлежат сущнос­ти, либо наследуются через связь с другими сущностями;
  •   содержать совокупность атрибутов, однозначно идентифицирующих каждый экземпляр сущности.
  • Любая сущность может иметь произвольное количество связей с другими сущно­стями.

В диаграммах ER-модели сущность представляется в виде прямоугольника, со­держащего имя сущности (рис. 5).

Работник

Должность

Оклад

 

 

Рис. 5. Отображение сущности

Связь

Связь — это соединение двух сущностей, при котором, как правило, каждый экземп­ляр одной сущности, называемой родительской сущностью, ассоциирован с про­извольным (в том числе нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, а каждый экземпляр сущности-потомка ассо­циирован в точности с одним экземпляром сущности-родителя.

Связь представляется в виде линии, связывающей две сущности или идущей от сущности к ней же самой (рис. 6). Для каждой связи между сущностями указы­ваются правила, обеспечивающие ее поддержание.

        Работник                                                         Фирма

                              10         Работает                  1

                              

Рис. 6. Связь между двумя сущностями

Атрибут

Атрибут является характеристикой сущности, значимой для рассматриваемой предметной области. В ER-диаграммах список атрибутов сущности отображается в виде строк внутри прямоугольника с изображением сущности. В реля­ционных базах данных аналогом атрибута является поле таблицы.

Вопросы для самоконтроля:

  1. Изложите требования, которым должна отвечать информационная технология.
  2. Что такое инструментарий информационной технологии?

Рекомендуемая литература:

  1.   Избачков Ю.С., Петров В.Н., Информационные системы: Учебник для вузов. 2-е изд. – СПб.: Питер, 2005.-656
  2.   Информатика: Учебник/Под ред. проф. Н.В. Макаровой, - М.: Финансы и статистика, 1997, 2000.