SQL, Базы данных, О том о сём

Основы баз данных. ER-модель (сущность-связь)

ER model заголовок статьиПару лет назад среди прочих моих занятий были онлайн уроки по основам построения логической структуры базы данных и языку SQL. Уроками на данный момент не занимаюсь, а вот сами записи остались, так что решила я их выложить, чего добру пропадать зря? 🙂

Сегодня речь пойдет о модели «сущность-связь», или entity-relationship model.

Теория

Модель “сущность-связь” (Entity-Relationship model  или ER – модель) представляет собой высокоуровневую концептуальную модель данных, кото­рая была разработана с целью упрощения задачи проектирова­ния структур баз данных.

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

Цель диаграмм “сущность-связь”   — это создать точное и полное отображение ре­альной предметной области (ПрО), используемое в дальнейшем в ка­честве источника информации для построения базы данных автоматизированных систем обработки информации (БД АСОИ).

Эта диаграмма или концептуальная модель ПрО должна отвечать сле­дующим тре­бованиям:

  • Обеспечивать адекватное отображение ПрО;
  • Представлять на языке, понятном, как будущим пользователям АСОИ, так и разработ­чикам БД;
  • Содержать информацию о ПрО, достаточную для дальнейшего проек­тирова­ния БД (разработка логической и физической моделей);
  • Гарантировать однозначную интерпретацию или толкование модели ПрО.

Основные концепции этой модели — понятия  сущность, атрибут и связь.

СУЩНОСТЬ– это множество объектов реального мира с одинаковыми свой­ствами. Сущ­ность характеризуется независимым существованием и может быть объектом с фи­зическим (или реальным) существова­нием или объектом с концептуальным (или абстрактным) существо­ванием.

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

Практика

ПРИМЕР. Предметная область “Заказ билетов в кинотеатре”. В кинотеатре показывают фильмы, билеты на которые можно купить в день показа или забронировать их заранее. В базе данных находится информация обо всех Кинопоказах в данном кинотеатре, в том числе о старых. У каждого кинопоказа своя стоимость, т.е. билеты на один и тот же фильм, но в разное время, могут отличаться по цене. Кинопоказ состоит из Фильма, информация о котором так же хранится в БД.

Для ПрО “Заказ билетов в кинотеатре” сущностями будут выступать следующие понятия:

Кинопоказ

Фильмы

Зритель

Билет

Бронь

Стоимость

Графически сущности на диаграммах “сущность-связь” представляются в виде пря­моугольников:

Сущности

АТРИБУТ это  средство,  с  помощью  которого  определяются свойства сущности или связи.  Атрибут — это поименованная  характеристика сущности. Наименова­ние атрибута должно быть уникальным для кон­кретной сущности, но может быть одинаковым для разных сущностей.

Конкретный набор атрибутов для сущности определяется задачами,  в ко­торых они используются. Например, сущности ПрО “Заказ билетов в кинотеатре” можно описать с помощью следующей совокупности атрибутов:

Кинопоказ (Номер кинопоказа, Номер Фильма, Дата показа, Номер Стоимости);

Фильм (Номер фильма, Название, Продолжительность, Краткое описание);

Зритель (Номер зрителя, ФИО, дата рождения);

Билет (Номер зрителя, Номер кинопоказа, Стоимость билета);

Бронь (Номер зрителя, Номер кинопоказа, дата брони);

Стоимость (Номер стоимости, Номер кинопоказа, стоимость).

Графически изображение атрибутов сущности представляются в виде вы­носок, в ко­торых перечисляется список имен атрибутов. Например:

Атрибуты

Жирным курсивом и подчеркиванием обозначаются первичные ключи – атрибут сущности, уникально ее характеризующий. Подчеркиванием обозначаются внешние ключи – атрибуты, уникально характеризующие сущности, на которые они ссылаются.

СВЯЗЬ – это отношение между  экземплярами двух (и более) разных сущностей. Механизм связей используется для того, чтобы опре­делить взаимоотноше­ния между сущностями в ПрО. Кроме этого, существуют отношения между атрибутами отдельной сущности (будут рассмотрены при построении логи­ческих моделей).

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

Наименование связи должно нести в себе определенный смысл, чтобы было легче разобраться в том, как соотносятся сущности. Например, взаимо­отношение между сущ­ностями Зритель и Билет можно определить как “Покупает”.

Для графического представления связи на диаграммах “сущность-связь” использу­ется ромб. Внутри ромба определяется имя связи, а с помощью ли­ний соединяются сущности, участвующие в данной связи.

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

  • один-к-одному (1:1);
  • один-ко-многим (1:N);
  • многие-ко-многим (N:M).

ER-модель

 

Основы баз данных. ER-модель (сущность-связь): 2 комментария

Оставьте своё мнение...

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.