Пару лет назад среди прочих моих занятий были онлайн уроки по основам построения логической структуры базы данных и языку SQL. Уроками на данный момент не занимаюсь, а вот сами записи остались, так что решила я их выложить, чего добру пропадать зря? 🙂
Сегодня речь пойдет о модели «сущность-связь», или entity-relationship model.
Теория
Модель “сущность-связь” (Entity-Relationship model или ER – модель) представляет собой высокоуровневую концептуальную модель данных, которая была разработана с целью упрощения задачи проектирования структур баз данных.
Данная модель представляет собой набор концепций, которые описывают структуру БД в виде совокупности сущностей, атрибутов и связей. Основная цель разработки такой модели данных заключается в создании пользовательского восприятия данных и согласования большого количества технических аспектов, связанных с проектированием БД. Следует особо отметить, что концептуальная модель данных не зависит от конкретной СУБД или аппаратной платформы, которая используется для реализации БД.
Цель диаграмм “сущность-связь” — это создать точное и полное отображение реальной предметной области (ПрО), используемое в дальнейшем в качестве источника информации для построения базы данных автоматизированных систем обработки информации (БД АСОИ).
Эта диаграмма или концептуальная модель ПрО должна отвечать следующим требованиям:
- Обеспечивать адекватное отображение ПрО;
- Представлять на языке, понятном, как будущим пользователям АСОИ, так и разработчикам БД;
- Содержать информацию о ПрО, достаточную для дальнейшего проектирования БД (разработка логической и физической моделей);
- Гарантировать однозначную интерпретацию или толкование модели ПрО.
Основные концепции этой модели — понятия сущность, атрибут и связь.
СУЩНОСТЬ– это множество объектов реального мира с одинаковыми свойствами. Сущность характеризуется независимым существованием и может быть объектом с физическим (или реальным) существованием или объектом с концептуальным (или абстрактным) существованием.
Сущность представляет собой основное содержание того явления или процесса (транзакции или запроса), о котором необходимо собрать информацию, и является узловой точкой сбора информации. Сущность относится к набору однородных предметов или вещей. Каждая сущность идентифицируется именем и списком свойств (атрибутов). В качестве сущности может выступать личность, место, вещь и т.д., информацию о которых необходимо хранить в БД.
Практика
ПРИМЕР. Предметная область “Заказ билетов в кинотеатре”. В кинотеатре показывают фильмы, билеты на которые можно купить в день показа или забронировать их заранее. В базе данных находится информация обо всех Кинопоказах в данном кинотеатре, в том числе о старых. У каждого кинопоказа своя стоимость, т.е. билеты на один и тот же фильм, но в разное время, могут отличаться по цене. Кинопоказ состоит из Фильма, информация о котором так же хранится в БД.
Для ПрО “Заказ билетов в кинотеатре” сущностями будут выступать следующие понятия:
Кинопоказ
Фильмы
Зритель
Билет
Бронь
Стоимость
Графически сущности на диаграммах “сущность-связь” представляются в виде прямоугольников:
АТРИБУТ — это средство, с помощью которого определяются свойства сущности или связи. Атрибут — это поименованная характеристика сущности. Наименование атрибута должно быть уникальным для конкретной сущности, но может быть одинаковым для разных сущностей.
Конкретный набор атрибутов для сущности определяется задачами, в которых они используются. Например, сущности ПрО “Заказ билетов в кинотеатре” можно описать с помощью следующей совокупности атрибутов:
Кинопоказ (Номер кинопоказа, Номер Фильма, Дата показа, Номер Стоимости);
Фильм (Номер фильма, Название, Продолжительность, Краткое описание);
Зритель (Номер зрителя, ФИО, дата рождения);
Билет (Номер зрителя, Номер кинопоказа, Стоимость билета);
Бронь (Номер зрителя, Номер кинопоказа, дата брони);
Стоимость (Номер стоимости, Номер кинопоказа, стоимость).
Графически изображение атрибутов сущности представляются в виде выносок, в которых перечисляется список имен атрибутов. Например:
Жирным курсивом и подчеркиванием обозначаются первичные ключи – атрибут сущности, уникально ее характеризующий. Подчеркиванием обозначаются внешние ключи – атрибуты, уникально характеризующие сущности, на которые они ссылаются.
СВЯЗЬ – это отношение между экземплярами двух (и более) разных сущностей. Механизм связей используется для того, чтобы определить взаимоотношения между сущностями в ПрО. Кроме этого, существуют отношения между атрибутами отдельной сущности (будут рассмотрены при построении логических моделей).
Каждой связи присваивается имя, которое должно описывать его функцию. Связи обладают такими характеристиками, как наименование связи, показатель кардинальности, степень участия, степень связи, время существования связи и другими.
Наименование связи должно нести в себе определенный смысл, чтобы было легче разобраться в том, как соотносятся сущности. Например, взаимоотношение между сущностями Зритель и Билет можно определить как “Покупает”.
Для графического представления связи на диаграммах “сущность-связь” используется ромб. Внутри ромба определяется имя связи, а с помощью линий соединяются сущности, участвующие в данной связи.
Показатель кардинальности связи (характеристика однозначности) обозначает степень взаимосвязи сущностей и описывает количество возможных связей для каждой из сущностей-участниц:
- один-к-одному (1:1);
- один-ко-многим (1:N);
- многие-ко-многим (N:M).
Основы баз данных. ER-модель (сущность-связь): 2 комментария