
- •Конспект лекций
- •Раздел «бд. Субд. Основные понятия» 8
- •2. Жизненный цикл баз данных
- •3 Эксплуатационные характеристики базы данных
- •Раздел «бд. Субд. Основные понятия»
- •4. Управление параллельным доступом.
- •Раздел «бд. Субд. Основные понятия» Лекция №3 Место баз данных в архитектуре ис
- •1 Локальные ис
- •2 Ис в файл-серверной архитектуре
- •3 Ис в клиент-серверной архитектуре
- •4 Двухзвенные модели архитектуры
- •5 Трехзвенные модели
- •6 Монитор транзакций
- •7 Ис в Internet и intranet
- •Раздел «Концептуальный уровень проектирования бд» Лекция №4 Концептуальная модель данных. Сущности, атрибуты, ключи
- •1 Основные понятия
- •2 Задачи моделирования данных
- •3 Сущности
- •4 Атрибуты
- •5 Ключи
- •Раздел «Концептуальный уровень проектирования бд» Лекция №5 Концептуальная модель данных. Связи. Классы и подклассы. Концептуальная схема
- •1 Связи
- •2 Классы и подклассы
- •3 Источники данных для концептуального проектирования
- •4 Построение концептуальной схемы
- •5 Анализ концептуальной модели
- •Раздел «Логический уровень проектирования бд»
- •3.3 Реляционная модель
- •3.4 Объектно-реляционная модель
- •3.5 Объектно-ориентированная модель данных
- •3.6 Модель данных на основе xml
- •Раздел «Реляционная теория бд» Лекция №7 Реляционная модель данных. Основные понятия
- •1 Словарь терминов
- •2 Целостность реляционной модели
- •3 Математическое описание реляционной модели
- •Раздел «Реляционная теория бд» Лекция №8 Реляционная алгебра и реляционное исчисление
- •1 Реляционная алгебра. Теоретико-множественные операции
- •2 Реляционная алгебра. Специальные реляционные операции
- •3 Дополнительные реляционные операции
- •4 Примеры записи запросов
- •5 Реляционное исчисление
- •Раздел «Реляционная теория бд» Лекция №9 Нормализация реляционной модели. Функциональные зависимости
- •1 Что такое нормализация?
- •2 Функциональная зависимость
- •3 Теоремы о функциональных зависимостях
- •5 Алгоритм нормализации отношений. Метод декомпозиции
- •6 Другие нормальные формы
- •Раздел «Реляционная теория бд»
- •1.2 Связь частичная для одной из сущностей
- •1.3 Связь частичная для обеих сущностей
- •2 Реализация бинарной связи 1:m («один-ко-многим»)
- •2.1 Связь обязательная для m-связной сущности
- •2.2 Связь частичная для m-связной сущности
- •3 Бинарная связь n:m («многие-ко-многим»)
- •4 Связи более высокого порядка (n-арные)
- •5 Классы и подклассы
- •Раздел «Реляционная теория бд» Лекция №12 Стандарт idef1x
- •1 Стандарты моделирования данных
- •2 Основные понятия стандарта idef1x
- •3 Графический язык idef1x
- •Раздел «Физический уровень проектирования бд» Лекция №13 Физическая модель данных
- •1 Исходные данные для физического проектирования
- •2 Возможная методика перехода к физической модели на примере реляционной модели
- •2.1 Преобразование отношений в таблицы
- •2.2 Преобразование атрибутов в поля (столбцы) таблиц
- •2.3 Преобразование доменов в типы данных
- •2.4 Первичные ключи
- •2.5 Порядок расположения столбцов
- •2.6 Создание ссылочных ограничений
- •3 Факторы, влияющие на производительность бд
- •3.1 Индексы
- •3.2 Денормализация
- •Раздел «Язык sql» Лекция №14 Введение в язык sql. Команда Select
- •1 Стандарты
- •2 Возможности sql
- •3 Запросы на выборку данных
- •4 Примеры запросов
- •Раздел «Язык sql» Лекция №15 Команды определения данных
- •1 Команда create table
- •2 Команда alter table
- •3 Поддержка ограничений целостности
- •4. Редактирование записей в таблице
- •Раздел «Язык sql» Лекция №16 Дополнительные аспекты реляционной технологии
- •1 Проблемы, требующие решения
- •2 Запросы
- •3 Представления
- •4 Курсоры
- •5 Хранимые процедуры
- •6 Триггеры
- •7 Функции, определяемые пользователем
- •8 Транзакции
3.6 Модель данных на основе xml
Основная идея данного подхода – это представление данных в виде XML-документов, что многими разработчиками проектов информационных систем кажется вполне естественным. Данные, хранящиеся в реальных документах, достаточно просто переносятся в XML-файл. Внешне структура, похожая на реляционную модель может быть описана в XML по следующему шаблону:
<database>
<table>
<row>
<column1>...</column1>
<column2>...</column2>
...
</row>
<row>
...
</row>
...
</table>
<table>
...
</table>
...
</database>
Более подробно о положительных и отрицательных сторонах модели данных на основе XML можно прочитать в публикациишколы консорциумаW3.
Вернуться в содержание
Раздел «Реляционная теория бд» Лекция №7 Реляционная модель данных. Основные понятия
1 Словарь терминов
Атомарные данные – наименьшие единицы данных, неразложимые с точки зрения модели (см. концептуальную модель).
Домен – множество атомарных значений одного и того же типа.
Если два значения принадлежат одному домену, то их можно сравнивать и выполнять некоторые другие операции.
Атрибут – некоторое подмножество домена, имеющее уникальное имя.
На одном домене можно определить несколько атрибутов.
Отношение – это некоторое подмножество декартова произведения доменов, имеющее уникальное имя.
R(A1, A2, . . . An) D1 x D2 x . . . x Dn,
где R – имя отношения;
A1, A2, . . . An – атрибуты отношения;
D1 x D2 x . . . x Dn – домены, не обязательно различные.
A1 D1; A2 D2; . . . An Dn.
Кортеж – множество значений атрибутов отношения, по одному значению на атрибут.
ti = <a1 I, a2 I, . . . an I>,
где ti – i-ый кортеж отношения;
a1 I A1, a2 I A2, . . . , an I An.
Пример записи отношения:
ЭКЗАМЕН (№зачетной книжки, Табельный номер преподавателя, Код дисциплины, Дата, Оценка).
Визуально отношение можно представить в виде таблицы, понимая при этом, что отношение как множество не обладает свойством упорядоченности элементов, а в таблице графы и строки отображаются в некотором порядке.
Связь между отношением и таблицей показана на рисунке 1.
Возможный ключ отношения – подмножество атрибутов отношения, удовлетворяющее следующим условиям:
1) в произвольный заданный момент времени никакие два кортежа отношения не имеют одного и того же значения для ключа;
2) ни один из атрибутов ключа не может быть удален без нарушения условия уникальности.
Обычно один из возможных ключей принимается за первичный ключ отношения, остальные – альтернативные ключи.
При записи отношения рекомендуется атрибуты ключа располагать в списке атрибутов первыми и подчёркивать их, например:
ЭКЗАМЕН (№зачетной книжки, Код дисциплины, Дата, Оценка).
2 Целостность реляционной модели
Целостность базы данных – это одна из основных эксплуатационных характеристик (см. лекцию 1).
Реляционная модель предполагает три типа правил целостности:
1) целостность доменов;
2) целостность по сущностям;
3) целостность по ссылкам.
Целостность доменов – это ограничения на значения атрибутов в каждом отношении. Некоторые из возможных вариантов ограничений см. лекцию 4.
Правило целостности по сущностям: не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе базового отношения, принимал неопределенное значение.
Здесь под базовым отношением понимается реально существующее в модели отношение, соответствующее реальному объекту или понятию предметной области. Базовые отношения надо отличать от виртуальных, которые могут быть получены из базовых отношений путем выполнения тех или иных операций.
Целостность по сущностям отражает тот факт, что первичный ключ идентифицирует экземпляр сущности. Если ключ не определён, то и не должно быть такого экземпляра сущности в базе данных.
Целостность по ссылкам основана на понятии внешнего ключа. Пусть даны отношения R1 и R2. Пусть К1 – первичный ключ R1. Если в отношении R2 присутствуют атрибуты К1, то в отношении R2 К1 – внешний ключ. Например:
СТУДЕНТ (№студента, ФИО, Адрес);
ЭКЗАМЕН (№студента, Код дисциплины, Дата, Оценка);
СТУДЕНТ.№студента – первичный ключ,
ЭКЗАМЕН.№студента – внешний ключ.
В примере для уточнения принадлежности атрибута конкретному отношению использованы полные имена атрибутов: <Имя отношения>.<Имя атрибута>.
Правило целостности по ссылкам: если базовое отношение содержит внешний ключ, то каждое значение внешнего ключа должно быть равным какому-либо значению первичного ключа в другом базовом отношении или должно быть полностью неопределённым.
Возможность внешнему ключу принимать неопределённое значение зависит от моделируемой предметной области, например:
ГРУППА (Номер группы, Шифр специальности);
СТУДЕНТ (Номер студента, Номер группы, …).
Внешний ключ СТУДЕНТ.Номер группы может принимать неопределённое значение, так как, например, студент, находящийся в академическом отпуске, не может быть приписан к конкретной группе.
Внешний ключ ЭКЗАМЕН.№студента (см. предыдущий пример) должен быть задан обязательно, иначе будет утеряна информация о том, кому поставлена оценка.