Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Лекция



Привет, Вы узнаете о том , что такое проектирование баз данных, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое проектирование баз данных, инфологическое проектирование бд, сущности объекты свойства связи в бд, физическое проектирование бд, даталогическое проектирование бд, логическое проектирование бд, er-модель данных, семантические модели бд , настоятельно рекомендую прочитать все из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL.

проектирование баз данных

Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.

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

  • о каких объектах или явлениях требуется накапливать или использовать информацию;
  • какие их основные характеристики и взаимосвязи должны при этом учитываться.

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

Основные задачи проектирования баз данных

Основные задачи:

  • Обеспечение хранения в БД всей необходимой информации.
  • Обеспечение возможности получения данных по всем необходимым запросам.
  • Сокращение избыточности и дублирования данных.
  • Обеспечение целостности базы данных.

Основные этапы проектирования баз данных

Концептуальное (инфологическое) проектирование

Концептуальное (инфологическое) проектирование — построение семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Такая модель создается без ориентации на какую-либо конкретную СУБД и модель данных. Термины «семантическая модель», «концептуальная модель» и «инфологическая модель» являются синонимами. Кроме того, в этом контексте равноправно могут использоваться слова «модель базы данных» и «модель предметной области» (например, «концептуальная модель базы данных» и «концептуальная модель предметной области»), поскольку такая модель является как образом реальности, так и образом проектируемой базы данных для этой реальности.

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

Чаще всего концептуальная модель базы данных включает в себя:

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

Логическое (даталогическое) проектирование

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

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

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

Физическое проектирование

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

Нормализация

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

Модели БД «сущность-связь» er-модель данных

Модель «сущность-связь» (англ. “Entity-Relationship model”), или ER-модель, предложенная П. Ченом в 1976 г., является наиболее известным представителем класса семантических (концептуальных, инфологических) моделей предметной области. ER-модель обычно представляется в графической форме, с использованием оригинальной нотации П. Чена, называемой ER-диаграмма, либо с использованием других графических нотаций (Crow's Foot, Information Engineering и др.).

Основные преимущества ER-моделей:

  • наглядность;
  • модели позволяют проектировать базы данных с большим количеством объектов и атрибутов;
  • ER-модели реализованы во многих системах автоматизированного проектирования баз данных (например, ERWin).

Основные элементы ER-моделей:

  • объекты (сущности);
  • атрибуты объектов;
  • связи между объектами.

Сущность — объект предметной области, имеющий атрибуты.

Связь между сущностями характеризуется:

  • типом связи (1:1, 1:N, N:М);
  • классом принадлежности. Класс может быть обязательным и необязательным. Если каждый экземпляр сущности участвует в связи, то класс принадлежности — обязательный, иначе — необязательный.

семантические модели бд

Семантическая модель (концептуальная модель, инфологическая модель) – модель предметной области, предназначенная для представления семантики предметной области на самом высоком уровне абстракции. Это означает, что устранена или минимизирована необходимость использовать понятия «низкого уровня», связанные со спецификой физического представления и хранения данных.

Дейт К. Дж. Введение в системы баз данных. — 8-е изд. — М.: «Вильямс», 2006:

Семантическое моделирование стало предметом интенсивных исследований с конца 1970-х годов. Основным побудительным мотивом подобных исследований (т.е. проблемой, которую пытались разрешить исследователи) был следующий факт. Дело в том, что системы баз данных обычно обладают весьма ограниченными сведениями о смысле хранящихся в них данных. Чаще всего они позволяют лишь манипулировать данными определенных простых типов и определяют некоторые простейшие ограничения целостности, наложенные на эти данные. Любая более сложная интерпретация возлагается на пользователя. Однако было бы замечательно, если бы системы могли обладать немного более широким объемом сведений и несколько интеллектуальнее отвечать на запросы пользователя, а также поддерживать более сложные (т.е. более высокоуровневые) интерфейсы пользователя.
[…]
Идеи семантического моделирования могут быть полезны как средство проектирования базы данных даже при отсутствии их непосредственной поддержки в СУБД.

Наиболее известным представителем класса семантических моделей является модель «сущность-связь» (ER-модель).

1 Сущности и их свойства

Question: What is an object?
Answer: Everything!
C. J. Date

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

Таким образом, на данном этапе встает вопрос о построении некой семантической модели предметной области, отражающей необходимую информацию о выбранной предметной области. В качестве такого рода модели, широко используемой на этапе инфологического проектирования баз данных, является так называемая модель сущность-связь (Entity/Relationship Model), сокращенно – «ER-модель», предложенная в 1976 году Ченом (Peter Pin-Shan Chen).

На какие же вопросы на данном этапе необходимо получить ответ?

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

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

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

При определении свойств сущностей важно различать два принципиально разных вида этих свойств.

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

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

Таким образом, на начальном этапе построения инфологической модели предметной области решаются следующие задачи:

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

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

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

Графически такое представление предметной области можно представить с помощью диаграммы, подобной представленной на рис. 1.

.

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 1. Пример диаграммы сущностей предметной области и их свойств

Как видно из рисунка, в приведенной предметной области выделено четыре сущности (типа сущностей): Студенты, Преподаватели, Факультеты и Дисциплины (на схеме обозначены прямоугольниками). Об этом говорит сайт https://intellect.icu . Экземпляры, принадлежащие каждому из этих типов сущностей, характеризуются определенными наборами свойств(обозначены овалами). Набор свойств позволяет различать между собой типы выделенных сущностей.Экземпляры конкретных сущностей различаются между собой значениями их свойств. В общем случае каждый конкретный экземпляр может быть идентифицирован набором всех значений его свойств (в противном случае у нас просто не было бы никаких способов различить два экземпляра друг от друга). Однако обычно экземпляры сущности могут быть идентифицируемы не по полному набору значений ее свойств, а по части или даже по одному свойству. Такой набор свойств, позволяющий однозначно идентифицировать экземпляры сущности, называется идентификатором сущности или ее ключом.

На практике часто специально вводят для сущности искусственное свойство-идентификатор, назначением которого является именно и только идентификация ее экземпляров. На приведенной диаграмме примером такого специально введенного свойства-идентификатора является свойство Код у сущностей Студенты, Преподаватели, Факультеты и Дисциплина, принимающее, например, числовые значения типа integer (целые числа без знака). При этом для конкретного типа сущности, например Студенты, не допускается наличие двух экземпляров (двух конкретных студентов) с одинаковыми значениями свойства Код.

Относительно свойств сущностей можно отметить также, что в общем случае их значение не обязательно должно быть простым (скалярным) элементом. Например, на рис. 1 приведено свойство ФИО сущностиСтуденты, которое является составным, представляя собой агрегацию трех простых свойств Фам (фамилия), Имя и Отч (отчество).

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

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

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

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

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

На диаграмме, приведенной на рис. 2, связи между объектами обозначены ромбами. Например, как показано на этой диаграмме, сущность (тип сущности) Студенты связана с сущностью Факультеты связью типа учится_на. Эта связь отражает тот факт данной предметной области, что конкретные студенты (экземплярысущности Студенты) учатся на конкретных факультетах (экземплярах сущности Факультеты).

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 2. Пример диаграммы сущностей и связей между ними

3 Виды связей между сущностями

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

Между одними и теми же сущностями одновременно могут иметь место не один, а несколько типов связей. Например, между сущностями ПРЕПОДАВАТЕЛИ иФАКУЛЬТЕТЫ показаны две связи: связь ПРЕПОДАЕТ_НА и связь ЯВЛ_ДЕКАНОМ, отражающие соответственно два факта: первый, что преподаватели преподают на определенных факультетах, и второй, что какие-то преподаватели являются деканами факультетов.

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

Могут быть связаны между собой экземпляры более чем двух типов сущностей. Так, связь ДИСЦ_СТУД_ПРЕП отражает тот факт, что студенты изучают конкретные учебные дисциплины у конкретных преподавателей. Причем, следует обратить внимание, что в общем случае эта связь не является эквивалентной трем связям вида:

СТУДЕНТЫ ↔ ДИСЦИПЛИНЫ,

СТУДЕНТЫ ↔ ПРЕПОДАВАТЕЛИ и

ПРЕПОДАВАТЕЛИ ↔ ДИСЦИПЛИНЫ.

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

Важной характеристикой связи между экземплярами сущностей является степень (cardinality) этой связи. Степень связи характеризует число экземпляров сущности, которое может участвовать с каждой стороны связи. Для бинарных связей по степени связи с каждой ее стороны различают связи типов один-к-одному(1:1), один-ко-многим (1:m), многие-к-одному (m:1) и многие-ко-многим (m:n).

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

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

Пример. Каждый преподаватель преподает не более одной дисциплины, и каждая дисциплина преподается не более чем одним преподавателем.

Связи 1:m (один-ко-многим) и m:1 (многие-к-одному). Не более одного экземпляра одной сущности может быть связано с любым количеством экземпляров другой сущности.

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

Пример связи m:1. Каждый преподаватель может преподавать не более одной учебной дисциплины, но каждая дисциплина может преподаваться более чем одним преподавателем.

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

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

На ER-диаграммах степень связи может обозначаться, например, символами 1 или m у соответствующих концов линий, обозначающих связь,

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

или с использованием обозначений типа

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

В обоих примерах изображена связь типа один-ко-многим (1:m) между сущностью Преподаватель и сущностью Дисциплина.

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

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

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

Например, для связи сущности Преподаватель с сущностью Дисциплина может иметь место ситуация, когда:

  • каждый преподаватель обязательно должен быть связан с какой-либо одной или несколькими учебными дисциплинами (это обязательный класс принадлежности сущности Преподаватель ксущности Дисциплина),
  • среди преподавателей есть те, которые связаны с какими-либо дисциплинами, но есть и такие, которые не связаны ни с одной дисциплиной (это необязательный класс принадлежности сущностиПреподаватель к сущности Дисциплина).

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

  • Каждый преподаватель преподает не более одной (то есть может и не преподавать ни одной) учебной дисциплины…

Степень связи …-к-одному, принадлежность экземпляров сущности Преподаватель к экземплярам сущности Дисциплина относится к необязательному классу.

На ER-диаграммах обозначается как

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Преподаватель принадлежит одной дисциплине или не принадлежит ни к одной дисциплине (связан с 0 или 1-й дисциплиной).

  • Каждый преподаватель обязательно преподает какую-либо, но только одну учебную дисциплину…–

Степень связи …-к-одному, принадлежность экземпляров сущности Преподаватель к экземплярам сущности Дисциплина относится к обязательному классу.

На ER-диаграммах обозначается как

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Преподаватель принадлежит одной и только одной дисциплине.

  • Каждый преподаватель может преподавать любое число учебных дисциплин (в том числе и не преподавать ни одной из них)…

Степень связи …-ко-многим, принадлежность экземпляров сущности Преподаватель к экземплярам сущности Дисциплина относится к необязательному классу.

На ER-диаграммах обозначается как

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Преподаватель может быть связан с любым числом дисциплин (от 0 до m).

  • Каждый преподаватель обязательно преподает хотя бы одну учебную дисциплину…

Степень связи …-ко-многим, принадлежность экземпляров сущности Преподаватель к экземплярам сущности Дисциплина и относится к обязательному классу.

На ER-диаграммах обозначается как

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Преподаватель обязательно должен быть связан с одной или несколькими дисциплинами (от 1 до m).

На ER-диаграммах степень связи может обозначаться, например, символами 1 или m у соответствующих концов линий, обозначающих связь,

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

или с использованием обозначений типа преподаватель дисциплина

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

На обоих примерах изображена связь типа 1:m между сущностью преподаватель и сущностью дисциплина.

Примеры.

ER-диаграмма следующего вида

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

представляет связь сущности Преподаватель с сущностью Дисциплина степени один-ко-многим (1:m) собязательным классом принадлежности экземпляров сущности Преподаватель экземплярам сущностиДисциплина и необязательным классом принадлежности экземпляров сущности Дисциплина к экземплярамсущности Преподаватель. Это означает:

  • каждый преподаватель обязательно должен преподавать одну или несколько дисциплин (1, m);
  • конкретная дисциплина может преподаваться не более чем одним преподавателем.

Следующая диаграмма

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

представляет связь сущности Преподаватель с сущностью Дисциплина степени один-ко-многим (1:m) снеобязательным классом принадлежности экземпляров сущности Преподаватель к экземплярам сущностиДисциплина и обязательным классом принадлежности экземпляров сущности Дисциплина экземплярамсущности Преподаватель. Это означает:

  • преподаватель может вести любое число дисциплин, в том числе и ни одной (0, m);
  • каждая дисциплина обязательно должна преподаваться одним, но только одним преподавателем.

4 Еще о сущностях, их свойствах и связях между ними

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

Следует обратить внимание на следующую проблему, возникающую при решении задачи описания предметной области в понятиях модели сущность-связь, то есть средствами ER-диаграмм. Проектировщику базы данных необходимо решить, какие элементы и характеристики предметной области должны быть представлены в модели в виде объектов-сущностей, какие в виде свойств этих сущностей, а какие в виде связей (отношений) между ними. Дело в том, что на самом деле отличие этих категорий друг от друга является не абсолютным, а условным. В частности, один и тот же объект предметной области в одних ситуациях может выступать как свойство другого объекта, а в других может быть представлен как самостоятельная сущность. Например, элемент Адрес может выступать в качестве свойства (атрибута)сущности Студент, а может рассматриваться как самостоятельный объект, обладающий своим набором свойств (Город, Улица, Дом, …) и связанный с сущностью Студент связью типа Проживает. Также условным является различие между категориями сущность и связь. Например, связь между сущностями Преподаватель и Дисциплина может при желании интерпретироваться и представляться как самостоятельная сущность(можно назвать ее Преподаваемая дисциплина), которая, в свою очередь, уже как сущность, может обладать какими-либо своими свойствами, например свойством Учебники, представляющим литературу, используемую преподавателем по учебной дисциплине.

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

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

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

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

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

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

Как уже было сказано выше, свойство – это категория, представляющая характеристики сущности. При этом одни свойства сущности позволяют идентифицировать ее, то есть выделять из множества других сущностей, другие свойства позволяют объединять множество экземпляров сущностей, обладающих общими свойствами, в абстрактные сущности – типы или классы.

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

Определение сущности А, в виде агрегации

А{<свойство 1>, <свойство 2>, …, <свойство n>}

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

В качестве примера рассмотрим в качестве примера сущность Студент, представляющую в модели множество студентов, являющихся ее экземплярами. Эта сущность представлена на рис. 3 агрегацией ее свойств {№ студенческого билета, Курс, ФИО, Дата рождения}.

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 3. Агрегация свойств сущности Студент

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Если речь идет о свойствах, которые могут выступать в роли идентификаторов экземпляров сущности, то между такими свойствами и идентифицируемой ими сущности имеет место обязательная связь типа один-к-одному. В рассматриваемом примере в качестве свойства-идентификатора выступает свойство№ студенческого билета. Другие свойства сущности (неидентифицирующие) связаны с нею связью типаодин-ко-многим. Например, свойство Курс – конкретный студент учится на одном конкретном курсе, но на конкретном курсе учится множество студентов. Классы принадлежности свойств с определяемой ими сущностью, также как и класс принадлежности самой сущности с определяющими ее свойствами являютсяобязательными. То есть, экземпляры сущности не могут существовать без соответствующих значений ее свойств, также как значения этих свойств не существуют отдельно от определяемых ими экземпляровсущности. Условную схему рис. 3 можно представить уже в более формализованном виде модели сущность-связь на рис. 4.

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 4. ER-диаграмма сущности Студент с ее свойствами

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

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

Можно обратить внимание на сходство типа этой связи со связями сущности Студент с ее свойствами на рис. 3 (связь один-ко-многим). Однако, при внимательном рассмотрении классов принадлежности сущностиСтудент и объекта Научный руководитель в их взаимной связи, можно увидеть, что объект Научный руководитель уже не может выступать в качестве свойства сущности Студент. Дело в том, что в нашем примере могут быть студенты, у которых еще нет научного руководителя, также, как и у конкретного преподавателя-руководителя может не быть студента для руководства. Выражаясь в понятиях ER-модели, класс принадлежности связи сущности к Научному руководителю и обратной связи Научный руководитель – Студент является необязательным, что отражено в условных обозначениях на схеме рис. 5.

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 4.5. ER-диаграмма связи сущности Студент с сущностью Научный руководитель

Другими словами объект Научный руководитель в контексте его связи с сущностью Студент выступает уже не как свойство этой сущности, а как самостоятельная сущность, экземпляры которой (конкретные руководители) могут существовать отдельно от экземпляров сущности Студент (конкретных студентов). При этом у этой новой сущности Научный руководитель при дальнейшем анализе предметной области могут обнаружиться уже свои собственные свойства (например, ФИО, Ученое звание и др.), как это представлено на рис. 6.

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 6. Представление объекта Научный руководитель в качестве самостоятельной сущности, связанной с сущностью Студент

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

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

Помимо этого в качестве свойства обычно выступают объекты простейшего типа (числовые или строковые литералы). Литералом обычно называют простейший объект-сущность, идентифицирующий сам себя, любые изменения которого превращают его в другой объект, например, ‘01561’, ‘физика’.

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

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 4.7. Представление сущности Студент с ее свойствами

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

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

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 8. Связь многие-ко-многим между сущностями Студент и Дисциплина

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

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

Можно подойти к рассмотрению отношения между сущностями Студент и Дисциплина и с другой стороны. Рассматривать эту связь как самостоятельную сущность предметной области. Можно, например, назвать этусущность Успеваемость и представлять с помощью нее информацию о том, какой студент, по какой дисциплине имеет определенную оценку. Такой вариант ER-диаграммы представлен на рис. 9.

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 9. Представление связи многие-ко-многим с помощью новой самостоятельной сущности

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

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

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

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

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

Инфологическое проектирование БД. Сущности, объекты, модели, свойства, связи

Рис. 10. ER-диаграмма предметной области, изображенной рис. 2

Вау!! 😲 Ты еще не читал? Это зря!

В заключение, эта статья об проектирование баз данных подчеркивает важность того что вы тут, расширяете ваше сознание, знания, навыки и умения. Надеюсь, что теперь ты понял что такое проектирование баз данных, инфологическое проектирование бд, сущности объекты свойства связи в бд, физическое проектирование бд, даталогическое проектирование бд, логическое проектирование бд, er-модель данных, семантические модели бд и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.

создано: 2016-02-19
обновлено: 2024-11-14
988



Рейтиг 8 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

Термины: Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL