что такое сущность связь

Нотации модели сущность-связь (ER диаграммы)

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

В этой статье вас никто не будет пытаться убедить что предметную область надо моделировать, а базу данных — проектировать. Вы не научитесь проектировать БД, проектирование — большая и сложная тема для других статей. Не будет тут никаких открытий и откровений.

Цель статьи — помочь в ситуации, когда по каким-то причинам вам нужно построить ER-диаграмму, но вы не знаете как это правильно сделать.

ER-модель описывает сущности и отношения между ними с использованием графической нотации. Сущности содержат атрибуты (свойства). Например, если вы разрабатываете систему для спортивных клубов — то:

Проблемы с разработкой ER-модели возникают потому что:

1 Основные возможности. Нотация Чена

В качестве единственного примера этой нотации рассмотрим ER-диаграмму базы кинотеатра из соседней статьи [Chen_model]. Кстати, в статье описан процесс проектирования структуры БД.

что такое сущность связь. Смотреть фото что такое сущность связь. Смотреть картинку что такое сущность связь. Картинка про что такое сущность связь. Фото что такое сущность связь

что такое сущность связь. Смотреть фото что такое сущность связь. Смотреть картинку что такое сущность связь. Картинка про что такое сущность связь. Фото что такое сущность связь

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

3 Нотация диаграммы классов UML

Нотация Мартина во многом похожа на нотацию диаграммы классов UML, ознакомиться с которой можно в статье [UML_class]. Однако, ее применение для моделирования предметной области и структуры БД имеет ряд особенностей:

что такое сущность связь. Смотреть фото что такое сущность связь. Смотреть картинку что такое сущность связь. Картинка про что такое сущность связь. Фото что такое сущность связь

Диаграмма классов активно используется при объектно-ориентированном проектировании и для ее построения существует множество инструментов. Это очень удобно если вы при изучении программирования уже успели познакомиться с нотацией диаграммой классов. В качестве ER-модели эта ноация исопльзуется, например, в инструментах серии Rational от IBM. Самое главное отличие этой нотации от предыдущих — на нее существует международный стандарт [UML_ISO_1, UML_ISO_2]. Дополнительно рекомендую прочитать статью [ER_Krivishein], так как мной были упущены некоторые аспекты — например, особенности использования агрегации и наследования на этих диаграммах (лично я считаю, что в 99% случаев они будут лишними).

4 Нотация IDEF1X

Существует масса других нотаций, которые от описанных выше отличаются системой обозначений и лишь в редких случаях вносят какие-либо новые возможности. Рассматривать их нет никакого смысла. Однако, нельзя не упомянуть про IDEF1X так как на него существует международный стандарт [IDEF1X_ISO]. Очень хороший материал по использованию этого стандарта приведен в [Anisimov_IDEF1X].

Из неприятного, в стандарте IDEF1X исопльзуются символы и типы связей, не поддерживаемые многими инструментальными средствами. Инструмент ERwin Data Modeler целиком и полностью посвящен моделированию БД с исопльзованием IDEF1X. При этом ERwin работает только под Windows и имеет проприетарную лицензию.

На мой взгляд, наиболее удобные инструментальные средства используют нотации Мартина или UML. Я рекомендую выбирать для работки модели одну из этих двух нотаций исходя из того, насколько вам важна стандартизация — на UML есть стандарт, а на нотацию Мартина нет.

Источник

Что такое сущность связь

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

Отметим, что модель «сущность-связь» не является моделью данных в том смысле, как это было определено в параграфе 1.1.2, поскольку не определяет операций над данными и ограничивается описанием только их логической структуры.

2.1.2. Элементы модели.

В дальнейшем для определения сущности и ее атрибутов будем использовать обозначение вида

СОТРУДНИК (ТАБЕЛЬНЫЙ_НОМЕР, ИМЯ, ВОЗРАСТ).

Например отделы,на которые подразделяется предприятие, и в которых работают сотрудники, можно описать как ОТДЕЛ(НОМЕР_ОТДЕЛА, НАИМЕНОВАНИЕ).

Связь также может иметь атрибуты. Например, для связи ОТДЕЛ-РАБОТНИК можно задать атрибут СТАЖ_РАБОТЫ_В_ОТДЕЛЕ.

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

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

Источник

BestProg

Понятие ER-модели. Понятие сущности (entity). Атрибуты. Виды атрибутов

Содержание

Поиск на других ресурсах:

1. Какие проблемы могут возникнуть у разработчика при проектировании базы данных?

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

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

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

Чтобы облегчить процесс разработки (проектирования) базы данных, используются так называемые семантические модели данных. Для разных видов баз данных наиболее известной есть ER-модель данных (Entity-Relationship model).

2. Что такое ER-модель (Entity-relationship model)? Для чего нужно разрабатывать ER-модель?

ER-модель (Entity-relationship model или Entity-relationship diagram) – это семантическая модель данных, которая предназначена для упрощения процесса проектирования базы данных. Из ER-модели могут быть порождены все виды баз данных: реляционные, иерархические, сетевые, объектные. В основе ER-модели лежат понятия «сущность», «связь» и «атрибут».

Для больших баз данных построение ER-модели позволяет избежать ошибок проектирования, которые чрезвычайно сложно исправлять, в особенности, если база данных уже эксплуатируется или на стадии тестирования. Ошибки в разработке структуры базы данных могут привести к переделке кода программного обеспечения управляющего этой базой данных. В результате время, средства и человеческие ресурсы будут использованы неэффективно.

ER-модель – это представление базы данных в виде наглядных графических диаграмм. ER-модель визуализирует процесс, который определяет некоторую предметную область. Диаграмма «сущность»-«связь» – это диаграмма, которая представляет в графическом виде сущности, атрибуты и связи.

ER-модель – это только концептуальный уровень моделирования. ER-модель не содержит деталей реализации. Для той же самой ER-модели детали ее реализации могут отличаться.

3. Что такое сущность в базе данных? Примеры

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

Пример 1. В базе данных книжного магазина можно выделить следующие сущности:

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

4. Какие существуют разновидности типов сущностей? Обозначение типов сущностей в ER-модели

В модели «сущность»-«связь» различают две разновидности типов сущностей:

На рисунке 1 изображены обозначения слабого и сильного типа сущности в ER-модели.

что такое сущность связь. Смотреть фото что такое сущность связь. Смотреть картинку что такое сущность связь. Картинка про что такое сущность связь. Фото что такое сущность связь

Рис. 1. Обозначение сильного и слабого типов сущности

5. Для чего предназначены атрибуты? Виды атрибутов. Обозначение атрибутов на ER-модели

Каждый тип сущности имеет определенный набор атрибутов. Атрибуты предназначены для описания конкретной сущности.

Различают следующие виды атрибутов:

На ER-диаграмме атрибуты обозначаются так, как изображено на рисунке 2. Как видно из рисунка, любой атрибут обозначается в виде эллипса с названием внутри эллипса. Если атрибут есть первичным ключом, то его название подчеркивают.

что такое сущность связь. Смотреть фото что такое сущность связь. Смотреть картинку что такое сущность связь. Картинка про что такое сущность связь. Фото что такое сущность связь

Рисунок 2. Представление атрибутов на диаграммах ER-модели

6. Как типы сущностей и атрибуты ER-модели реализуются в реальных базах данных и управляемых ими программах?

При разработке программ управления базами данных, типы сущностей и их атрибуты можно представлять по разному при этом придерживаясь нескольких подходов:

Если база данных реализуется в известных реляционных СУБД (например Microsoft Access, Microsoft SQL Server и т.п.), то типы сущностей представляются таблицами. Атрибуты из ER-модели соответствуют полям таблицы. Одна запись в таблице базы данных представляет один экземпляр сущности.

Каждый вид атрибута реализуется следующим образом:

Если база данных реализована в уникальном формате, то типы сущностей удобнее всего представлять в виде классов или структур. Атрибуты сущности реализуются в виде полей (внутренних данных) класса. Методы класса реализуют необходимую обработку полей класса (атрибутов). Взаимодействие (связь) между классами реализуется с помощью специально разработанных интерфейсов с использованием известных шаблонов проектирования.

7. Пример фрагмента ER-модели для типа сущности «Студент»

Приведенный пример демонстрирует фрагмент ER-модели для типа сущности «Студент».

что такое сущность связь. Смотреть фото что такое сущность связь. Смотреть картинку что такое сущность связь. Картинка про что такое сущность связь. Фото что такое сущность связь

Рисунок 3. Фрагмент ER-модели для типа сущности «Студент»

На вышеприведенном рисунке объявляются следующие атрибуты, которые в СУБД (программе) могут иметь следующие типы:

Источник

Что такое сущность связь

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

Рис. 1. Модели данных

После того как закончено исследование предметной области и детально поставлена задача проектирования можно переходить ко второму этапу, на котором проектируется база данных. На этом этапе используются формальные модели данных, в которые нужно преобразовать инфологическую модель. Такие модели, непосредственно используемые в базах данных, называются даталогическими. На рис.1 показаны три вида датологических моделей: иерархические, сетевые и реляционные.

Иерархическая модель имеет древовидную структуру. Каждая ветвь в такой структуре имеет одну родительскую ветвь и много дочерних. Примерами иерархических систем служат завод, система каталогов с файлами в ЭВМ. Завод состоит из цехов, цеха из участков, участки из станков с рабочими.

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

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

Базу данных независимо от её даталогической модели можно по-разному разместить на разных внешних носителях. Например, можно использовать жёский диск или твёрдотельную внешнюю память. Для описания физического размещения базы даных служит физическая модель.

МОДЕЛЬ СУЩНОСТЬ-СВЯЗЬ


Инфологическое моделирование

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

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

Инфологическую модель можно построить, опираясь только на интуитивное представление о данных.

На рис. 2 приведён простой (вырожденный) пример инфологической модели.

Рис. 2. Инфологическая модель преподавателя

Если нужно более подробно описать дисциплины и иметь возможность, зная дисциплину, найти ведущего её преподавателя, то модель придётся уcложнить, выделив дисциплину отдельно и связав её с преподавателем (рис. 3)

Рис. 3. Инфологическая модель преподаватель-дисциплина

Один преподаватель может вести много дисциплин и одну дисциплину могут вести много преподавателей. Такая связь называется многие ко многим и обозначается как M:N, а на рисунках часто как ∞ ←→ ∞.

Рис. 4. Инфологическая модель для построения расписания занятий

На рис. 5 изображена инфологическая модель библиотеки

Рис. 5. Инфологическая модель библиотеки

В 1976 году Чен предложил термин сущность, а состоящая из связанных между собой сущностей модель получила название модель сущность-связь (entity-relation).

Определение

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

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

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

Виды сущностей

Рис. 6. Тип и подтип

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

Рис. 7. Связь между детьми и родителями

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

При частичной связи некоторые экземпляры одной сущности не связаны ни с одним экземпляром другой сущности. Например, не все студенты живут в общежитии.

Связь типа 1:1 между сущностями встречается нечасто. Теоретически всегда такие сущности можно объединить в одну. Связь 1:1 создают для лучшего понимания модели. Напимер, директора и завод лучше рассматривать как разные сущности. Связь 1:1 коварна кажущейся очевидностью, Например, у государства один глава: император, президент, царь и т.д., но в древнем Риме правили два консула.

Связь типа M:N, M>1, N>1(или ∞ ←→ ∞) требует при переходе к реляционной модели строить дополнительное отношение (таблицу связей). Примеры связей типа M:N приведены на рисунках 3, 4, 5.

Рекурсивные связи между равноправными экземплярами сущности. На рис. 9 экземпляры сущности студенты, живущие в общежитии, объединены по признаку (свойству) номер комнаты, в которой они живут.

Рис. 9. Рекурсивные связи между студентами,
живущими в одной комнате

Рекурсивные связи между неравноправными экземплярами сущности. Так связаны между собой сотрудники и начальник отдела как экземпляры сущности Сотрудники института.

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

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

Свойства сущностей:

Простое свойство: фамилия.

Многозначные: награды, специальности.

Ключевое: номер зачётной книжки.

ПРЕОБРАЗОВАНИЕ МОДЕЛИ СУЩНОСТЬ-СВЯЗЬ
В РЕЛЯЦИОННУЮ МОДЕЛЬ


Связь один ко многим

Для задания связи один ко многим в отношеннии со стороны многие создаётся дополнительный атрибут внешний ключ (рис. 10). Внешний ключ принимает значения только из множества значений первичного ключа отношения со стороны один.

Рис. 10.Преобразование модели сущность-связь со свзью 1:N в реляционную модель

Связь многие ко многим

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

Рис. 11.Преобразование модели сущность-связь со свзью M:N в реляционную модель

На рис. 12 показаны заполненные таблицы Prep, Disc и PrepDisс. Для того, чтобы указать, что преподаватель Андреев ведёт дисциплину Фортран, в таблице PrepDisc создана строка со значеиями KodP=1 и kodD=3.

Рис. 12. Пример заполнения таблицы связей в реляционной модели.

Связь степени К

Для связи степени К в реляционной модели строится таблица связи с К внешними ключами. На рис. 13 построены модель сущность-связь и реляционная модель для связи степени К=5.

Источник

Что такое сущность связь

Очень важным свойством модели «сущность-связь» является то, что она может быть представлена в виде графической схемы. Это значительно облегчает анализ предметной области. Существует несколько вариантов обозначения элементов диаграммы «сущность-связь», каждый из которых имеет свои положительные черты. Краткий обзор некоторых из этих нотаций будет сделан в параграфе 2.4. Здесь мы будем использовать некий гибрид нотаций Чена (обозначение сущностей, связей и атрибутов) и Мартина (обозначение степеней и кардинальностей связей). В таблице 2.1 приводится список используемых здесь обозначений.

ОбозначениеЗначение
Набор независимых сущностей
Набор зависимых сущностей
Атрибут
Ключевой атрибут
Набор связей

Атрибуты с сущностями и сущности со связями соединяются прямыми линиями. При этом для указания кардинальностей связей используются обозначения, введенные в предыдущем параграфе.

Выделим интересующие нас сущности и связи:

Здесь сущности СОТРУДНИК, ОТДЕЛ и связь РАБОТАЕТ_В аггрегируются в некую новую абстрактную сущность, которая ассоциируется с сущностью ДОЛЖНОСТЬ с помощью связи степени n:1. (Это обозначение заимствовано из книги Silberschatz, Korth and Sudarshan Database System Concepts, 1997).

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *