Инфологическая модель сущность-связь была предложена П. Ченом и представляет собой инфологическую модель симантически определяющую сущности и связи.
Существует 3 обязательных элемента для данной модели:
Сущность – объект, информация о котором должна быть представлена в БД (соответствует существительному:студент). Экземпляр сущности – информация о конкретном представителе объекта(группа).
Связь – соединение между двумя или более сущностями (соответствует глаголу).
Атрибут – свойство сущности или связи. Ключ сущности – атрибут или набор атрибутов, используемый для однозначной идентификации экземпляра сущности. Каждый экземпляр связи определяется набором ключей сущности соединенных этой связью.
Виды связей.
Связь между сущностями имеет 2 характеристики:
1)степень связи (1:1-каждый экземпляр этой сущности может быть связан только с 1 экземпляром 1 сущности и наоборот, 1:М-каждый экземпляр 1 сущности может быть связан с несколькими экземплярами 2 сущности, но каждый экземпляр 2 сущности может быть связан только с 1 экземпляром 2 сущности, М:М-каждый экземпляр 1 сущности может быть связан с несколькими экземплярами 2 сущности и наоборот)
2)класс принадлежности сущности связи. (может быть обязательным и необязательным). При обязательном - каждый экземпляр сущности должен быть связан с другой сущностью. При необязательном –не требуется чтобы каждый экземпляр сущности был связан с другой сущностью.
Правила построения ER-диаграмм: Рассмотрим формулировки шести правил формирования отношений.
Правило 1. Если степень связи 1: 1 и класс принадлежности обеих сущностей обязательный, то формируется одно отношение. Первичным ключом этого отношения может быть ключ любой из двух сущностей.
Правило 2. Если степень связи 1: 1 и класс принадлежности одной сущности обязательный, а второй – необязательный, то под каждую из сущностей формируется по отношению с первичными ключами, являющимися ключами соответствующих сущностей. Далее к отношению, сущность которого имеет обязательный КП, добавляется в качестве атрибута ключ сущности с необязательным КП.
Правило 3. Если степень связи 1: 1 и класс принадлежности обеих сущностей является необязательным, то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными ключами в этих отношениях. Третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений.
Правило 4. Если степень связи 1: М (или М: 1) и класс принадлежности М-связной сущности обязательный, то достаточно формирование двух отношений (по одному на каждую сущность). При этом первичными ключами этих отношений являются ключи их сущностей. Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее М-связной сущности.
Правило 5. Если степень связи 1: М (или М: 1) и класс принадлежности М-связной сущности необязательный, то необходимо формирование трех отношений. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя (его ключ объединяет ключевые атрибуты связываемых отношений).
Правило 6. Если степень связи М: М, то независимо от класса принадлежности сущностей формируются три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений. Третье отношение является связным между первыми двумя, а его ключ объединяет ключевые атрибуты связываемых отношений.
связь. Должность СОСТОИТ в отделе.
Графически связь изображается линией, соединяющей две сущности:
Характер связей между сущностями не ограничивается перечисленными. Существуют и более сложные связи:
множество связей между одними и теми же сущностями
(пациент, имея одного лечащего врача, может иметь также несколько врачей-консультантов; врач может быть лечащим врачом нескольких пациентов и может одновременно консультировать несколько других пациентов);
тренарные связи
(врач может назначить несколько пациентов на несколько анализов, анализ может быть назначен несколькими врачами нескольким пациентам и пациент может быть назначен на несколько анализов несколькими врачами);
связи более высоких порядков, семантика (смысл) которых иногда очень сложна.
Каждая связь может иметь одну из двух модальностей связи:
Реляционная модель данных. Базовые понятия. Степень отношения. Ключи отношения. Связанные отношения. Условия целостности данных. Типы связей между таблицами. Свойства таблиц реляционной БД, индексы
Реляционная модель данных.
Реляционная модель данных предложена сотрудником фирмы IBM Эдгаром Коддом в 1970 г. Данная модель помогла решить проблему независимости представления и описания данных от прикладных программ.
Плюсами данной модели являются: наличие большого набора абстракций, что упрощает моделирование большей части предметных областей; наличие мощного математического аппарата; возможность манипулирования данными.
Минусами реляционной модели являются: ограниченность применения в нетрадиционных областях; недостаточная эффективность при больших размерах БД.
Реляционная модель данных (РМД) в некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними.
Базовые понятия:
Отношение – любая взаимосвязь между объектами и/или их свойствами. Отношение задается именем и списком его атрибутов. Student (ФИО, Год рождения, Группа).
Тип данных – полностью эквивалентен типу данных в алгоритмических языках. Набор типов данных зависит от используемой СУБД, но все СУБД поддерживают целочисленные, строковые, вещественные, денежные, временные и типы двоичных объектов.
Домен – множество атомарных значений одного и того же типа, т.е. домен – допустимое значение. Атомарное (неделимое) значение данных – наименьшая единица данных в реляционной модели.
Данные можно сравнивать в том случае если они относятся к одному домену.
Столбцы - атрибуты им присваиваются имена, которые с помощью имен к ним обращаются.
Числом атрибутов - степень отношения.
Схема БД - множество наименованных схем отношений.
Атрибут – столбец, которому присваивается уникальное имя.
Степень отношения – число атрибутов в отношении. Схема БД – множество именованных схем отношений.
Отношение – это множество, которое не содержит одинаковых элементов – кортежей.
Картеж – множество пар, содержащее только одно вхождение каждого атрибута. Альтернативные значения – строка, таблица, столбец, файл, запись, поле.
Ключ отношения. В множестве не может быть совпадающих значений, в картеже так же не может быть совпадающих значений в любой момент времени. В отношений должна присутствовать группа атрибутов, которая определяет каждый кортеж и определяет столб. Такой атрибут – первичный ключ отношений.
Отношение представляет собой множество, в котором не может быть совпадающих значений. Первичный ключ – атрибут или группа атрибутов, однозначно определяющий картеж и обеспечивающий уникальность данных строк. Если есть R (A1, A2,…,An), то множество атрибутов K (Ai, Ai+1,…, An) является первичным ключом тогда и только тогда когда выполняются 2 условия:
Уникальности – ни один из атрибутов отношения R не имеет одного и того же значения;
Минимальности – ни один из атрибутов K не может быть исключен без нарушения целостности R.
В зависимости от количества атрибутов ключи бывают простые (состоят из одного атрибута) и составные (из нескольких).
В реляционной модели данные представляются в виде совокупностей взаимосвязанных отношений.
Внешний ключ – атрибут или набор атрибутов одного отношения, являющийся ключом использования для установления связи. Связь между таблицами устанавливается с помощью внешнего ключа первой таблицы с ключом значений второй таблицы. Внешние ключи используются для установления логических связей между отношениями. Внешний ключ бывает простым и составным.
Ключи обычно используют для достижения следующих целей:
Исключения дублирования значений в ключевых атрибутах (остальные атрибуты в расчет не принимаются).
Упорядочение кортежей. Возможно упорядочение по возрастанию или убыванию значений всех ключевых атрибутов, а так же смешанное упорядочение (по одним – возрастание, а по другим - убывание)
Ускорение работы к кортежам отношения
Организации связывания таблиц
Связанные отношения
Чаще всего в реляционной модели данные предоставляются в виде совокупности отношений.
Поскольку не всякой таблице можно поставить в соответствие отношение, приведем условия, выполнение которых позволяет таблицу считать отношением.
Все строки таблицы должны быть уникальны, то есть не может быть
строк с одинаковыми первичными ключами.
Имена столбцов таблицы должны быть различны, а значения их простыми, то есть недопустима группа значений в одном столбце одной строки.
Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам столбцов.
Порядок размещения строк в таблице может быть произвольным.
Условие целостности данных.
Информация в базе данных однозначна и непротиворечива в реляционной модели накладываются ограничительные услуги – это правила операции возможными значениями данных. Обеспечивают логическую основу для поддержания корректных данных.
Для того чтобы информация не была противоречивой, в реляционной модели накладываются ограничительные условия. Ограничениями целостности являются: