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

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

Содержание

1 Теоретические положения

1.1 Основные понятия БД и СУБД

1.2 Инфологическая модель данных "Сущность-связь"

1.2.1 Основные понятия

1.2.2 Типы связей между сущностями

1.2.3 Классификация сущностей их обозначения (описания)

1.3 Реляционная модель данных

1.4 Нормальные формы отношений

2 Этапы проектирования БД

2.1 Советы и рекомендации

3 Задания к выполнению курсовой работы

3.1 Перечень заданий

3.2 Варианты заданий

4 Рекомендации по оформлению курсовой работы

ВВЕДЕНИЕ

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

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

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

ЦЕЛЬ РАБОТЫ

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

Теоретические положения

Основные понятия БД и СУБД

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

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

— формой представления (алфавитная, алфавитно-цифровая, дата);

— длиной, т.е. количеством символов, выделяемых для конкретных данных.

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

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

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

Упорядоченная совокупность элементов множества называется картежом.

Упорядоченная совокупность записей называется файлом данных.

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

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

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

1.2 Инфологическая модель данных "Сущность-связь"

Основные понятия

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

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

Атрибут – поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей (например, ЦВЕТ может быть определен для многих сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Примерами атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК, ЦВЕТ и т.д. Здесь также существует различие между типом и экземпляром. Тип атрибута ЦВЕТ имеет много экземпляров или значений: Красный, Синий, Банановый, Белая ночь и т.д., однако каждому экземпляру сущности присваивается только одно значение атрибута.

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

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

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

Читайте также:  Почему закрыли сериал почти человек

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

Между двумя сущностям, например, А и В возможны четыре вида связей.

Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В:

Студент может не "заработать" стипендию, получить обычную или одну из повышенных стипендий.

Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В.

Квартира может пустовать, в ней может жить один или несколько жильцов.

Так как между двумя сущностями возможны связи в обоих направлениях, то существует еще два типа связи МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕ-КО-МНОГИМ (М:N).

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

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

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

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

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

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

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

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

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

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

Подробное описание предметной области можно дать в общем случае только в свободной форме. Для графического описания абстрактной модели проектируемой системы используется UML (Unified Modeling Language — унифицированый язык моделирования). Мы не будем изучать этот язык из-за его чрезмерной абстрактности и сложности.

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

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

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

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

Обратите внимание — преподаватель может вести несколько дисциплин и занимать несколько должностей.

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

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

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

На рис. 4 изображена упрощённая инфологическая модель для построения расписания занятий. В реальной задаче нужно учесть много дополнительных факторов. Есть разные виды занятий: лекции, практические, лабораторные и т.д. Лекции проводятся с потоком, а лабораторные — с подгруппами. Расписание зависит от номера недели (чётная, нечётная). На рисунке сразу 6 элементов связаны друг с другом. Такая связь называется связью степени К. На рисунке К=6. Факультет с каферой, кафедра с группой и группа со студентом имеют связи один ко многим.

Рис. 4. Инфологическая модель для построения расписания занятий
Читайте также:  Gtx 560 ti vs gtx 570

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

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

Как назвать то, что изображено на модели в виде прямоугольников? Категориями? Но категория — очень общее философское понятие. Категории: материя, время, энергия.

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

Определение

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

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

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

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

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

  • бывают сильными и слабыми,
  • делятся на тип и подтип.

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

Если часть экземпляров сущности обладает дополнительными по отношению к другим экземплярам свойствами, то эту часть выделяют в подтип. На рис. 6 сущность студент является подтипом типа житель города, а сущност программист — подтипом типа сотрудник. Между типом и подтипом связь 1:1, но эта связь неполная, так как не каждому экземпляру типа соответствует экземпляр подтипа.

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

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

  1. Степени К
  2. Полные и неполные
  3. Типа М:N (Бинарные связи, К=2)
    • 1:1
    • 1:N (на схемах часто используют обозначение 1 ←→ ∞)
    • M:N, M>1, N>1 (∞ ←→ ∞)
    • Рекурсивные (между экземплярами одной сущности)
      • между равноправными экземплярами
      • между неравноправными
      • в одной сущности тип и подтип

      Степень К — количество связанных между собой сущностей. Пример связи степени К=6 показан на рис. 3. Для построенния расписания необходимо, чтобы были связаны ровно по одному экземпляру каждой сущности. Семантические связи между несколькими сущностями могут быть очень сложными даже, на первый взгляд, в простых случаях. У одной пары родителей (рис. 7) может быть несколько детей. Сводные братья и сёстры могут иметь одну мать и разных отцов, или одного отца и разных матерей. Родители могут быть юридичскими (приёмными) и фактическими (кровными), т.е. у одного ребёнка может быть две матери!

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

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

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

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

      Связь типа 1:N, N>1(или 1 ←→ ∞) — самая простая и удобная для построения реляционной базы данных. На рис.8 приведён пример модели сущность-связь из четырёх сущностей со связями 1:N.

      Рис. 8. Связи M:N

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

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

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

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

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

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

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

      1. простые и составные (композитные),
      2. однозначные и многозначные,
      3. a и b вместе,
      4. ключевые.

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

      Составное свойство: адрес (страна, область, город, улица, . . .)

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

      a и b вместе: адрес — композитное и однозначное.

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

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

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

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

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

      Читайте также:  Забился топливный фильтр признаки
      Рис. 10.Преобразование модели сущность-связь со свзью 1:N в реляционную модель

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

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

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

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

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

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

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

      1.2.2 Типы связей между сущностями

      Между двумя сущностям, например, А и В возможны четыре вида связей.

      Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В:

      Студент может не "заработать" стипендию, получить обычную или одну из повышенных стипендий.

      Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В.

      Квартира может пустовать, в ней может жить один или несколько жильцов.

      Так как между двумя сущностями возможны связи в обоих направлениях, то существует еще два типа связи МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕ-КО-МНОГИМ (М:N).

      1.2.3 Классификация сущностей их обозначения (описания)

      Существует три основных класса сущностей: стержневые, ассоциативные и характеристические, а также подкласс ассоциативных сущностей – обозначения (рис.1).

      Расширим также язык ER-диаграмм, введя для изображения характеристики трапецию (рис. 2.2).

      Стержневая сущность (стержень) – это независимая сущность (несколько подробнее она будет определена ниже).

      Ассоциативная сущность (ассоциация) – это связь вида "многие-ко-многим" ("-ко-многим" и т.д.) между двумя или более сущностями или экземплярами сущности. Ассоциации рассматриваются как полноправные сущности:

      они могут участвовать в других ассоциациях и обозначениях точно так же, как стержневые сущности;

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

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

      Существование характеристики полностью зависит от характеризуемой сущности.

      Для описания характеристики используется новое предложение ЯИМ, имеющее в общем случае вид:

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

      Рассмотрим пример, связанный с зачислением сотрудников в различные отделы организации.

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

      Отделы (Номер отдела, Название отдела, . )

      Служащие (Табельный номер, Фамилия, . )

      Зачисление [Отделы M, Служащие N]

      (Номер отдела, Табельный номер, Дата зачисления).

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

      Отделы (Номер отдела, Название отдела, . )

      Служащие (Табельный номер, Фамилия, . , Номер отдела,

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

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

      Описание обозначения внешне отличается от описания характеристики только тем, что обозначаемые сущности заключается не в фигурные скобки, а в квадратные:

      ОБОЗНАЧЕНИЕ (атрибут 1, атрибут 2, . )[СПИСОК ОБОЗНАЧАЕМЫХ СУЩНОСТЕЙ].

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

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

      1.3 Реляционная модель данных

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

      Пусть имеется некоторая совокупность множеств D1, D2, … DN. Отношением R на этих множествах называется подмножество их декартового произведения, где N — это степень отношения. Картеж — это совокупность элементов множеств, причем порядок имеет существенное значение, т.к. каждый элемент множества должен принадлежать только своему домену. Запись вида R(A,B,C) называется схемой отношения и наряду с названием отношения содержит имена атрибутов. Совокупность схем отношений составляет схему реляционной БД.

      Количество картежей называется мощностью отношения.

      Ссылка на основную публикацию
      Телефон греется и тормозит что делать
      Почему тормозит устройство на Andro >Прежде чем перейти непосредственно к решению проблем, стоит указать на их причины. Зная о том,...
      Стоит ли учиться на нефтяника
      Добыча газа и нефти — очень популярная сфера в России. Именно поэтому большое количество выпускников стремится поступать на специальность «Нефтегазовое...
      Стойка для аудио аппаратуры своими руками
      Решил создать данную тему,т.к. думаю форумчанам будет интересно почитать, а кому то и поделиться личным опытом, по изготовлению своими руками...
      Телефон завис на загрузке андроид
      В результате поломки аппаратной части или сбоя в работе ОС любой Android-смартфон может перестать реагировать на кнопку включения. Частой можно...
      Adblock detector