Что такое мощность связи erd

BestProg

ER-модель. Понятие связи. Мощность связи. Типы связей. Примеры

Рекомендуется перед изучением данной темы ознакомиться с следующими темами:

Содержание

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

1. Что такое связь в ER-модели? Пример

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

2. Как связи обозначаются в ER-модели?

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

3. Какие типы связей различают в ER-модели?

Между типами сущностей различают следующих 3 типа связей:

4. Пример связи типа «один ко многим» – 1:М

На рисунке 1 изображен фрагмент ER-модели, которая демонстрирует связь между типами сущностей Студент и Группа.

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

Рис. 1. Связь между типами сущностей Студент и Группа

5. Что такое мощность связи? Пример

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

Например. Студент учится в группе. Между типами сущностей Студент и Группа можно установить связь 1:30, как показано на рисунке 2. Число 30 означает, что в группе может учиться не более 30 студентов.

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

Рисунок 2. Связь между сущностями Студент и Группа

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

6. Пример связи типа «много ко многим»

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

Рисунок 3. Отображение связи типа «много ко многим»

На рисунке 3 символами M и N обозначен тип связи «много ко многим». Этот тип связи выбран, так как один студент может изучать несколько (много) дисциплин, и, наоборот, одну дисциплину может изучать несколько студентов.

7. Какое характерное отличие типа связи «один к одному» 1:1 в сравнении с другими типами?

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

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

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

Рис. 4. Реализация связи «много ко многим» или M:N

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

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

Рис. 5. Реализация упрощенного варианта искусственного типа сущности на ER-диаграмме

Источник

Что такое ER-диаграмма и как ее создать?

Каковы ваши потребности в диаграммах?

содержание

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

Читается за 12 мин.

Хотите создать собственную диаграмму? Попробуйте Lucidchart. Это быстро, легко и совершенно бесплатно.

Что такое ER-диаграмма?

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

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

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

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

В ER-моделях и моделях данных обычно выделяют до трех уровней детализации:

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

Области применения диаграмм «сущность-связь»

Символы и способы нотации ERD

Диаграммы «сущность-связь» (или ERD) — неотъемлемая составляющая процесса моделирования любых систем, включая простые и сложные базы данных, однако применяемые в них фигуры и способы нотации могут запросто ввести в заблуждение любого. Это руководство поможет вам стать настоящим экспертом по нотации ER-диаграмм и уверенно взяться за моделирование собственных баз данных!

Концептуальные модели данных дают общее представление о том, что должно входить в состав модели. Концептуальные ER-диаграммы можно брать за основу логических моделей данных. Их также можно использовать для создания отношений общности между разными ER-моделями, положив их в основу интеграции. Все приведенные ниже символы можно найти в библиотеках «Сущность-связь» для UML» и «Фигуры по модели «сущность-связь» на Lucidchart.

Символы ERD-сущностей

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

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

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

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

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

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

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

Символы ERD-связей

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

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

Отношение между сущностями.

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

Связь между зависимой сущностью и ее «хозяином».

Символы ERD-атрибутов

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

СимволНазваниеОписание

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

Характеризует сущность, а также отношения между двумя или более элементами.

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

Атрибут, которому может быть присвоено несколько значений.

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

Атрибут, чье значение можно вычислить, опираясь на значения связанных с ним атрибутов.

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

Отношение между сущностями.

Символы физических ER-диаграмм

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

Как показано ниже, таблицы представляют собой еще один способ отображения сущностей. Вот ключевые составляющие таблиц «сущность-связь»:

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

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

В примере ниже InterestRate («процентная ставка») и LoanAmount («сумма займа») оба являются атрибутами сущности и оба находятся внутри полей.

Ключи

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

Первичные ключи

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

Внешние ключи

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

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

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

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

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

Создание диаграмм быстро и легко с Lucidchart. Начните бесплатную пробную версию сегодня, чтобы начать создавать и сотрудничать.

Нотация ER-диаграмм

Хотя нотация Crow’s Foot («вороньи лапки») часто признается наиболее интуитивной, некоторые пользователи отдают предпочтение нотации Бахмана, OMT, IDEF или UML. Тем не менее, «вороньи лапки» действительно предлагают наглядный интуитивный формат — вот почему мы выбрали их для нотации ER-диаграмм в Lucidchart.

Кардинальность и ординальность

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

Кардинальность и ординальность отображаются на соединительных линиях согласно выбранному формату нотации.

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

Как создать простую ER-диаграмму

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

1. Задайте сущности (они, как правило, обозначаются существительными, например, «автомобиль», «банк», «студент», «товар» и так далее)

Сущности — важнейшая составляющая ER-диаграммы. В нашем примере мы будем создавать концептуальную ER-диаграмму простой системы, где студент записывается на курс к профессору. Если вам нужно освежить знания по фигурам «сущность-связь», у нас есть отличные уроки по этой теме. Итак, три основных сущности в нашем примере — это «студент», «курс» и «профессор».

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

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

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

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

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

4. Внесите последние штрихи

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

Как создать ER-диаграмму в Lucidchart

Lucidchart — онлайн-платформа, где удобно создавать схемы баз данных. Регистрируйтесь и пользуйтесь нашими услугами бесплатно! Достаточно завести учетную запись — и вы сможете тут же приступить к схематизации своих баз данных.

Активация библиотек ERD-фигур

Создав новый документ, обязательно активируйте библиотеку фигур «сущность-связь» при помощи кнопки «+ фигуры» в левом меню.

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

Перетаскивание фигур

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

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

Соединение фигур

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

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

Дополнительные советы по созданию ER-диаграмм

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

Избегайте лишних сущностей и связей.

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

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

Вы можете конвертировать реляционные таблицы в ER-диаграммы и обратно, если вам удобнее работать таким образом.

Убедитесь, что ER-диаграмма поддерживает все виды данных, которые подлежат хранению.

Шаблоны и примеры ER-диаграмм

Шаблон ER-диаграммы базы данных

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

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

Шаблон ER-диаграммы заказа на покупку

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

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

Шаблон ER-диаграммы для библиотеки

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

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

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

Хотите создать собственную диаграмму? Попробуйте Lucidchart. Это быстро, легко и совершенно бесплатно.

Источник

Учимся проектированию Entity Relationship — диаграмм

Здравствуйте. Данная статья посвящена одной из самых популярных, а также и многим знакомой, модели проектирования — ER(Entity Relationship), которая была предложена учёным, в области информатики — Питером Ченом, в 1976 году.

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

По ходу статьи простым языком на простых примерах из жизни — мы с Вами разработаем разные варианты диаграммы, которые будут зависеть от их типа связи. Начнём!

Объектно Ориентированное Проектирование

Быстрый старт

Главный плюс модели проектирования Entity Relationship — это то, что она универсальна. Вы можете проектировать БД(Базы данных), работу какой-либо программы, принципы взаимодействия и др.

Что нужно знать на старте изучения?

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

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

Думаю, Вы поняли, что к чему. Наш Программист учит Python. Вроде, всё логично. Но вот, только, что это за единички в примере?

— Это показатель типа связи! В данном примере используется вид связи — Один к одному:

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

К видам связи мы ещё вернёмся, но чуть позже, а сейчас нужно разобрать ещё одно НО:
— Диаграмма должна читаться в обе стороны. Если прочесть слева на право, то всё логично, как было сказано ранее, но если наоборот… то мы ещё несколько раз задумаемся о том, что такое логика. Действительно, так записано и это правильно! Это лишь одна из некоторых особенностей данной модели, что иногда может запутать. Однако, ничто не мешает Вам, как и многим, со стороны единицы, добавить стрелочку, как на примере ниже:

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

P.S. Надеюсь, Вы заинтересованы. Такие диаграммы Вы можете создавать в редакторе диаграмм — Dia.

Атрибуты

Так, у нас есть программист, но мы ничего о нём не знаем… Без чего программист не программист?
— Без каких-то атрибутов!

Дополним наш пример:

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

Да, атрибуты не особо отличают нашего программиста от обычного человека… но в будущем мы это исправим новыми атрибутами! В моём представлении, атрибут — это COLUMN(столбец) в таблице Базы Данных.

Атрибуты бывают и пустыми

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

Вы можете встретить подчеркивание названия атрибута в диаграмме — это нормально. Пугаться этого не стоит, тк это просто индентифицирующий атрибут. То-есть, это атрибут, который должен быть заполнен всегда, который является обязательным(первичным ключом). Как пример — всем известный id.

Хорошо, а теперь нам нужно дать программисту знания(то, какие языки, технологии он знает).
— Но мы же не будем сразу перечислять каждым отдельным атрибутом составляющие его знаний?
Верно, мы воспользуемся составным атрибутом(атрибут, который состоит из атрибутов-составляющих)! Хочу отметить то, что атрибуты-составляющие — тоже могут быть составными. Вопрос лишь в том, как Вы будете это реализовывать.

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

Типы связи

Отлично. С этим мы смогли разобраться. Теперь рассмотрим оставшиеся типы связи!

Продолжим с типа связи — Один ко многому:

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

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

Теперь наш программист изучает ещё и Perl. Неплохо.
Однако, хочу отметить, что пример, указанный выше — лишь исключение, для того, чтобы показать наглядно, к чему идёт отношение, потому что ответвлений может быть тысяча, что глупо будет чертить. В будущем, мы вернёмся к сокращенной и правильной записи, а этот хиленький паттерн стоит просто запомнить, чтобы было общее представление, что к чему. Надеюсь, что у меня получилось объяснить Вам, что представляет тип связи «Один ко многому».
*Отношение одной сущности к нескольким и наоборот*

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

Остался последний тип связи — Многое ко многому:

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

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

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

Тут два спорных момента. Начнём разбираться.

Первое:
— Почему связь больше смахивает на сущность?

Для упрощения связи типа «Многое ко многому» используются промежуточные сущности.

— Зритель может подписаться на много Фильмов.
— У Фильмов может быть много зрителей, которые подписаны на них.

А теперь рассмотрим другой способ реализации связи «Многое ко многому», который будет чуть сложнее в записи, но возможно понятнее тем, кто не знает о промежуточных сущностях:

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

Как Вы могли заметить, в данном примере есть тип связи «Один ко многому», и даже несколько.
Это правда и такое легко объяснить. Дело в том, тип связи «Многое ко многому» равняется двум «Один ко многому».

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

Наверное, Вы заинтересованы в том, почему у нас, между связью и сущностью, два ребра.
Это уже чуть сложнее объяснить. Читайте внимательно.
Дело в том, что бывают опциональные и обязательные связи. Запомните тождество:

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

— Что такое частичное и полное участия?

Частичное участие — тоже одно из исключений, похожее чем-то на необязательный атрибут, вот только зависит от сущности. Представьте картину. Есть две сущности:
Покупатель и Продукты. Тип связи — Один ко многому.
У них общая связь — Покупает. Но нам нужно понять другое. Без чего покупатель — не покупатель?
— Без хотя бы одной покупки!
Данный случай — представитель частичной связи, тк мы даём выбор «Покупать и стать покупателем или отказаться». В таком случае, у нас, будет одно ребро между связью «Покупает» и сущностью «Продукты». Теперь рассмотрим полное участие.

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

Вспомните пример «Один ко многому», где после связи «Учит» были названия ЯП(Языков программирования), что приводило к большому количеству разветвлений, потому как было не правильно в плане записи. Только подумайте, ведь нам не обязательно делать ответвления к каждому ЯП. Мы можем просто создать сущность «Язык программирования», в которой мы разместим атрибуты, которые будут отвечать за его название, возраст, мощность и многое другое. Думаю, Вы поняли. Советую использовать сокращенную запись «Многое ко многому».

Слабые сущности

Рассмотрим заключительное понятие.

Представьте, что у Вас в существует таблица «Родитель» и «Ребенок», соответственно такие-же сущности в диаграмме. Может ли одно существовать без другого? Я думаю — нет. Как в биологическом, так и в целом логическом.

Слабая сущность: яблока без яблони быть не может

В этом примере сущность «Ребенок» — слабая сущность.

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

Мы создаём сущность «Ребёнок», в надежде на то, что у Родителя/Родителей нет детей с одинаковыми именами, тк иначе — нашу сущность, которая может являться таблицей в БД, будет сложно назвать Нормализованной(таблица, в которой соблюдаются правила Автомарности данных и существует Первичный ключ-идентификатор), ведь мы банально не сможем отличить детей.

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

Представлю вам это на примере:

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

Заключение

В заключение хочется сказать, что одна из основополагающих грамотной кооперативной работы — хорошее объяснение поставленных задач, хорошее представление продукта, который нужно разработать, в чём и помогают модели проектирования. Entity Relatioship — модель проектирования, которая пользуется популярностью не один десяток лет. Она позволяет строить изящные диаграммы, которые, при правильном подходе, можно в будущем дополнять и видоизменять. Не поленитесь изучить. Спасибо за внимание!

Источник

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

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

СимволНазваниеОписание