Файл: Управление данными (пособие).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.03.2021

Просмотров: 1660

Скачиваний: 26

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

26

модели

 

множества

 

объектов

-

сущностей

 

предметной

 

области

 

состоит

 

в

 

определении

 

и

 

выделении

 

множества

 

существенных

 

свойств

 

этих

 

объектов

.  

сущностей

благодаря

 

которому

собственно

и

 

оказывается

 

возможным

 

выде

о

ак

м

 

,

к

ф

а

Другими

 

словами

на

 

данном

 

этапе

 

проектирования

 

модель

 

представляет

 

ляров

 

объектов

-

сущностей

их

 

подмножества

 

экземпляров

и

 

набо

Одним

 

из

 

важнейших

 

свойств

 

является

 

свойство

 

идентифицируемости

 

лять

 

конкретный

 

объект

-

сущность

 

из

 

множества

 

других

 

объектов

Более

 

того

сам

 

понятие

 

сущности

 

можно

 

определить

 

к

 «

нечто

что

 

ожет

 

быть

 

четко

 

идентифицируемо

»

.  

Другие

 

свойства объектов

напротив

позволяют

 

устанавливать

 

общность

 

между

 

различными

 

объектами

Выделенная

 

с

 

помощью

 

специфицированного

 

свойства

 

общность

 

между

 

различными

 

объектами

 

позволяет

 

осуществлять

 

их

 

классификацию

то

 

есть

 

объединять

 

сходные

 

объекты

  (

имеющие

 

общие

 

свойства

в

 

типы

 

или

 

классы

Сами

 

эти

 

типы

  (

классы

по

 

своей

 

сути

 

также

 

являются

 

сущностями

но

 

более

 

абстрактными

обобщающими

 

свойства

 

некоторого

 

множества

 

экземпляров

 

сходных

 

объектов

Отношение

 

между

 

сущностью

-

классом

 

и

 

сущностью

-

экземпляром

 

этого

 

класса

 

называется

 

отношением

 

типа

 

абстрактное

-

конкретное

 

или

 

общее

-

частное

Таким

 

образом

на

 

начальном

 

этапе

 

построения

 

инфологической

 

модели

 

предметной

 

области

 

выделяются

 

объекты

 

информация

 

о

 

оторых

 

будет

 

иксироваться

 

в

 

базе

 

данных

,  

 

определяются

 

свойства

позволяющие

 

идентифицировать

 

отдельные

 

экземпляры

 

объектов

,  

 

выделяются

 

свойств

позволяющие

 

объединять

 

отдельные

 

объекты

 

(

экземпляры

в

 

абстрактные

 

сущности

являющиеся

 

классами

 

или

 

типами

 

объектов

.  

Например

в

 

некоторой

 

предметной

 

области

 

в

 

качестве

 

объектов

экземпляров

 

можно

 

выделить

 

отдельные

  «

персоны

» – 

Иванов

Петров

Сидоров

 

и

 

т

.

д

Для

 

каждого

 

из

 

этих

 

объектов

 

определяются

 

свойства

позволяющие

 

их

 

идентифицировать

например

 

паспортные

 

данные

номер

 

пенсионного

 

страхового

 

полиса

 

или

 

набор

 

других

 

признаков

Также

в

 

контексте

 

решаемой

 

задачи

 

определяются

 

свойства

позволяющие

 

объединять

 

эти

 

объекты

 

в

 

абстрактные

 

типы

 

объектов

сущностей

например

множества

 

«

персон

», 

объединяемых

 

абстрактными

 

сущностями

 

студент

сотрудник

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

 

и

 

т

.

д

предметную

 

область

 

в

 

виде

 

множества

 

экземп

абстрактных

 

типов

  (

классов

), 

описывающих

 

ра

  (

агрегации

свойств

позволяющих

 

относить

 

конкретные

 

экземпляры

 

объектов

 

к

 

тому

 

или

 

иному

 

типу

Модель

 

сущность

-

связь

 

конкретной

 

предметной

 

области

 

удобно

 

представлять

 

графически

 

с

 

помощью

 

так

 

называемых

 

ER-

диаграмм

На

 

рисунке

 

4.1 

представлен

 

пример

 

такой

 

диаграммы

.  


background image

 

27

ФИО

стипенд

фам

имя

отч

код

код

студенты

факультеты

ко

Ф О

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

дисциплина

уч

_

зван

д

кол

_

час

наимен

наимен

 

д

И

ко

свойств

В

 

общем

 

случае

 

каждый

 

конкретный

 

экземпляр

 

может

 

быть

 

идентифицирован

 

набором

 

всех

 

значений

 

его

 

свойств

 (

в

 

противном

 

случае

 

у

 

нас

 

просто

 

не

 

было

 

бы

 

никаких

 

способов

 

различить

 

два

 

экземпляра

 

друг

 

от

 

друга

). 

Однако

 

обычно

 

экземпляры

 

сущности

 

могут

 

быть

 

идентифицируемы

 

не

 

по

 

полному

 

набору

 

значений

 

ее

 

свойств

а

 

по

 

части

 

или

 

даже

 

по

 

одному

 

свойству

Такой

 

набор

 

свойств

позволяющий

 

однозначно

 

идентифицировать

 

экземпляры

 

сущности

называется

 

ключевым

 

или

 

просто

 

ключом

 

сущности

На

 

практике

 

часто

 

специально

 

вводят

 

для

 

сущности

 

искусственное

 

свойство

-

идентификатор

назначением

 

которого

 

является

 

именно

 

и

 

только

 

идентификация

 

экземпляров

На

 

приведенной

 

диаграмме

 

примером

 

такого

 

специально

 

введенного

 

свойства

-

идентификатора

 

является

 

свойство

 

КОД

 

у

 

сущностей

 

СТУДЕНТЫ

ПРЕПОДАВАТЕЛИ

ФАКУЛЬТЕТЫ

 

и

 

ДИСЦИПЛИНА

,

 

принимающее

например

числовые

 

значения

 

типа

 

integer

 (

положительные

 

целые

 

числа

). 

При

 

этом

 

для

 

конкретного

 

типа

 

сущности

например

 

СТУДЕНТЫ

не

 

допускается

 

наличие

 

двух

 

экземпляров

  (

двух

 

конкретных

 

студентов

с

 

одинаковыми

 

значениями

 

свойства

 

КОД

Напротив

экземпляры

 

разных

 

сущностей

 

в

 

общем

 

случае

 

могут

 

иметь

 

одинаковые

 

значения

 

свойств

идентификаторов

Относительно

 

свойств

 

сущностей

 

можно

 

отметить

 

также

что

 

они

 

не

 

обязательно

 

должны

 

быть

 

Рис

.  4.1. 

Пример

 

диаграммы

 

сущностей

 

предметной

 

области

 

и

 

их

 

свойств

 

Как

 

видно

 

из

 

рисунка

в

 

приведенной

 

предметной

 

области

 

выделено

 

четыре

 

сущности

 

(

точнее

 

четыре

 

типа

 

сущностей

): 

СТУДЕНТЫ

ПРЕПОДАВАТЕЛИ

ФАКУЛЬТЕТЫ

 

и

 

ДИСЦИПЛИНЫ

 

(

обозначены

 

прямоугольниками

). 

Экземпляры

принадлежащие

 

каждому

 

из

 

этих

 

типов

 

сущностей

характеризуются

 

определенными

 

наборами

 

свойств

называемых

 

обычно

 

атрибутами

 

(

на

 

диаграмме

 

обозначены

 

овалами

). 

Набор

 

свойств

позволяет

 

различать

 

между

 

собой

 

типы

 

выделенных

 

сущностей

Экземпляры

 

конкретных

 

сущностей

 

различаются

 

между

 

собой

 

значениями

 

их

 


background image

 

28

простыми

 (

скалярными

). 

Как

 

показано

 

на

 

рисунке

 4.1, 

свойство

 

ФИО

 

сущности

 

СТУДЕНТЫ

 

является

 

составным

являясь

 

агрегацией

 

трех

 

простых

 

свойств

 

ФАМ

 

(

фамилия

), 

ИМЯ

 

и

 

ОТЧ

 (

отчество

).  

Связи

 (

отношения

между

 

сущностями

 

Следующим

 

этапом

 

анализа

 

предметной

 

области

 

является

 

определение

 

связей

  (

отношений

), 

в

 

которых

 

находятся

 

составляющие

 

предметную

 

область

 

объекты

Реальные

 

объекты

 

предметной

 

области

 

не

 

являются

 

независимыми

а

 

находятся

 

между

 

собой

 

в

 

разнообразных

 

отношениях

Например

сущности

 

СТУДЕНТЫ

 

и

 

ФАКУЛЬТЕТЫ

 

связаны

 

тем

что

 

конкретные

 

студенты

 

учатся

 

на

 

определенных

 

факультетах

сущности

 

ПОСТАВЩИКИ

 

и

 

ДЕТАЛИ

 

связаны

 

тем

что

 

конкретные

 

поставщики

 

поставляют

 

определенные

 

детали

 

и

 

т

.

д

Информация

 

о

 

связях

 (

отношениях

между

 

сущностями

 

также

 

является

 

важной

 

составляющей

 

всей

 

информации

 

о

 

предметной

 

области

 

и

 

также

 

должна

 

быть

 

представлена

 

в

 

базе

 

данных

Очевидно

что

 

при

 

формировании

 

модели

 

предметной

 

области

 

из

 

всего

 

многообразия

 

связей

 

должны

 

быть

 

выделены

 

существенные

 

связи

-

отношения

важность

 

которых

 

определяется

 

также

 

контекстом

 

решаемой

 

задачи

Связи

 

между

 

одними

 

и

 

теми

 

же

 

объектами

существенные

 

для

 

одной

 

задачи

могут

 

не

 

иметь

 

никакого

 

значения

 

в

 

контекс

 

другой

 

задачи

Также

 

как

 

и

 

для

 

самих

 

объектов

для

 

связей

-

отношений

 

между

 

объектами

 

ц

щие

 

место

 

между

 

конкретными

 

экземплярами

 

объектов

и

 

типы

  (

классы

связей

щими

 

связи

 

между

 

множествами

 

сами

).  

Е

)

те

елесообразно

 

различать

 

экземпляры

 

связей

то

 

есть

 

связи

имею

являющиеся

 

абстракциями

обобщаю

объектов

описываемых

 

их

 

типами

 (

клас

Например

связь

 

между

 

абстрактными

 

сущностями

 

СТУДЕНТЫ

 

и

 

ФАКУЛЬТЕТЫ

 

это

 

тип

 

связи

а

 

связь

 

между

 

конкретными

 

экземплярами

 

этих

 

сущностей

допустим

 

студентом

 

Ивановым

 

и

 

Факультетом

 

компьютерных

 

наук

экземп

уже

 

будет

 

ляром

 

приведенного

 

типа

 

связи

На

 

диаграмме

приведенной

 

на

 

рисунке

 4.2, 

связи

-

отношения

 

между

 

объектами

 

обозначены

 

ромбами

Например

как

 

показано

 

на

 

этой

 

диаграмме

сущность

 (

тип

 

сущности

СТУДЕНТЫ

 

связана

 

с

 

сущностью

 (

тип

ФАКУЛЬТЕТЫ

 

связью

 

типа

 

УЧИТСЯ

_

НА

Эта

 

связь

 

отражает

 

тот

 

факт

 

данной

 

предметной

 

области

что

 

конкретные

 

студенты

  (

экземпляры

 

сущности

 

СТУДЕНТЫ

учатся

 

на

 

ко

к

х

 

с

с

нкретных

 

фа ультета

 (

экземплярах ущно ти

 

ФАКУЛЬТ ТЫ

.  

 


background image

 

29

фам

имя

отч

ФИО

стипенд

код

код

т

_

наимен

1

 

тей

 

и

 

связей

 

между

 

ними

 

торые

 

могут

 

существовать

 

между

 

сущностями

 

пред

но

 

отме

ми

 

одновременно

 

могут

 

иметь

 

место

 

не

 

один

ми

 

ПРЕ

Т

и

 

и

 

связ

ва

 

факта

первый

что

 

 

л

ух

 

разл

ер

для

 

казано

кто

 

является

 

их

 

старостой

 

(

стар

в

 

сущностей

Так

 

связь

 

ДИСЦ

_

СТУД

_

ПРЕП

 

отражает

 

тот

 

факт

что

 

студенты

 

изучают

 

конкретные

 

учебные

 

дисциплины

 

у

 

конкретных

 

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

студенты

факультеты

учится

_

на

преподае на

явл

_

деканом

староста

дисц

_

студ

_

преп

M

M

M

1

1

M

ауд№

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

дисциплина

преп

_

дисц

кол

_

час

M

M

M

M

M

1

учебники

код

ФИО

уч

_

зван

код

наимен

Рис

.  4.2. 

Пример

 

диаграммы

 

сущнос

Виды

 

связей

 

между

 

сущностями

 

Говоря

 

о

 

видах

 

связей

ко

метной

 

области

и

 

примеры

 

которых

 

приведены

 

на

 

рисунке

 4.2, 

мож

тить

 

следующее

.  

Между

 

одними

 

и

 

теми

 

же

 

сущностя

а

 

несколько

 

типов

 

связей

Например

между

 

сущностя

ПОДАВА ЕЛИ

 

и

 

ФАКУЛЬТЕТЫ

 

показаны

 

две

 

связ

связь

 

ПРЕПОДАЕТ

_

НА

ь

 

ЯВЛ

_

ДЕКАНОМ

отражающие

 

соответственно

 

д

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

 

преподают

 

на

 

определенных

 

факультетах

и

 

второй

что

 

какие

-

то

 

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

 

являются

 

деканами

 

факультетов

.  

Связанными

 

между

 

собой

 

могут быть

 

экземп яры

 

не

 

только

 

дв

ичных

 

сущностей

но

 

и

 

экземпляры

 

одной

 

и

 

той

 

же

 

сущности

Наприм

конкретных

 

студентов

 

может

 

быть

 

у

оста

 

тоже

 

студент

).  

Могут

 

быть

 

связаны

 

между

 

собой

 

экземпляры

 

более

 

чем

 

двух

 

типо


background image

 

30

Причем

следует

 

обратить

 

внимание

что

 

эта

 

связь

 

не

 

эквивалентна

 

трем

 

попарным

 

связям

:  

СТУДЕНТЫ

 

  

ДИСЦИПЛИНЫ

,  

и

а

 

б

р

характеризует

 

число

 

экзем л
различа

), 

связь

 

многие

-

Ра

ель

 

и

 

дисц

конкретные

е

д

конкрет

вателями

.  

Свя

1

экземпл

тся

 

не

 

более

 

чем

 

одним

 

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

Связи

 

1:

m

 

(

один

-

ко

-

многим

и

 

m

:1 

(

многие

-

к

-

одному

)

Не

 

более

 

одного

 

экзем л

 

с

 

любым

 

количеством

 

экземпляр

ругой

 

сущности

.

 

Связь

m

.

 

Каждый

 

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

 

может

 

преподавать

 

любое

 

 

дисциплина

 

преподается

 

не

 

более

 

чем

 

одним

 

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

.

 

Связь

 

m

:1.

 

Каждый

 

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

 

может

 

преподавать

 

не

 

более

 

одной

 

учебной

 

дисциплины

но

 

каждая

 

дисциплина

 

может

 

вателем

Связь

 

m

:

гие

-

ко

-

многим

)

Каждый

 

из

 

экземпляров

 

обеих

 

сущностей

 

может

 

быт

 

с

 

любым

 

числом

 

экземпляров

 

другой

 

сущности

.

 

одавать

 

любое

 

количество

 

учебных

 

дисциплин

и

 

каждая

 

дисциплина

 

может

 

преподаваться

 

любым

 

количеством

 

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

На

 ER-

диаграммах

 

степень

 

связи

 

может

 

обозначаться

например

символами

 1

 

или

 

m

  

у

 

соответствующих

 

концов

 

линий

обозначающих

 

связь

,  

СТУДЕНТЫ

 

 

ПРЕПОДАВАТЕЛИ

    

ПРЕПОДАВАТЕЛИ

 

 

ДИСЦИПЛИНЫ

Таким

 

образом

в

 

зависимости

 

от

 

числа

 

связанных

 

сущностей

связь

 

может

 

быть

 

одинарной

  (

это

 

связь

 

между

 

экземплярами

 

одной

 

и

 

той

 

же

 

сущности

ее

 

еще

 

называют

 

рефлексивной

), 

бинарной

 

(

между

 

двумя

 

сущностями

и

в

 

общем

 

случ е

n

-

арной

  (

связь

 

между

 

n

 

сущностями

). 

Следует сразу

 

заметить

что

 

на

 

практике

 

при

 

моделировании

 

предметной

 

области

 

наиболее

 

часто

 

используются

 

инарные

 

связи

Важной

 

ха актеристикой

 

связи

 

между

 

экземплярами

 

сущностями

 

является

 

степень

  (

cardinality

этой

 

связи

Степень

 

связи

 

п яров

 

сущности

которое

 

может

 

участвовать

 

в

 

связи

По

 

степени

 

связи

 

ют

 

связи

 

типа

 

один

-

к

-

одному

 (1:1

), 

связь

 

один

-

ко

-

многим

 

(

1:

m

к

-

одному

 (

m

:1

и

 

связь

 

типа

 

многие

-

ко

-

многим

 

(

m

:

n

).  

ссмотрим

 

эти

 

варианты

 

на

 

примере

 

связи

 

сущностей

 

преподават

иплина

Эта

 

связь

 

указывает

 

на

 

то

какими

 

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

 

преподаются

 

 

учебны

 

дисциплины

и

 

наоборот

какие

 

исциплины

 

преподают

 

ные

 

препода

зь

 

:1 

(

один

-

к

-

одному

)

В

 

этой

 

связи

 

может

 

участвовать

 

не

 

больше

 

одного

 

яра

 

каждой

 

из

 

связываемых

 

сущностей

.  

Каждый

 

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

 

преподает

 

не

 

более

 

одной

 

дисциплины

и

 

каждая

 

дисциплина

 

преподае

п яра

 

одной

 

сущности

 

может

 

быть

 

связано

ов

 

д

 1:

количество

 

учебных

 

дисциплин

но

 

каждая

преподаваться

 

более

 

чем

 

одним

 

препода

m

 

(

мно

ь

 

связан

Каждый

 

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

 

может

 

преп