2.1 Реляционные базы данных. Модель данных

 

Проектирование базы данных сложный процесс который ставит своей задачей отобразить предметную область в набор данных и процедур доступа к ним. Принято выделять три этапа проектирования базы данных (см. рис. 2.1) :

•  инфологического проектирование – получении семантических (смысловых) моделей, отражающих информационное содержание проблемы;

 

Рис. 2.1. Этапы проектирования баз данных

 

•  логическое проектирование рассматривает Каким образом отобразить объекты предметной области в абстрактные объекты модели данных так, чтобы это отображение не противоречило семантике предметной области, и было, по возможности, наилучшим (эффективным, удобным и т.д.);

•  Физическое проектирование - каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создание каких дополнительных структур (например, индексов) необходимо потребовать и т.д.

В настоящее время все большее распространение приобретают модель типа «Сущность-Связь» (Entity-Relationship - ER-модель). База данных построенные на основе этой модели называют реляционными. Основными понятиями ER-модели являются сущность, связь атрибут.

Сущность (объект) - это реальный или представляемый объект предметной области, информация о котором должна сохраняться и быть доступна. Различают такие понятия как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных предметов, событий, личностей, выступающих как единое целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, сущность – счет-фактура, экземпляр сущности – СФ №15 от 10.10.2003, контрагент ООО «Солнышко» на сумму 37 000 руб. Сущность – клиент, экземпляр сущности – ЧП Иванов.

Атрибут - поименованная характеристика сущности, определяющая его свойства и принимающая значения из некоторого множества значений. Каждый атрибут обеспечивается именем, уникальным в пределах сущности. Например Клиент.Название, Клиент.Юридический_адрес, Клиент.ИНН.

Множество из одного или нескольких атрибутов, значения которых однозначно определяют каждый экземпляр сущности, называются идентификатором (ключом) . Каждая сущность должен иметь хотя бы один идентификатор. Если идентификаторов несколько, один из них выбирается как привилегированный. Например для сущности Клиент идентификатором может служить ИНН, для счет-фактуры – дата и номер.

Атрибуты могут классифицироваться по принадлежности к одному из трех различных типов:

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

•  указывающие - используются для присвоения имени или обозначения экземпляров сущности (например, Счет-фактура.Номер);

•  вспомогательные - используются для связи экземпляра одного сущности с экземпляром другого (например, Счет-фактура.ИНН_Клиента).

Представление сущности: Клиент ( ИНН_Клиента , название_клиента, юр_адрес, телефон, контактное_лицо);

 

Клиент

* ИНН клиента

  • название клиента
  • юр. адрес
  • телефон
  • контактное лицо

Рис. 2.2. Графическое представление сущности

 

Правила атрибутов:

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

•  Атрибут не должен содержать никакой внутренней структуры (например название банка, БИК банка и номер расчетного счета не могут быть в одном атрибуте);

•  Когда сущность имеет составной идентификатор, каждый атрибут, не являющийся частью идентификатора, представляет характеристику всей сущности, а не ее части, а тем более не характеристику чего-либо другого (например, Перемещение ( Склад1 , Склад2 , материал, количество) – атрибуты материал и количество указывает количество перемещаемого, а не количество хранимого на каком либо складе складе);

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

Связь (Relationship) - это поименованная графически изображаемая ассоциация, устанавливаемая между сущностями и представляющая собой абстракцию набора отношений, которые систематически возникают между различными видами предметов в реальном мире. При анализе связей между сущностями могут иметь место бинарные связи (между двумя сущностями или между сущностью и ей же самой - рекурсивная связь), в общем случае - n-арные связи. В ER-диаграммах связь обозначается направленными ребрами с соответствующими надписями (нотация IDEF1). Среди бинарных связей существуют три фундаментальных вида связи: один к одному (1:1), один ко многим (1:M), многие ко многим (M:N).

Связь один к одному (1:1) существует, когда один экземпляр одной сущности связан с единственным экземпляром другой сущности. Например Сущность Подразделение – сущность Руководитель (см. рис. 2.3).

 

Рис. 2.3. Связь один к одному

 

Связь один ко многим (1:M) существует, когда один экземпляр одной сущности связан с одним или более экземпляром другой сущности и каждый экземпляр второй сущности связан только с одним экземпляром первой сущности например отгрузка – клиент (см. рис. 2.4).

Рис. 2.4. Связь один ко многим

 

Связь многие ко многим (М:N) существует, когда один экземпляр одной сущности связан с одним или более экземпляром другой сущности и каждый экземпляр второй сущности связан с одним или более экземпляром первой сущности (см. рис. 2.5);

Рис. 2.5. Связь многие ко многим

<<Предыдущий

Содержание

Следующий>>