Помощь в написании студенческих работ
Антистрессовый сервис

Реляционная модель данных. ER-модель. 
Связи между таблицами

РефератПомощь в написанииУзнать стоимостьмоей работы

Атрибутом отношения называется характеристика или так называемое свойство сущности, которое необходимо для выражения состояния этой сущности. В отношении атрибут представлен поименованным столбцов. Неформальным эквивалентным понятием «атрибут» является «столбец» или «поле». Фиксированное множество атрибутов отношения представляет собой заголовок отношения. В некоторых случаях заголовок называется… Читать ещё >

Реляционная модель данных. ER-модель. Связи между таблицами (реферат, курсовая, диплом, контрольная)

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

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

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

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

Для описания свойств отношения в реляционной модели данных необходимо ввести такие определения, как:

  • — сущность;
  • — атрибут;
  • — кортеж;
  • — заголовок отношения;
  • — тело отношения;
  • — степень отношения;
  • — мощность отношения.

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

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

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

Реляционные отношения обладают следующими обязательными свойствами.

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

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

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

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

Также к основным элементам реляционной модели данных относятся понятия «схема данных» и «ключ». Понятие «ключ» более подробно описывается в вопросе 1.3.

Операции с данными реляционной модели данных делятся на:

  • — операции над отношениями. Такие операции бывают унарными и бинарными. Унарные операции над отношениями — это операции преобразования одного отношения в другое, которое является подмножеством первого. Бинарные операции над отношениями — это такие операции, которые могут быть применены к двум отношениям с одинаковой схемой;
  • — операции над строками — это операции манипулирования кортежами в отношении.

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

Для осуществления всех операций реляционной алгебры были созданы так называемые «языки манипулирования данными». Такие языки являются языками высокого уровня. Это значит, что нет необходимости пользователю, помимо самих данных, указывать конкретную процедуру их получения. Например, к там языкам относятся SQL (Structured Query Language) — структурированный язык запросов и QBE (Quere-By-Example) — запросы по образцу.

К операциям над отношениями, которые также называются операциями обработки, относятся следующие:

  • — объединение — операция реляционной алгебры, выполняющаяся над двумя логически связанными отношениями с целью получения нового отношения с тем же составом атрибутов и совокупностью кортежей исходных отношений. Другими словами, объединение двух отношений содержит строки, которые есть или в первом отношении, или во втором, или в обоих;
  • — пересечение — это операция реляционной алгебры, выполняющаяся над двумя отношениями с одинаковым множеством атрибутов с целью получения множества кортежей, имеющихся одновременно и в первом отношении, и во втором;
  • — вычитание — это операция реляционной алгебры, выполняющаяся над двумя отношениями с одинаковым множеством атрибутов с целью получения множества кортежей, имеющихся в первом отношении, но отсутствующих во втором. Данная операция также имеет название «разность»;
  • — декартово произведение — это операция реляционной алгебры, выполняющаяся над двумя отношениями, имеющими разную совокупность атрибутов, с целью получения всех возможных сочетаний кортежей исходных отношений. Пары кортежей формируются путём сцепления кортежа из первого отношения, что является началом новой строки, с кортежем второго отношения. Количество кортежей (число строк) нового отношения равно произведению количества кортежей исходных отношений, а длина каждого кортежа — сумме длин кортежей этих отношений. Эта операция также имеет название «умножение»;
  • — выбор — это унарная операция реляционной алгебры, осуществляющая выборку подмножества кортежей из одного отношения по заданному условию, называемому предикатом. Такое условие состоит из имени столбца этого подмножества, одного из операторов сравнения (к ним относятся: <, <=, =,, >, >=) и константы или другого столбца этого подмножества. Несколько условий соединяются логическими операторами (AND, OR). Структура результирующего отношения является идентичной исходного, но количество кортежей будет меньше. Данная операция также имеет название «селекция» или «горизонтальное подмножество»;
  • — проекция — это унарная операция реляционной алгебры, которая выполняется над одним отношением, в результате которой формируется новое отношение с некоторым заданным подмножеством атрибутов исходного отношения. Порядок следования атрибутов может отличаться от порядка их следования в исходном отношении. Из результирующего отношения избыточные дублирующиеся кортежи исключаются вручную, т. е. путём применения дополнительных функций. Данная операция также имеет название «вертикальное подмножество»;
  • — соединение — это операция реляционной алгебры, выполняющаяся для заданного условия соединения над двумя логически связанными отношениями, имеющими в целом разные структуры, но одинаковые атрибуты (внешние ключи), в результате которой формируется новое отношение, структура которого является совокупностью всех атрибутов обоих исходных отношений. Каждый результирующий картеж является следствием объединения каждого картежа первого отношения с каждым кортежем второго отношения. Обязательным условием для выполнения служит наличие общего атрибута в обоих отношениях;
  • — деление — это операция реляционной алгебры, выполняющаяся над двумя отношениями, имеющими в целом разные структуры, но в то же время некоторые одинаковые атрибуты. В результате выполнения данной операции создаётся новое отношение, структура которого является результатом исключения из совокупности (или множества) атрибутов первого отношениях атрибутов второго отношения. Результирующие строки не содержат дубликатов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • — связь «один-к-одному»;
  • — связь «один-ко-многим»;
  • — связь «многие-ко-многим».

При построении схем принято пользоваться сокращениями. Цифра «1» заменяет слово «один», буква «М» — слово «много».

Связь «один-к-одному» обозначается (1:1). Эта связь означается, что в данный момент времени одной записи (экземпляру) родительной таблицы соответствует ни одной (0) или одна (1) запись дочерней.

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

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

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

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

Сущность представляется в виде четырёхугольника с закруглёнными углами. В верхней части такого четырёхугольника указывается уникальное имя сущности в единственном числе заглавными буквами. Синонимы, т. е. необязательные поясняющие имена, указываются заглавными буквами в круглых скобках. Атрибутом сущности называется именованная характеристика, которая представляет собой свойство данной сущности. Для представления атрибутов используются уникальные имена, которые пишутся в прямоугольнике строчными буквами. Ключевые атрибуты располагаются сверху и отделяются горизонтальной линией, слева от имени они помечаются знаком «#» (решётка). Обязательные атрибуты, значения которых обязательно должны быть известны и не могут принимать неопределенные значения, слева от имени помечаются символом «*» (звёздочка), необязательные атрибуты — символом «» (кружок). Для обозначения связей между сущностями используются три вида линий:

", — обозначающие «один», «0 или необязательно» и «много» соответственно;

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