
- •1.1. Архитектура бд
- •2. Тема 2. Системы управления бд (субд). Выбор систем управления бд. Функции субд.
- •3.1. Жизненный цикл бд. Этапы жц бд.
- •3.1.1. Оценка работы и поддержка б.Д. Производится оценка с точки зрения выполнения требований пользователей. В случае необходимости в систему вносятся изменения.
- •3.1.1.1. Документальные системы
- •3.1.1.2.Обобщенная функциональная структура дипс.
- •3.1.1.3. Коммерческие б.Д.
- •3.1.1.4. Коммерческие базы данных.
- •3.1.1.5. Распределенная обработка данных. Распределенные базы данных
- •3.2. Литература
- •4.1. Уровни.
- •4.2. Этапы проектирования.
- •4.3.Трехуровневая архитектура организации бд
- •4.4. Этапы проектирования: исследование проблемы, этап анализа, проектирование, реализация, внедрение, сопровождение.
- •4.5. Проектирование бд.
- •4.5.1. Этапы проектирования.
- •Тема 5. Средства и методы проектирования бд. Методика диаграмм взаимосвязей между объектами erd-диаграммы. Использование case-технологий при проектировании бд.
- •5.1. Базовые понятия.
- •5.2. Case - приложение eRwin
- •5.2.1. Объекты в eRwin
- •5.2.2. Связь в Erwin
- •6.1. Правила отношений между сущностями. Определение ключей
- •6.2. Нормализация бд. Денормализация бд.
- •Тема 7. Реляционная модель бд. Таблицы. Ограничения целостности данных. Реляционная алгебра. Реляционное исчисление.
- •Тема 8. Организация процессов обработки данных в бд. Обработка транзакций
- •Понятие транзакции.
- •9.1.1. Операторы определения данных ddl
- •9.1.2. Операторы манипулирования данными Data Manipulation Language dml
- •9.1.3. Язык запросов Data Query language (dql)
- •9.1.4. Средства администрирования данных
- •9.1.5. Программный sql
- •9.2. Оператор выборки данных select, использование условий поиска, сортировка результатов запроса. Синтаксис оператора select.
- •C.10. Тема 10. Простые запросы и правила их выполнения. Особенности многотабличных запросов. Объединение таблиц. Использование вложенных запросов
- •10.1. Простые запросы и правила их выполнения
- •10.2. Особенности многотабличных запросов
- •10.3. Объединение таблиц
- •10.4. Использование вложенных запросов
- •Тема 11. Внесение изменений в бд. Добавление информации в бд, удаление данных, изменение существующих данных.
- •C.11.1.Внесение изменений в базу данных
- •Удаление данных
- •11.2. Изменение существующих данных
- •12.1. Специальные аспекты работы с бд. Процедура индексирования.
- •12.2. Триггеры
- •12.2.1. Ключевые слова и параметры
- •12.2.2. Компоненты триггера
- •12.2.3.Типы триггеров.
- •12.2.4.Включение и выключение триггеров.
- •C.12.2.5. Удаление триггера
- •C.12.2.6. Корреляционные имена
- •12.3. Процедуры и функции
- •12.4. Функция
- •12.5.Курсоры.
- •Тема 13. Физическая организация бд на примере Oracle9i. Организация табличных пространств, журналов транзакций. Серверные процессы. Структуры памяти и взаимодействие между процессами.
- •13.1. Архитектура бд.
- •14.1. Системы обработки транзакций oltp и olap - технологий
- •14.2. Хранилища данных. Многомерные хранилища данных
- •14.3. Методы аналитической обработки (olap)
- •14.3.1. Хранилища данных
- •14.3.2. Причины внедрения информационных систем на основе хранилищ данных
- •Литература
- •14.5. Olap в России
- •Тема 15. Основы фракталов. Фрактальная математика. Фрактальные методы в архивации. Управления складами данных
- •15.1. Понятие "фрактал"
- •15.2. Классификация фракталов
- •15.2.1. Геометрические фракталы
- •15.2.2. Алгебраические фракталы
- •C.15.2.3. Стохастические фракталы
- •C.15.3. Системы итерируемых функций
- •15.4. Фрактальное сжатие
- •15.5. История фрактального сжатия
- •15.6. Идея фрактальной архивации
- •15.7. Сравнение с jpeg
- •15.8. Литература
- •Темы рефератов
6.1. Правила отношений между сущностями. Определение ключей
Правила формирования отношений основывается на учете следующего:
- степени связи между сущностями (1:1, 1:М, М:1, М:М);
- класса принадлежности экземпляров сущностей (обязательный и необязательный).
Рассмотрим формулировки шести правил формирования отношений на основе диаграмм ER - типа.
Формирование отношения для связи 1:1
Правило 1. Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей обязательный, то формируется одно отношение. Первичным ключом этого отношения может быть ключ любой из двух сущностей.
На рис. 6.1 приведены диаграмма ER - типа и отношение, сформированное по правилу 1 на ее основе.
|
|
|
|
Рисунок 6.1. Диаграмма и отношения для правила 1
Обозначения: С1, С2 - сущности 1 и 2;
К1, К2 - ключи первой и второй сущности соответственно;
R1 - отношение 1, сформированное на основе первой и второй сущностей;
К1К2 - означает, что ключом сформированного отношения может быть либо К1, либо К2.
Правило 2. Если степень связи 1:1 и класс принадлежности одной сущности обязательный, а второй - необязательный, то под каждую из сущностей формируется по отношению с первичными ключами, являющимися ключами соответствующих сущностей. Далее к отношению, сущность которого имеет обязательный КП, добавляется в качестве атрибута ключ сущности с необязательным КП.
Правило 3. Если степень связи 1:1 и класс принадлежности обеих сущностей является необязательным, то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений.
Формирование отношений для связи 1:М
Если две сущности С1 и С2 связаны как 1:М, сущность С1 будем называть односвязной (1-связной), а сущность С2 - многосвязной (м-связной). Определяющим фактором при формировании отношений, связанных этим видом связи, является класс принадлежности м-связной сущности. Так, если класс принадлежности м-связной сущности обязательный, то в результате применения правила получим два отношения, если необязательный - три отношения. Класс принадлежности односвязной сущности не влияет на результат.
Правило 4. Если степень связи между сущностями 1:М (или М:1) и класс принадлежности м-связной сущности обязательный, то достаточно формирование двух отношений (по одному на каждую из сущностей). При этом первичными ключами этих отношений являются ключи их сущностей. Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее м-связной сущности.
Правило 5. Если степень связи 1:М (М:1) и класс принадлежности м-связной сущности является необязательным, то необходимо формирование трех отношений.
Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя (его ключ объединяет ключевые атрибуты связываемых отношений).
Формирование отношений для связи М:М
При наличии связи М:М между двумя сущностями необходимо три отношения независимо от класса принадлежности любой из сущностей. Использование одного или двух отношений в этом случае не избавляет от пустых полей или избыточно дублируемых данных.
Правило 6. Если степень связи М:М, то независимо от класса принадлежности сущностей формируются три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений. Третье отношение является связным между первыми двумя, а его ключ объединяет ключевые атрибуты связываемых отношений.
Первичные и внешние ключи
Если нестрого, то первичный ключ - атрибут, уникальным образом идентифицирующий сущность, это столбец, который уникальным образом определяет строки в таблице.
Если строго, то пусть R - некоторое отношение. Тогда первичный ключ К для R - это подмножество атрибутов R, обладающее свойствами:
1. свойством уникальности - нет двух различных кортежей в R с одинаковым значением К;
2. свойством неизбыточности - никакое из подмножеств К не обладает свойством уникальности (т.е. настоящий первичный ключ не должен включать лишних атрибутов для идентификации уникальности).
Первичный ключ, состоящий из одного атрибута, называется простым, более чем из одного атрибута - составным.
Первичные ключи обеспечивают основной механизм адресации на уровне кортежей в реляционной системе. Следовательно, единственный гарантируемый способ точно указать на какой-нибудь кортеж - это указать значение некоторого первичного ключа.
Внешний ключ - столбец (подмножество столбцов), которое может служить в качестве первичного ключа для другой таблицы.
Формализованное определение: пусть R2 - базовое отношение. Тогда внешний ключ FK в отношении R2 - это подмножество множества R2, такое, что:
1. существует базовое отношение R1 с первичным ключом К;
2. каждое значение FK в текущем значении R2 является или null-значением, или совпадает со значением К некоторого кортежа в текущем значении R1.
Говорят, что внешний ключ одной таблицы является ссылкой на первичный ключ другой таблицы.
ПОЯСНЕНИЯ:
1. Null-значение - специальный маркер, используемый для представления отсутствующей информации (это не нули или пробелы);
2. Метаправило целостности объектов: ни один элемент первичного ключа базового отношения не может быть null-значением;
3. Внешний ключ может быть либо null-значением, либо соответствовать значению первичного ключа, на который ссылается;
4. Каждый атрибут внешнего ключа должен быть определен на том же домене, что и соответствующий атрибут первичного ключа;
5. Ограничение, по которому значения данного внешнего ключа должны быть адекватны значениям соответствующих первичных ключей, называется ссылочным ограничением;
6. Метаправило ссылочной целостности: БД не должна содержать несогласованных значений внешних ключей. То есть если В ссылается на А, тогда А должно существовать.
7. Чтобы избежать состояний, когда БД не удовлетворяет правилу ссылочной целостности, следует использовать правила внешних ключей √ правила удаления и обновления. Основная идея этих правил в следующем. При определении внешнего ключа необходимо ответить на вопрос: что должно случиться при попытке удалить объект ссылки внешнего ключа? В общем есть по меньшей мере две возможности:
(ограничить операцию удаления до определенного момента; каскадировать операцию удаления)
Синтаксис определения внешнего ключа:
|
|
|
|
FOREING KEY (Имя атрибута) REFERENCES ИмяСсылочногоБазовогоОтношения
DELETE (RESRRICTED / CASCADES) UPDATE (RESRRICTED / CASCADES)
NULLS (ALLOWED / NOT ALLOWED)
где:
RESRRICTED √ ограничить,
CASCADES √ каскадировать,
ALLOWED √ null-значения допустимы,
NOT ALLOWED - null-значения не допустимы.