Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными (пособие).pdf
Скачиваний:
280
Добавлен:
21.05.2015
Размер:
5.42 Mб
Скачать

4.Инфологическое проектирование БД. Сущности, объекты, свойства, связи

Question: What is an object?

Answer: Everything!

C.J. Date

Начальным этапом проектирования базы данных, так называемым этапом инфологического проектирования, является определение того, какая информация о предметной области должна быть представлена в базе данных.

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

Таким образом, сразу же встает вопрос о построении некой семантической модели предметной области, отражающей необходимую информацию о выбранной предметной области. В качестве такого рода модели, широко используемой на этапе инфологического проектирования баз данных, является так называемая модель сущность-связь или сущность-отношение (En- tity/Relation-ship Model), сокращенно – «ER-модель», предложенная в 1976 году Ченом (Peter Pin-Shan Chen).

На какие же вопросы на данном этапе необходимо получить ответ?

Сущности и их свойства

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

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

Любой выделенный объект-сущность предметной области характеризуются своими свойствами. Фактически начальное выделение в

26

модели множества объектов-сущностей предметной области состоит в определении и выделении множества существенных свойств этих объектов.

Одним из важнейших свойств является свойство идентифицируемости сущностей, благодаря которому, собственно, и оказывается возможным выделять конкретный объект-сущность из множества других объектов. Более того, само понятие сущности можно определить как «нечто, что может быть четко идентифицируемо».

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

Таким образом, на начальном этапе построения инфологической модели предметной области:

выделяются объекты, информация о которых будет фиксироваться в базе данных,

определяются свойства, позволяющие идентифицировать отдельные экземпляры объектов,

выделяются свойства, позволяющие объединять отдельные объекты (экземпляры) в абстрактные сущности, являющиеся классами или типами объектов.

Например, в некоторой предметной области в качестве объектов– экземпляров можно выделить отдельные «персоны» – Иванов, Петров, Сидоров и т.д. Для каждого из этих объектов определяются свойства, позволяющие их идентифицировать, например паспортные данные, номер пенсионного страхового полиса или набор других признаков. Также, в контексте решаемой задачи определяются свойства, позволяющие объединять эти объекты в абстрактные типы объектов–сущностей, например, множества «персон», объединяемых абстрактными сущностями студент, сотрудник,

руководитель и т.д.

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

Модель сущность-связь конкретной предметной области удобно представлять графически с помощью так называемых ER-диаграмм. На рисунке 4.1 представлен пример такой диаграммы.

27

фам

 

имя

отч

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

стипенд

 

ФИО

 

 

 

код

 

код

 

 

наимен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

студенты

 

 

 

 

 

 

 

факультеты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кол_час

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дисциплина

 

преподаватели

 

 

 

 

 

 

 

 

 

 

 

наимен

 

 

код

 

код

 

 

 

 

 

уч_зван

 

 

 

 

 

 

 

 

ФИО

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.1. Пример диаграммы сущностей предметной области и их свойств

Как видно из рисунка, в приведенной предметной области выделено четыре сущности (точнее четыре типа сущностей): СТУДЕНТЫ,

ПРЕПОДАВАТЕЛИ, ФАКУЛЬТЕТЫ и ДИСЦИПЛИНЫ (обозначены прямоугольниками). Экземпляры, принадлежащие каждому из этих типов сущностей, характеризуются определенными наборами свойств, называемых обычно атрибутами (на диаграмме обозначены овалами). Набор свойств, позволяет различать между собой типы выделенных сущностей. Экземпляры конкретных сущностей различаются между собой значениями их свойств. В общем случае каждый конкретный экземпляр может быть идентифицирован набором всех значений его свойств (в противном случае у нас просто не было бы никаких способов различить два экземпляра друг от друга). Однако обычно экземпляры сущности могут быть идентифицируемы не по полному набору значений ее свойств, а по части или даже по одному свойству. Такой набор свойств, позволяющий однозначно идентифицировать экземпляры сущности, называется ключевым или просто ключом сущности. На практике часто специально вводят для сущности искусственное свойство-идентификатор, назначением которого является именно и только идентификация экземпляров. На приведенной диаграмме примером такого специально введенного свойстваидентификатора является свойство КОД у сущностей СТУДЕНТЫ,

ПРЕПОДАВАТЕЛИ, ФАКУЛЬТЕТЫ и ДИСЦИПЛИНА, принимающее, например,

числовые значения типа integer (положительные целые числа). При этом для конкретного типа сущности, например СТУДЕНТЫ, не допускается наличие двух экземпляров (двух конкретных студентов) с одинаковыми значениями свойства КОД. Напротив, экземпляры разных сущностей в общем случае могут иметь одинаковые значения свойств–идентификаторов. Относительно свойств сущностей можно отметить также, что они не обязательно должны быть