Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Характеристика связей и язык моделирования

Между двумя сущностям, например, А и В, возможны четыре вида связей.

· один к одному,

· один ко многим,

· многие к одному,

· многие ко многим.

Связь ОДИН-К-ОДНОМУ (1:1) предполагает, что в каждый момент времени каждому представителю (эк земпляру) сущности А соответствует 1 или 0 представителей сущности В. Например, работник может получать зарплату, притом только одну.

С вязь ОДИН-К-ОДНОМУ

Связь ОДИН-КО-МНОГИМ (1:М) состоит в том, что в каждый момент времени одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В. Например, в доме приживает много жильцов. В частности, дом может быть незаселенным.

 

Связь ОДИН-КО-МНОГИМ

Связь МНОГИЕ-К-ОДНОМУ предполагает, что в каждый момент времени множеству элементов А соответствует один элемент В. На­пример, несколько студентов представляют собой студенческую учебную группу

С вязь МНОГИЕ-К-ОДНОМУ

Наконец, связь МНОГИЕ-КО-МНОГИМ состоит в том, что в каж­дый момент времени множеству элементов А соответствует мно­жество элементов В. Этот тип связи в реляционных БД непосредственно не поддерживается. Примером такой связи может служить тот факт, что у студентов учебные занятия по дисциплинам ведут множество преподавателей.

Связь МНОГИЕ-КО-МНОГИМ

Характер связей между сущностями не ограничивается перечисленными. Существуют и более сложные связи:

· множественные связи между одними и теми же сущностями

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

· тренарные связи

(преподаватель ведут учебные занятия со студентами по одному расписанию занятий в различных аудиториях).

 

Классификация сущностей

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

Стержневая сущность (стержень) – это независимая сущность. Такие сущности имеют независимое существование.

В рассмотренных ранее примерах стержни – это «Работник», «Зарплата», «Студент», «Преподаватель», «Расписание занятий», «Аудитория».

Ассоциативная сущность (ассоциация) – это связь вида "многие-ко-многим" ("один-ко-многим" и т.д.) между двумя или более сущностями или экземплярами сущности. Ассоциации рассматриваются как полноправные сущности:

· они могут участвовать в других ассоциациях и обозначениях точно так же, как стержневые сущности;

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

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

Например, книга может иметь несколько характеристик переиздания (исправленное, дополненное, переработанное) и т.д.

Существование характеристики полностью зависит от характеризуемой сущности.

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

ХАРАКТЕРИСТИКА (атрибут 1, атрибут 2,...)           {СПИСОК ХАРАКТЕРИЗУЕМЫХ СУЩНОСТЕЙ}.

Обозначающая сущность или обозначение – это связь вида " многие-к-одной " или " одна-к-одной " между двумя сущностями и отличается от характеристики тем, что не зависит от обозначаемой сущности.

Рассмотрим пример, связанный с зачислением сотрудников в различные отделы организации.

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

Отделы (Номер отдела, Название отдела,...) Служащие (Табельный номер, Фамилия,...) Зачисление [Отделы M, Служащие N] (Номер отдела, Табельный номер, Дата зачисления).

Однако, при условии, что каждый из сотрудников должен быть обязательно зачислен в один из отделов, можно создать описание с обозначением Служащие:

Отделы (Номер отдела, Название отдела,...) Служащие (Табельный номер, Фамилия,..., Номер отдела, Дата зачисления)[Отделы]

В данном примере служащие имеют независимое существование (если удаляется отдел, то из этого не следует, что также должны быть удалены служащие такого отдела). Поэтому они не могут быть характеристиками отделов и названы обозначениями.

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

Описание обозначения внешне отличается от описания характеристики только тем, что обозначаемые сущности заключается не в фигурные скобки, а в квадратные:

ОБОЗНАЧЕНИЕ (атрибут 1, атрибут 2,...)[СПИСОК         ОБОЗНАЧАЕМЫХ СУЩНОСТЕЙ].

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

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

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

Элементы языка ER-диаграмм

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

Пример рецепта

Лобио по-грузински
Ломаную очищенную фасоль, нашинкованный лук посолить, посыпать перцем и припустить в масле с небольшим количеством бульона; добавить кинзу, зелень петрушки, рейган (базилик) и довести до готовности. Затем запечь в духовке.
Фасоль стручковая (свежая или консервированная) 200,
Лук зеленый 40, Масло сливочное 30, Зелень 10.
Выход 210. Калорий 725.

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

1. Блюда, для описания которых нужны данные, входящие в их кулинарные рецепты: номер блюда (например, из книги кулинарных рецептов), название блюда, вид блюда (закуска, суп, горячее и т.п.), рецепт (технология приготовления блюда), выход (вес порции), название, калорийность и вес каждого продукта, входящего в блюдо.

2. Для каждого поставщика продуктов: наименование, адрес, название поставляемого продукта, дата поставки и цена на момент поставки.

3. Ежедневное потребление блюд (расход): блюдо, количество порций, дата.

Анализ объектов позволяет выделить:

· Стержни: Блюда, Продукты и Города;

· Ассоциации: Состав (связывает Блюда и Продукты),

  Поставки (связывает Поставщиков с Продуктами);

· Обозначение: Поставщики;

· Характеристики: Рецепты и Расход.

ER-диаграмма модели показана на рисунке, а модель на языке инфологического моделирования имеет следующий вид:

Блюда (БЛ, Блюдо, Вид) Продукты (ПР, Продукт, Калорийность) Поставщики (ПОС, Город, Поставщик) [Город] Состав [Блюда M, Продукты N] (БЛ, ПР, Вес (г)) Поставки [Поставщики M, Продукты N] (ПОС, ПР, Дата_П, Цена, Вес (кг)) Города (Город, Страна) Рецепты (БЛ, Рецепт) {Блюда} Расход (БЛ, Дата_Р, Порций) {Блюда}

В этих моделях Блюдо, Продукт и Поставщик – наименования, а БЛ, ПР и ПОС – цифровые коды блюд, продуктов и организаций, поставляющих эти продукты.

Инфологическая модель базы данных "Питание"

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

Инфологическая модель базы данных "Питание",

построенная с помощью языка "Таблицы-связи"


База данных «Библиотека»

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...