Главная страница
Навигация по странице:

  • 6.3.4

  • Связи «многие-ко-многим».

  • Уточняемые степени связи

  • Каскадные удаления экземпляров сущностей

  • Структура процесса моделирования в ERwin

  • Создание логической модели БД

  • Связь

  • Информатика. Инфор-ные системы_УП. Учебное пособие для студентов специальности 080801 Прикладная информатика (в экономике)


    Скачать 1.67 Mb.
    НазваниеУчебное пособие для студентов специальности 080801 Прикладная информатика (в экономике)
    АнкорИнформатика
    Дата07.05.2023
    Размер1.67 Mb.
    Формат файлаpdf
    Имя файлаИнфор-ные системы_УП.pdf
    ТипУчебное пособие
    #1113709
    страница18 из 19
    1   ...   11   12   13   14   15   16   17   18   19
    концептуальной моделью или схемой предметной
    области.
    Отметим, что различны не только множества типов различ- ных предметных областей, но и связи между ними. Поэтому для концептуальных моделей предметных областей, по-видимому, нельзя указать общую структуру, или, более точно, общую сиг- натуру отношений и операций. Однако некоторые базовые ти- пы, отношения и операции целесообразно включать в любую концептуальную схему.
    Отношение между типами. Пусть S — фиксированное множество типов. Так как в каждый момент времени t двум ти- пам T
    1
    и T
    2
    соответствуют два множества объектов
    1 ob
    ( )
    t
    T
    и
    2 ob
    (
    )
    t
    T
    , то между ними существуют определенные теоретически множественные отношения, например
    1 ob
    2 ob
    ( )
    (
    )
    t
    t
    T
    T

    или
    1 ob
    2 ob
    ( )
    (
    )
    t
    t
    T
    T

    = ∅
    . Эти отношения могут носить случайный характер или, наоборот, быть справедливыми для любых значе- ний t. Во втором случае они, как правило, выражают устойчи- вые закономерности предметной области. Чтобы иметь возмож- ность отразить эти аксиомы в концептуальной модели, множе- ство S снабжается отношением частичного порядка, которое принято обозначать IS-A. Это отношение интерпретируется сле- дующим образом: «Если Т
    1
    IS-A Т
    2
    , то в любой момент времени
    t каждый объект типа Т
    1
    является объектом типа Т
    2
    ». Другими

    186
    словами, справедлива следующая аксиома:
    1 ob
    2 ob
    ( )
    (
    )
    t
    t
    t T
    T


    Если множество типов S конечно, то его можно изобразить в виде ориентированного графа, вершины которого помечены именами типов, а дуги соединяют те вершины, которые нахо- дятся в отношении IS-A. На рис. 6.2 представлен фрагмент тако- го графа.

    Человек
    Сотрудник
    Преподаватель
    Учащийся
    Аспирант
    Студент
    Рис. 6.2 — Фрагмент модели предметной области
    «учебный процесс»
    Операции над типами. Наиболее употребительными яв- ляются операции
    ,
    , \
    ∩ ∪
    , соответствующие обычным теоре- тико-множественным конструкциям. Эти операции порождают новые типы, которые сначала не были определены. Например:
    ЧЕЛОВЕК
    = МУЖЧИНА

    ЖЕНЩИНА
    МУЖЧИНА

    ЖЕНЩИНА =

    Описанный арсенал средств моделирования позволяет представлять достаточно сложные структуры предметных об- ластей.
    Таким образом, концептуальная модель предметной области есть формальное описание объектов, их свойств и отношений.
    Контрольные вопросы
    1.
    Что такое тип данных?
    2.
    Что имеет каждый тип данных?
    3.
    Что является моделью в математическом смысле?
    4.
    Что такое отношение между типами данных?
    5.
    Что есть концептуальная модель предметной области?

    187
    6.3.4
    Модель
    «
    сущность
    -
    связь
    »
    Понятийные основы моделирования предметной области были предложены Петером Пин-Шен Ченом в 1976 г. На ис- пользовании модели «сущность-связь» (Entity-Relationship, ER- модели) основано большинство современных подходов к проек- тированию баз данных (главным образом, реляционных). Моде- лирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разно- родных компонентов. В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в CASE-системах, поддерживающих автомати- зированное проектирование реляционных баз данных. Базовыми понятиями ER-модели являются сущность, связь и атрибут.
    Сущность — это реальный или воображаемый объект, ин- формация о котором представляет интерес. В диаграммах ER- модели сущность представляется в виде прямоугольника, со- держащего имя сущности. При этом имя сущности — это имя типа, а не конкретного объекта — экземпляра этого типа. Каж- дый экземпляр сущности (набор значений атрибутов) должен быть отличим от любого другого экземпляра той же сущности.
    Связь — это графически изображаемая ассоциация, уста- навливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). В любой связи выделяются два конца (в соответствии с парой связываемых сущностей), на каждом из которых указы- ваются имя конца связи, степень конца связи (сколько экземп- ляров данной сущности связывается), обязательность связи (т.е. любой ли экземпляр данной сущности должен участвовать в данной связи).
    Связь представляется в виде линии, связывающей две сущ- ности или ведущей от сущности к ней же самой. При этом в месте «стыковки» связи с сущностью используются трехточеч- ный вход в прямоугольник сущности, если для этой сущности в связи могут использоваться много экземпляров сущности, и од- ноточечный вход, если в связи может участвовать только один экземпляр сущности. Обязательный конец связи изображается

    188
    сплошной линией, а необязательный — прерывистой. Как и сущность, связь — это типовое понятие, все экземпляры обеих пар связываемых сущностей подчиняются правилам связывания.
    На рис. 6.3 приведен пример изображения сущностей и связи между ними.
    Рис. 6.3 — Пример связи между сущностями
    Данная диаграмма может быть интерпретирована следую- щим образом: каждый СТУДЕНТ учится только в одной ГРУП-
    ПЕ (тип связи «один к одному» или 1:1); любая ГРУППА состо- ит из одного или более СТУДЕНТОВ (тип связи «один ко мно- гим» или 1: М). На рис. 6.4 изображена сущность ЧЕЛОВЕК с рекурсивной связью, связывающей ее с ней же самой.
    Лаконичной устной трактовкой изображенной диаграммы является следующая:

    каждый ЧЕЛОВЕК является сыном одного и только од- ного ЧЕЛОВЕКА (тип связи «один к одному»);

    каждый ЧЕЛОВЕК может являться отцом для одного или более ЛЮДЕЙ («ЧЕЛОВЕК») (тип связи «один ко мно- гим»).
    Рис. 6.4 — Пример рекурсивной связи
    Атрибутом сущности является любое свойство (деталь), ко- торое служит для уточнения, идентификации, классификации, числовой характеристики или выражения состояния сущности
    (рис. 6.5). Имена атрибутов заносятся в прямоугольник, изобра- жающий сущность, под именем сущности изображаются малы- ми буквами.

    189
    Рис. 6.5 — Изображение сущности с ее атрибутами
    Уникальным идентификатором сущности являются атри- бут, комбинация атрибутов, комбинация связей или комбинация связей и атрибутов, уникально отличающая любой экземпляр сущности от других экземпляров сущности того же типа.
    Связи «многие-ко-многим». В некоторых случаях необхо- димо связывать сущности таким образом, что с обоих концов связи могут присутствовать несколько экземпляров сущности
    (например, все члены кооператива сообща владеют имуществом кооператива). Для этого вводится разновидность связи «многие- ко-многим» или М: М.
    Уточняемые степени связи. Иногда бывает полезно опре- делить возможное количество экземпляров сущности, участ- вующих в данной связи (например, служащему разрешается участвовать не более чем в трех проектах одновременно). Для выражения этого семантического ограничения разрешается ука- зывать на конце связи ее максимальную или обязательную сте- пень (или мощность). Значение мощности может быть задано точным числом (например, 3), интервалом (от 5 до 10) или не- определено (0,1,…).
    Каскадные удаления экземпляров сущностей. Некоторые связи бывают настолько сильными (конечно, в случае связи
    «один-ко-многим»), что при удалении опорного экземпляра сущности (соответствующего концу связи «один») нужно уда- лить все экземпляры сущности, соответствующие концу связи
    «многие». Соответствующее требование «каскадного удаления» можно сформулировать при определении сущности.
    Домен — это потенциально допустимое множество значе- ний атрибута сущности.
    ЧЕЛОВЕК имя возраст пол

    190
    Эти и другие, более сложные элементы модели данных
    «сущность-связь» делают ее более мощной, но одновременно несколько усложняют ее использование. Конечно, при реальном использовании ER-диаграмм для проектирования баз данных необходимо ознакомиться со всеми возможностями.
    Контрольные вопросы
    1.
    Что означает связь «многие-ко-многим»?
    2.
    Что такое «сущность»?
    3.
    Что означает связь между объектами?
    4.
    На чем базируется моделирование предметной области?
    5.
    Что такое домен?
    6.3.4
    Средство
    автоматизированного
    проектирования
    БД
    ERwin
    Общие сведения. ERwin — CASE-средство проектирова- ния баз данных. ERwin сочетает графический интерфейс
    Windows, инструменты для построения ER-диаграмм, редакторы для создания логического и физического описания модели дан- ных и прозрачную поддержку ведущих реляционных СУБД. Для удобства изложения материала здесь и далее использована ори- гинальная терминология, принятая в ERwin.
    ERwin не привязан к технологии какой-либо конкретной фирмы, поставляющей СУБД или средства разработки. Он под- держивает различные серверы баз данных и настольные СУБД, а также может обращаться к базе данных через интерфейс
    ODBC.
    ERwin можно использовать совместно с некоторыми попу- лярными средствами разработки клиентских частей приложе- ний: PowerBuilder, Visual Basic, Delphi. Кроме того, ERwin под- держивает работу в среде групповой разработки ModelMart, яв- ляющейся продуктом той же Platinum.
    Процесс моделирования в ERwin базируется на методоло- гии проектирования реляционных баз данных IDEF1X. Данная методология была разработана для ВВС США и теперь широко используется в правительственных учреждениях и частных ком-

    191
    паниях как в самих США, так и далеко за их пределами. Она определяет стандарты терминологии и графического изображе- ния типовых элементов на ER-диаграммах.
    Структура процесса моделирования в ERwin. В ERwin используются два уровня представления модели данных: логи- ческий и физический (что соответствует концептуальному и ло- гическому уровням, принятым в теории БД). На логическом уровне не рассматривается использование конкретной СУБД, не определяются типы данных (например, целое или вещественное число) и индексы для таблиц. Целевая СУБД, имена объектов и типы данных, индексы составляют второй (физический) уровень модели ERwin.
    ERwin предоставляет возможности создавать и управлять этими двумя различными уровнями представления одной диа- граммы (модели), равно как и иметь много вариантов отображе- ния на каждом уровне.
    Процесс построения информационной модели состоит из следующих этапов:
    1) Создание логической модели данных:

    определение сущностей;

    определение зависимостей между сущностями;

    задание первичных и альтернативных ключей;

    определение неключевых атрибутов сущностей.
    2) Переход к физическому описанию модели:

    назначение соответствий: имя сущности — имя таблицы, атрибут сущности — атрибут таблицы;

    задание триггеров, хранимых процедур и ограничений.
    3) Генерация базы данных.
    Создание логической модели БД. С точки зрения пользо- вателя ERwin, процесс создания логической модели данных за- ключается в визуальном редактировании ER-диаграммы. Диа- грамма ERwin строится из трех основных блоков: сущностей, атрибутов и связей.
    На диаграмме сущность изображается прямоугольником. В зависимости от режима представления диаграммы прямоуголь- ник может содержать имя сущности, ее описание, список атри- бутов и другие сведения. Основная информация, описывающая сущность, включает:

    192

    атрибуты, составляющие первичный ключ;

    неключевые атрибуты;

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

    первичный ключ не должен принимать пустые (NULL) значения;

    первичный ключ не должен изменяться в течение времени;

    размер первичного ключа должен быть как можно меньшим.
    При этом если разработчик считает, что какой-либо из ос- тавшихся наборов будет часто использоваться для доступа к сущности, то он может объявить его альтернативным ключом.
    В ERwin можно также составлять группы атрибутов, кото- рые не идентифицируют уникально экземпляры сущности, но часто используются для доступа к данным. Они получили на- звание инверсных входов. Одни и те же атрибуты сущности мо- гут входить в несколько различных групп ключей.
    Рассмотрим вышесказанное на примере сущности СО-
    ТРУДНИК (рис. 6.6).
    Рис. 6.6 — Пример сущности
    Табельный номер
    Номер отдела (FK)
    Фамилия (1E1)
    Имя (1E1)
    Отчество (1E1)
    Дата рождения
    Должность
    СОТРУДНИК

    193
    Среди всех атрибутов данной сущности на роль первичного ключа могут претендовать «табельный номер» и группа атрибу- тов «фамилия», «имя», «отчество», «дата рождения» (последний необходим, т.к. на предприятии могут работать полные тезки).
    Очевидно, что по соображению размера в качестве первичного ключа следует выбрать первый из вариантов.
    На диаграмме атрибуты, составляющие первичный ключ, располагаются в верхней части прямоугольника и отделяются от прочих (не входящих в первичный ключ) горизонтальной линией.
    Группа атрибутов «фамилия», «имя», «отчество», «дата ро- ждения» может являться альтернативным ключом. Однако вряд ли кто-либо, пытающийся найти информацию о сотруднике, бу- дет знать дату его рождения. А вот группа атрибутов «фами- лия», «имя», «отчество», вполне возможно, будет достаточно часто использоваться для этих целей. Поэтому на основе этих атрибутов было бы логично создать инверсный вход. Инверс- ный вход обозначается на диаграмме символами IEn, заключен- ными в скобки.
    Пример использования альтернативного ключа приведен на рис. 6.7. Альтернативный ключ обозначается на диаграмме сим- волами АКп, заключенными в скобки.
    Рис
    . 6.7 —
    Пример альтернативного ключа
    Если экземпляры сущности могут быть уникально иденти- фицированы без определения ее связей с другими сущностями, она называется независимой. В противном случае сущность на- зывают зависимой. Зависимая сущность отображается в ERwin прямоугольником с закругленными углами.
    Номер отдела
    Название отдела
    (АК1)
    ОТДЕЛ

    194
    Связь в ERwin трактуется как функциональная зависимость между двумя сущностями (в частности, возможна связь сущно- сти с самой собой).
    Если рассматривать диаграмму как графическое представ- ление правил предметной области, то сущности являются суще- ствительными, а связи — глаголами. Например, между сущно- стями ОТДЕЛ и СОТРУДНИК существует связь «состоит из»
    (ОТДЕЛ состоит из СОТРУДНИКОВ).
    В ERwin связи представлены пятью основными элементами информации:

    тип связи;

    родительская и дочерняя (зависимая) сущности;

    мощность связи;

    допустимость пустых (null) значений;

    требования по обеспечению ссылочной целостности.
    ERwin поддерживает следующие основные типы связей: идентифицирующую, неидентифицирующую, полную катего- рию, неполную категорию, многие-ко-многим.
    Связь называется идентифицирующей, если экземпляр дочерней сущности идентифицируется через ее связь с роди- тельской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в первичный ключ дочерней сущности. Дочерняя сущность при идентифици- рующей связи всегда является зависимой.
    Связь называется неидентифицирующей, если экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в состав неклю- чевых атрибутов дочерней сущности.
    Идентифицирующая связь изображается сплошной линией; неидентифицирующая — пунктирной. Линии заканчиваются точкой со стороны дочерней сущности.
    При определении связи происходит миграция атрибутов первичного ключа родительской сущности в соответствующую область атрибутов дочерней сущности. Поэтому такие атрибуты не вводятся вручную.

    195
    На рис. 6.8 приведен пример неидентифицирующей связи.
    Первичный ключ сущности ОТДЕЛ «номер отдела» мигрировал в область неключевых атрибутов (поскольку связь неидентифи- цирующая) сущности СОТРУДНИК. На диаграмме атрибуты, наследованные от родительской сущности, помечаются симво- лами FK, заключенными в скобки.
    Рис
    . 6.8 —
    Пример неидентифицирующей связи
    Зависимая сущность может наследовать один и тот же ат- рибут от более чем одной родительской сущности или от одной и той же родительской сущности через несколько связей.
    Поскольку атрибуты первичного ключа родительской сущ- ности по умолчанию мигрируют со своими именами, ERwin считает, что в зависимой сущности атрибуты внешнего ключа появляются только один раз.
    Чтобы избежать этого ограничения, ERwin позволяет вве- сти для них роли, т.е. новые имена, под которыми мигрирующие атрибуты будут представлены в дочерней сущности. В случае неоднократной миграции атрибута такое переименование необ- ходимо. Например, при создании модели сделки по обмену ва- люты сущность СДЕЛКА должна иметь два различных атрибута для кодов проданной и купленной валюты (рис. 6.9). В данном состоит из Табельный но- мер
    Номер отдела ( FK )
    Фамилия (1 E 1)
    Имя (1 E 1)
    Отчество (1 E 1)
    Дата рождения
    Должность
    Номер отдела
    Название отдела (АК1)
    ОТДЕЛ
    СОТРУДНИК

    196
    случае первичный ключ сущности ВАЛЮТА («код валюты») имеет две роли в дочерней сущности.
    Рис
    . 6.9 —
    Пример использования ролей
    Ситуация, когда экземпляру одной сущности соответствует один или несколько экземпляров второй сущности, а экземпляру второй сущности соответствует один или несколько экземпляров первой сущности, отражается в логической модели связью «
    1   ...   11   12   13   14   15   16   17   18   19


    написать администратору сайта