Помощь в учёбе, очень быстро...
Работаем вместе до победы

Инфологическое проектирование баз данных. ER-диаграммы

РефератПомощь в написанииУзнать стоимостьмоей работы

Атрибуты также могут быть однозначными и многозначными: в компании может быть только один главный бухгалтер и несколько номеров телефонов. При построении мифологической модели предметной области допустимо указывать и многозначные атрибуты, но при переходе на более низкий уровень проектирования, когда надо учитывать особенности выбранной модели данных и СУБД, от подобных атрибутов, возможно… Читать ещё >

Инфологическое проектирование баз данных. ER-диаграммы (реферат, курсовая, диплом, контрольная)

Описание предметной области в мифологической модели обычно производится в терминах «объект» — «отношение» (ряд авторов используют термины «сущность» — «связь», англ. entity-relation, сокр. ER). Описание модели «сущность — связь» было впервые опубликовано П. Ченом (Peter Chen) в 1976 г. в статье «The Entity-Relationship Model — Towards a Unified View of Data» (в русском переводе: «Модель „сущность — связь“ — шаг к единому представлению данных»).

Сущность (объект) — множество экземпляров реальных или абстрактных однотипных объектов, присутствующих в предметной области. Именовать сущность принято существительным в единственном числе, например «Рейс» или «Заказчик» .

Сущности бывают правильными (другое название — «сильными») и слабыми. Правильная сущность соответствует тем объектам, чье существование не зависит от других объектов. Слабая сущность находится в зависимости от других сущностей (не может существовать при отсутствии некоторой другой сущности). Например, если заказ всегда должен быть сделан каким-то клиентом, то «Заказ» будет слабой сущностью, зависящей от сущности «Клиент». В этом примере, если дополнительных условий не задано, «Клиент» — правильная сущность.

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

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

Атрибуты могут быть:

  • 1) простыми и составными;
  • 2) ключевыми и неключевыми;
  • 3) обязательными и необязательными;
  • 4) однозначными и многозначными.

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

Значение обязательных атрибутов всегда должно быть задано. Необязательные атрибуты могут отсутствовать (быть не заданы).

Атрибуты также могут быть однозначными и многозначными: в компании может быть только один главный бухгалтер и несколько номеров телефонов. При построении мифологической модели предметной области допустимо указывать и многозначные атрибуты, но при переходе на более низкий уровень проектирования, когда надо учитывать особенности выбранной модели данных и СУБД, от подобных атрибутов, возможно, придется избавляться. В частности, реляционная модель не поддерживает многозначные атрибуты. Чтобы решить эту проблему, обычно вводят дополнительное реляционное отношение. В нашем примере с множеством телефонов это может быть «Телефон фирмы» .

Атрибуты должны быть заданы на доменах (домен в данном случае — это множество допустимых значений атрибута). На ER-диаграммах, которые будут рассматриваться ниже, обычно домены не указываются. Эта информация помещается в отдельный документ, называемый словарем данных. В то же время некоторые варианты нотации Чена (см. параграф 6.1) допускают указания доменов на диаграммах под изображением атрибута.

Связь (отношение) при инфологическом проектировании описывает имеющуюся в предметной области логическую связь между двумя или более сущностями. Объекты, которые соединяются, называются участниками связи. Число участников определяет степень связи. Так же, как и в случае с сущностями, выделяют тип и экземпляр связи. Связь принято именовать с помощью глагола, например связь между сущностями «Клиент» и «Заказ» можно назвать «Размещает» .

Пусть R — тип связи, Е — тип сущности. Если каждый экземпляр сущности типа Е находится, по крайней мере, в одном экземпляре связи типа R, то участие Е в R называется полным или обязательным, в противном случае — частичным или необязательным. Например, пусть рассматриваемая предметная область — это образование, в ней выделены сущности «Преподаватель» и «Курс», а между ними определена связь «Читает». Если каждый курс читается хотя бы одним преподавателем, но есть преподаватели, которые не читают ни одного курса, то участие сущности «Курс» в связи «Читает» является полным, а сущности «Преподаватель» — частичным.

Выделяют следующие типы связей:

  • 1) «один-к-одному» ;
  • 2) «один-ко-многим» ;
  • 3) «многие-ко-многим» .

Приведем формальные определения для данных типов связей. Пусть имеются две сущности (А и В), участвующие в связи R. Если каждый экземпляр А, сущности, А связан не более чем с одним экземпляром сущности В, а каждый экземпляр В; сущности В связан не более чем с одним экземпляром сущности А, то связь R имеет тип «один-к-одному». На практике данный тип связи встречается достаточно редко.

Связь R имеет тип «один-ко-многим», если экземпляр А, сущности, А может быть связан с нулем, одним или несколькими экземплярами сущности В, а экземпляр В, сущности В может быть связан не более чем с одним экземпляром сущности А. Обратным по отношению к типу «один-комногим» является тип связи " многие-к-одному" .

Связи типа «один-ко-многим» наиболее часто встречаются при разработке БД. Например, если один клиент может разместить несколько заказов, а каждый заказ делается только одним клиентом, то связь между клиентами и заказами будет иметь тип «один-ко-многим» .

Связь между сущностями, А и В будет иметь тип " многие-ко-многим", если экземпляр А; сущности, А может быть связан с нулем, одним или несколькими экземплярами сущности В и экземпляр Всущности В также может быть связан с нулем, одним или несколькими экземплярами сущности А. Например, если один курс могут читать несколько преподавателей, а один преподаватель может читать несколько курсов, то между сущностями «Преподаватель» и «Курс» есть связь типа «многие-ко-многим». В большинстве случаев в процессе проектирования связи типа «многие-комногим» удаляются путем введения составных (ассоциированных) сущностей и определения двух связей типа «один-ко-многим» .

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

Введение

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

Существует несколько нотаций или правил изображения диаграмм «сущность — связь» (ER-диаграмм).

Показать весь текст
Заполнить форму текущей работой