
- •Определение модели данных. Представление статических и динамических свойств реального мира. Понятие базы данных
- •Базовые структурные компоненты моделей данных: домены и атрибуты; отношение сущности, схема отношения; отношение связи, характеристика связи.
- •Понятие ограничений целостности. Общая характеристика ограничений целостности. Типы ограничений целостности.
- •Модель данных сущность-связь п. Чена: информация о сущностях и связях, структура информации. Диаграмма сущность-связь.
- •Реляционная модель данных: базовые объекты, фундаментальные свойства отношений. Представление сущностей и связей.
- •Подмножество sql для определения данных: предложение create table, правила записи. Примеры.
- •Реляционная алгебра как манипуляционная часть реляционной модели данных: общая характеристика, основные элементы, теоретико-множественные и специальные операции.
- •Реляционное исчисление с переменными-кортежами: основные определения, понятие атомов, правильно построенная формула.
- •Подмножество sql для манипулирования данными: предложения insert, delete, update. Правила написания запросов: предложение select.
- •Проектирование баз данных с использованием теории нормализации: возникающие проблемы, понятие нормальной формы, 1нф, 2нф, 3нф, нфбк, 4нф.
Модель данных сущность-связь п. Чена: информация о сущностях и связях, структура информации. Диаграмма сущность-связь.
Уровни абстракции представления данных:
1)Информация, относящаяся к объектам и связям, как она существует в нашем представлении. 2)Структура информации – организация информации, в которой объекты и связи представлены данными. 3)Структура данных, независимая от способа доступа (т.е. не связанная со схемами поиска, индексации и т.п.) 4)Структура данных, зависимая от способа доступа.
МД "сущность-связь" предложена в 1976 году П. Ченом. Она поддерживает первый и второй уровни абстракции. Рассмотрим первый уровень абстракции. Основными структурными компонентами модели данных являются сущности (entity) и связи (relationship).
Сущность – нечто, принадлежащее объективной реальности, облаченное в материальную форму или форму идеи; любой объект, который может быть идентифицирован некоторым способом, отличающим его от других объектов, и информацию о котором надо хранить в БД.
Каждая сущность относится к некоторому отличному от других множеству сущностей. Для каждого множества сущностей определяются некоторые свойства, общие для всех сущностей из множества. Тип сущности – это некоторое обобщенное представление однородных сущностей. Таким образом, тип сущности – это интенсионал, а конкретное множество сущностей – экстенсионал типа сущности. Множества сущностей не обязаны быть непересекающимися.
Связь – это некоторая ассоциация, устанавливаемая между двумя или более сущностями. Для связи также определяются: множество связей, тип связи, экземпляр связи.
Множество связей – это математическое отношение между n сущностями, каждая из которых относится к некоторому множеству сущностей:
R = {<e1, e2, ..., en>} | e1 принадлежит E1, e2 принадлежит E2, ..., en принадлежит En}.
Здесь каждый кортеж отношения <e1, e2, ..., en> является связью.
Тип связи определяется как ассоциация типов сущностей.
Роль сущности в связи – это функция, которую сущность выполняет в данной связи. Упорядочение сущностей в определении связи может отсутствовать, если в связи явно указаны роли сущностей: <r1/e1, r2/e2, ..., rn/en>
В
БД организации необходимо хранить
информацию о сущностях и связях,
интересующую данную организацию. Эту
информацию получают путем наблюдения
или измерения и выражают множеством
пар "атрибут-значение". С каждым
множеством значений связывается
предикат, проверяющий, принадлежит ли
значение множеству. Атрибут может быть
определен как функция, отображающая
множество сущностей в множество значений:
(f: Ei
Vi
) или множество связей в декартово
произведение множеств значений: (f:
Ri
Vi1
Vi2
...
Vin)
В приведенном примере можно выделить следующие ситуации:
атрибут может отображать множество сущностей в одно множество значений; пример: атрибут Номер сотрудника;
атрибут может задавать отображение множества сущностей в несколько (декартово произведение) множеств значений; пример: атрибут Полное имя;
разные атрибуты могут задавать отображение одного множества сущностей в одно множество значений (или одну группу множеств). Пример: Возраст и Стаж работы.
Т
аким
образом: 1)Атрибут и множество значений
являются различными понятиями, хотя в
некоторых случаях они могут иметь одно
и то же имя; 2)Атрибут определяется как
функция. Следовательно, он отображает
данный объект в одно значение (или одну
группу значений в случае декартова
произведения множеств значений). 3)Связи
также могут иметь атрибуты.
Рассмотрим второй уровень абстракции – структуру информации. Для идентификации сущности во множестве сущностей выделяется ключ сущности – такой атрибут или группа атрибутов, что отображение множества сущностей в одно или группу множеств значений является взаимно однозначным. Это означает, что ключ сущности однозначно определяет сущность. Если существует несколько ключей, обычно определяют первичный ключ сущности (primary key – PK) и выбирают для него семантически значимый ключ.
К
аждый
экземпляр связи должен быть однозначно
идентифицирован, и для этого также
используется первичный ключ связи. Так
как связь идентифицируется вовлеченными
в нее сущностями, первичный ключ связи
может быть представлен первичными
ключами вовлеченных в связь сущностей.
В некоторых случаях сущности во множестве
сущностей нельзя уникально идентифицировать
значениями только собственных атрибутов;
для уникальной идентификации необходимо
использовать и связь. В соответствии с
этим определяются две
формы отношения сущностей:
1)регулярное отношение сущности, если
для идентификации сущностей используются
только собственные атрибуты; 2)слабое
отношение сущности, если для идентификации
сущностей используются связи.
Соответственно, связи, в которые вовлечены
слабые отношения сущностей, являются
слабым отношением связи.
Линии, соединяющие сущности и связи, определяют, какие сущности вовлечены в ту или иную связь. Подписи линий определяют роли сущностей в связях. Атрибуты присоединяются к соответствующим сущностям и связям. Первичные ключи подчеркиваются.