Различают три вида ключевых элементов:
Первичный (Primary) – уникальный атрибут или группа атрибутов, который определяет каждую запись таблицы.
Альтернативный ключ – отличный от первичного, но тоже уникальный, он также определяет запись таблицы.
Если база данных содержит более одной таблицы, то они связаны между собой с помощью внешнего ключа.
Внешний ключ - это столбец ссылающийся на первичный ключ другой таблицы и связывающий таким образом две таблицы.
Чтобы определить связь между таблицами необходимо чтобы был общий ключевой элемент.
Лекция 5.
Тема:”Приведение БД к уровню нормальной формы”
План лекции:
1. Нормализация отношений в БД.
2. Три основных уровня нормальной формы.
1.Нормализация отношений в БД.
Классическая технология проектирования реляционных баз данных связана с теорией нормализации, основанной на анализе функциональных зависимостей между атрибутами отношений. Функциональные зависимости (связи) определяют устойчивые отношения между объектами и их свойствами.
Каждой нормальной форме соответствует некоторый определенный набор ограничений и отношение находится в нормальной форме, если удовлетворяет свойственному ей набору ограничений.
Основные свойства нормальных форм:
– Каждая следующая нормальная форма улучшает свойства предыдущих.
– При переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.
2.Три уровня нормальной формы
Всего существует 5 нормальных форм таблицы. Рассмотрим 3 первые и основные из них
Первая нормальная форма (1NF)
Отношение находится в первой нормальной форме, если:
– на пересечении каждого столбца и каждой строки находится только элементарное значение атрибута, или каждое поле неделимо.
– отсутствуют повторяющиеся поля или группы полей.
Пример: Расписание (ненормализованное отношение)
Преподаватель | День недели | Номер пары | Дисциплина | Группа |
Петров | Пн | 1 | Математика | 10 |
Вт | 1 | Геометрия | 11 | |
Ср | 2 | Геометрия | 12 | |
Иванов | Пн | 2 | Информатика | 11 |
Вт | 3 | Технология | 10 | |
Ср | 4 | Информатика | 12 |
Чтобы привести таблицу к уровню первой нормальной формы необходимо прописать фамилию преподавателя для каждой записи таблицы.
Вторая нормальная форма.(2NF)
Отношение находится во 2 нормальной форме, если:
– Выполняется условие 1 нормальной формы.
– Первичный ключ однозначно определяет всю запись.
– Все поля зависят от первичного ключа.
– Первичный ключ не должен быть избыточным.
Пример:
Рассмотрим отношение моделирующее сдачу студентами текущей сессии.
Набор атрибутов:
– ФИО
– Номер зачетки
– Группа
– Дисциплина
– Оценка
Первичный ключ – номер зачетной книжки, т. к. однозначно определяет каждую строку.
По условию 2НФ от ключа должны зависеть все атрибуты, т. к. оценка и дисциплина не зависят от номера зачетной книжки.
Имеем пример неполной функциональной зависимости.
Для приведения отношения ко 2 НФ следует разбить его на проекции, при этом должно быть соблюдено условие восстановления исходного отношения без потерь. Получаем 2 отношения:
ФИО, номер зачетной книжки, Группа
Номер зачетной книжки, дисциплина, оценка.
Третья нормальная форма (3NF)
Отношение находится в третьей нормальной форме тогда и только тогда, когда оно находится во 2 нормальной форме и не содержит транзитивных зависимостей, т. е. каждое не ключевое поле не должно зависеть от другого не ключевого поля.
Пример:
Рассмотрим отношение связывающее студентов с группами, факультетами и специальностями, на которых они учатся.
ФИО, номер зачетной книжки, Группа, факультет, специальность, кафедра.
Создать набор нормализованных отношений, если одну специальность могут выпускать разные кафедры.
При выполнении третьей нормальной формы должны быть разрушены транзитивные связи внутри каждой таблицы. При этом зависимые неключевые поля выделяются в отдельную таблицу, с обязательным добавлением первичных ключей, для связи с другими таблицами.
В процессе нормализации получим 3 таблицы:
Атрибуты 1 таблицы: ФИО, Специальность, Группа
Атрибуты 2 таблицы: Кафедра, Группа
Атрибуты 3 таблицы: Кафедра, Факультет
Лекция 6.
Тема: ” Принцип поддержки целостности в реляционной модели БД.”
План лекции:
1. Понятие целостности базы данных
2. Задание ограничений целостности.
1.Понятие ссылочной целостности
Понятие целостности является одним из основополагающих понятий в технологии баз данных.
Это понятие связано с тем, что база данных отражает некоторый объект реального мира в информационном виде. В реляционной модели объекты реального мира представлены в виде совокупности взаимосвязанных отношений.
Под целостность будем понимать соответствие информационной модели объектам реального мира в каждый момент времени. Т. е.в Базе Данных должны содержаться только достоверные данные. Также необходимо отслеживать только существенные, т. е. значимые изменения предметной области.
Например, в информационной системе «библиотека» если не стоит задачи отслеживать местонахождение книги на конкретном стеллаже, то в БД не отражен номер стеллажа и полка. В данной ситуации важен факт наличия каждого экземпляра в библиотеке на данный момент времени.
В модели данных должны быть предусмотрены средства, которые позволят получить объективную информацию в любой момент времени.
Поддержка целостности в реляционной модели данных в ее классическом понимании включает в себя 3 аспекта.
Во-первых, это поддержка структурной целостности, которая требует того что реляционная СУБД должна допускать работу только с однородными структурами данных типа «реляционное отношение», т. е. в нем отсутствуют повторяющиеся картежи, нет упорядоченности картежей и обязательно наличие первичного ключа.
Во-вторых – поддержка языковой целостности, которая состоит в том, что реляционная СУБД должна обеспечивать языки описания и манипулирования данными не ниже стандарта SQL.
В-третьих – поддержка ссылочной целостности, которая означает обеспечение одного из принципов взаимосвязи:
– Картежи подчиненного отношения уничтожаются при удалении картежа основного отношения, связанного с ними.
– Картежи основного отношения модифицируются при удалении картежа основного отношения, связанного с ним, при этом на месте ключа родительского отношения ставится неопределенное (NULL) значение.
Ссылочная целостность обеспечивает поддержку непротиворечивого состояния БД в процессе модификации данных, при выполнении операций добавления и удаления.
2.Задание ограничений целостности базы данных.
Структурная, языковая и ссылочная целостность определяют правила работы СУБД с реляционными структурами данных. Требования поддержки этих трех видов целостности должна уметь делать каждая СУБД, а разработчики должны это учитывать при построении БД.
Вообще, ограничения целостности данных представляют собой такие ограничения, которые вводятся с целью предотвратить помещение в базу противоречивых данных.
Рассмотрим следующие типы ограничений целостности данных:
- Обязательные данные
- Ограничения для доменов атрибутов
- Целостность сущностей
- Ссылочная целостность
Обязательные данные - т. е. некоторые атрибуты всегда должны содержать одно из допустимых значений и не могут иметь пустого значения.
Задать это ограничение, значит при формировании структуры таблицы такому атрибуту установить проверку возможными для конкретной программы способами.(пример: поле должность сотрудника не может быть пустым).
Ограничения для доменов атрибутов – некоторые атрибуты имеют множество допустимых значений. Например поле «пол» может иметь одно из двух допустимых значений «м» или «ж». Данные ограничения устанавливаются при определении доменов атрибутов присутствующих в модели данных.
Целостность сущностей – первичный ключ любой сущности не может иметь пустое значение. Подобные ограничения должны учитываться при определении первичных ключей.
Ссылочная целостность - это ограничение означает, если внешний ключ содержит некоторое значение, то оно обязательно должно присутствовать в родительской таблице. Важная проблема связанная с поддержкой ссылочной целостности, это ее поддержка при операциях вставки, обновления или удаления первичного или внешнего ключей. Существует несколько стратегий обработки попыток удаления строки родительского отношения, которые однозначно приведет к нарушению целостности отношения. При создании базы данных необходимо воспользоваться функциями для поддержки ссылочной целостности:
- CASCADE (при удалении первичного ключа удаляются все строки из дочерних таблиц связанные по удаляемому ключу)
- RESTRICT (блокирует удаление ключа если есть связанные по нему данные)
- NO ACTION (не контролируются связи)
Лекция 7.
Тема: ”Создание взаимосвязанных отношений в БД между таблицами. Понятие индекса”
План лекции:
1. Понятие индексного файла
2. Создание индексов. Типы индексов.
1.Понятие индексного файла
Взаимосвязь между таблицами осуществляется по индексам, которые называются ключами.
Индекс – это указатель записи и представляет собой порядковый номер записи в таблице.
Индекс - строится по значению одного поля или по значению нескольких полей.
Индекс, построенный по значению одного поля называется простым, а индекс построенный по значению нескольких полей – сложным.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 |


