Читайте также:
|
|
Нормализация отношений – это формальный аппарат ограничений на формирование отношений, который позволяет устранить дублирование и потенциальную противоречивость хранимых данных, уменьшает трудозатраты на ведение БД. Процесс нормализации заключается в декомпозиции исходных отношений на более простые отношения. Цель нормализации – получение такого проекта БД, в котором «каждый факт появляется лишь в одном месте».
Теория нормализации основана на наличии зависимостей между атрибутами отношения. Основными видами зависимостей являются:
· функциональные;
· многозначные;
· транзитивные.
Базовым является понятие функциональной зависимости, поскольку на его основе формируются определения всех остальных видов зависимостей. Атрибут В функционально зависит от атрибута А, если каждому значению А соответствует в точности одно значение В. Математически функциональную зависимость В от А обозначают А ’ В. Это означает, что во всех кортежах с одинаковым значением атрибута А атрибут В будет иметь также одно и то же значение. При этом А и В могут быть составными, то есть состоять из двух и более атрибутов.
Отношение находится в первой нормальной форме (сокращённо 1НФ), если все его атрибуты атомарны, то есть если ни один из его атрибутов нельзя разделить на более простые атрибуты, которые соответствуют каким-то другим свойствам описываемой сущности.
Будем называть исходное отношение основным, а значение неатомарного атрибута —
Код сотрудника | ФИО | Должность | Проекты |
Иванов Иван Иванович | Программист | ID: 123; Название: Система управления паровым котлом; Дата сдачи: 30.09.2011 ID: 231; Название: ПС для контроля и оповещения о превышениях ПДК различных газов в помещении; Дата сдачи: 30.11.2011 ID: 321; Название: Модуль распознавания лиц для защитной системы; Дата сдачи: 01.12.2011 |
подчинённым.
Для того, чтобы нормализовать исходное отношение, атрибуты которого неатомарны, необходимо объединить схемы основного и подчинённого отношений. Кроме того, если, например, таблица, соответствующая ненормализованному отношению уже содержится в БД и заполнена информацией, задача усложняется тем, что значение неатомарного атрибута может в свою очередь содержать несколько кортежей.
Следует пояснить сказанное на примере. Рассмотрим отношение, имеющее атрибуты «Код сотрудника», «ФИО», «Должность», «Проекты». Очевидно, что один сотрудник может работать над несколькими проектами. Предположим, что проект описывается идентификатором, названием и датой сдачи.
Легко заметить, что не все атрибуты этого отношения атомарны (неделимы). В частности, атрибут «Проекты» можно разделить на три более простых атрибута: «Код проекта», «Название», «Дата сдачи», а значение этого атрибута для сотрудника Иван Иванович Иванов содержит несколько кортежей — информацию о трёх проектах.
2НФ Ясно, что отношение, находящееся в 1НФ, также может обладать избыточностью. Для её устранения предназначена вторая нормальная форма. Но прежде чем приступить к её описанию, сначала следует выявить недостатки первой.
Пусть исходное отношение содержит информацию о поставке некоторых товаров и их поставщиках.
Код поставщика | Город | Статус города | Код товара | Количество |
Москва | ||||
Москва | ||||
Москва | ||||
Ярославль | ||||
Ставрополь | ||||
Ставрополь | ||||
Псков |
Заранее известно, что в этом отношении содержатся следующие функциональные зависимости:
{ {Код поставщика, Код товара} -> { Количество},
{Код поставщика} -> {Город},
{Код поставщика} -> {Статус},
{Город} -> {Статус} }
Первичный ключ в отношении: {Код поставщика, Код товара}.
8) Переход от ER-модели к реляционной модели данных
Сформулируем основные принципы (правила) преобразования модели «сущность-связь» в реляционную:
1. Каждой сущности ER-модели ставится в соответствие отношение реляционной модели данных (случай категоризации сущностей рассматривается ниже отдельно). При этом необходимо понимать, что имена сущностей и отношений могут быть различны, так как в инфологической модели на имена сущностей не накладываются никакие ограничения, за исключением их уникальности в рамках модели. Одновременно с этим в реляционной модели имена отношений могут быть ограничены требованиями конкретной СУБД. Чаще всего имена отношений являются идентификаторами в некотором специальном базовом языке, ограничены по длине и не могут содержать пробелов и других специальных символов. Например, сущность может называться «Студенты университета», а соответствующее отношение –STUDENTS.
2. Каждому атрибуту сущности ставится в соответствие атрибут соответствующего отношения. Переименование атрибутов производится в соответствии с теми же правилами, что и переименование сущностей. Затем каждому атрибуту отношения задается конкретный (допустимый в используемой СУБД) тип данных и обязательность или необязательность данного атрибута (необязательность атрибута означает, что он может принимать специальное значение NULL – пусто).
3. Первичный ключ сущности становится первичным ключом (PRIMARY KEY) соответствующего отношения. Все атрибуты, которые входят в первичный ключ сущности, автоматически получают свойство обязательности (NOT NULL – не пусто).
Для моделирования необязательной связи у атрибутов, соответствующих внешнему ключу, устанавливается возможность принимать неопределенные значение (NULL). Для моделирования обязательной связи атрибутам внешнего ключа устанавливается недопустимость неопределенных значений (NOT NULL).
9) Принципы поддержки целостности в реляционной модели данных: структурная целостность, целостность сущностей, языковая целостность, ссылочная целостность, семантическая целостность. Реализация в СУБД VFP.
Во-первых, это поддержка структурной целостности, которая трактуется как то, что реляционная СУБД должна допускать работу только с однородными структурами данных типа «реляционное отношение». При этом понятие «реляционного отношения» должно удовлетворять всем ограничениям, накладываемым на него в классической теории реляционной БД (отсутствие дубликатов кортежей, соответственно обязательное наличие первичного ключа, отсутствие понятия упорядоченности кортежей).
В дополнение к структурной целостности необходимо рассмотреть проблему неопределенных Null значений. Как уже указывалось раньше, неопределенное значение интерпретируется в реляционной модели как значение, неизвестное на данный момент времени. Это значение при появлении дополнительной информации в любой момент времени может быть заменено на некоторое конкретное значение. При сравнении неопределенных значений не действуют стандартные правила сравнения: одно неопределенное значение никогда не считается равным другому неопределенному значению. Для выявления равенства значения некоторого атрибута неопределенному применяют специальные стандартные предикаты:
<имя атрибута>IS NULL и <имя атрибута> IS NOT NULL
Во-вторых, это поддержка языковой целостности, которая состоит в том, что реляционная СУБД должна обеспечивать языки описания и манипулирования данными не ниже стандарта SQL. He должны быть доступны иные низкоуровневые средства манипулирования данными, не соответствующие стандарту.
Именно поэтому доступ к информации, хранимой в базе данных, и любые изменения этой информации могут быть выполнены только с использованием операторов языка SQL.
В-третьих, это поддержка ссылочной целостности (Declarative Referential Integrity, DRI), означает обеспечение одного из заданных принципов взаимосвязи между экземплярами кортежей взаимосвязанных отношений:
Ссылочная целостность обеспечивает поддержку непротиворечивого состояния БД в процессе модификации данных при выполнении операций добавления или удаления.
10) Реляционная алгебра и реляционное исчисление: выборка, проекция, объединение, разность, пересечение, декартово произведе н ие
Часть реляционной модели, которая связана с операторамиманипулирования данными, основывается на использовании реляционной алгебры.Однако с тем же основанием можно сказать, что она построена на базереляционного исчисления. Другими словами, реляционная алгебра и реляционноеисчисление представляют собой два альтернативных подхода. Принципиальноеразличие между ними следующее. Реляционная алгебра в явном видепредставляет набор операций (соединение, объединение, проекция и т.д.),которые можно использовать, чтобы сообщить системе, как в базе данных изопределённых отношений построить некоторое требуемое отношение, ареляционное исчисление просто представляет систему обозначений дляопределения требуемого отношения в терминах данных отношений.
11) Требования, предъявляемые к базе данных. Виды СУБД: общего назначения, специализированные СУБД. Характеристики СУБД.
(в телефоне)
Дата добавления: 2015-02-16; просмотров: 162 | Поможем написать вашу работу | Нарушение авторских прав |