Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_po_bazam.docx
Скачиваний:
6
Добавлен:
09.02.2015
Размер:
754.53 Кб
Скачать
  1. 3Нф и нфбк.

Отношение находится в третьей нормальной форме, если оно отвечает требованиям 2НФ и в нем нет атрибутов (не входящих в первичный ключ), транзитивно зависимых от первичного ключа.

Для перехода к 3НФ также используется декомпозиция. При этом в отдельные отношения выносятся транзитивно зависимые атрибуты с копиями своих детерминантов

НФБК является более строгой разновидностью 3НФ. В ней учитываются зависимости не только от первичного ключа, но и от всех потенциальных ключей.

Отношение находится в нормальной форме Бойса-Кодда, если оно соответствует 3НФ и все его детерминанты являются потенциальными ключами.

Если отношение имеет единственный потенциальный ключ, то для него НФБК совпадает с 3НФ.

Замечание. На практике нарушение требований НФБК в 3НФ встречается редко, так как требует наличия нескольких составных потенциальных ключей, пересекающихся по набору атрибутов.

  1. Соотношение нормализации и производительности.

Соответствие отношений НФБК гарантирует отсутствие проблем обновления. Однако некоторая избыточность может все еще иметь место. Для ее уменьшения возможен переход к 4НФ и 5НФ, но обычно его не делают. Дело в том, что, уменьшая избыточность, мы создаем другую проблему.

Переход к старшим нормальным формам производится путем декомпозиции (разделения) исходного отношения на несколько отношений. А при выполнении запросов приходится решать обратную задачу – соединения отношений. Если при этом соединяемые отношения имеют большой объем, то операция построения соединений может потребовать существенных затрат времени, что негативно сказывается на скорости выполнения запросов.

Поэтому в процессе нормализации всегда приходится искать компромисс между избыточностью хранимой информации и скоростью ее обработки. Причем в некоторых случаях, в целях повышения производительности системы могут нарушаться требования 3НФ или даже 2НФ. Естественно, что одновременно должны предприниматься меры по недопущению возникновения проблем обновления, обусловленных отходом от требований нормализации.

  1. Определение типов сущностей, связей и их атрибутов.

На первом этапе концептуального проектирования необходимо в рассматриваемой предметной области выделить объекты и процессы, подпадающие под определение типа сущности. С этой целью из постановки задачи выписывают существительные, сочетания существительное + существительное, прилагательное + существительное и иногда причастные обороты. Из множества полученных сочетаний выбирают те сочетания, которые обозначают наиболее крупные, независимо существующие объекты, и отбрасывают сочетания, которые представляют собой характеристики (атрибуты) выбранных объектов.

Например, в нашей постановке задачи встречаются следующие существительные и сочетания: отделение, район города, номер отделения, адрес отделения, телефон отделения, руководитель отделения, склад, номер склада, заведующий складом, работник, …

Как наиболее крупные и независимые, среди них могут быть выделены: отделение, руководитель отделения, склад, заведующий складом, работник, … Соответственно, будут отброшены их характеристики: район города, номер отделения, адрес отделения, телефон отделения, номер склада, …

Как и все концептуальное проектирование, процесс определения набора типов сущности, достаточного для представления рассматриваемой предметной области, неоднозначен и может потребовать уточнений на последующих этапах. Кроме того, выбор осложняется тем обстоятельством, что пользователи зачастую используют разные наименования для обозначения одних и тех же объектов (отделение – офис, адрес – район города, склад – хранилище), а иногда – одно и то же наименование для разных объектов (руководитель отделения, заведующий складом – начальник). Поэтому и необходим постоянный контакт с пользователями для уточнения постановки задачи.

Предположим, что в нашем примере были выделены следующие типы сущности: отделение, руководитель отделения, склад, заведующий складом, работник, товар, поставщик, покупатель, накладная на покупку, накладная на продажу.

Вся полученная на данном этапе информация сводится в таблицу.

Определение типов связи осуществляется в два этапа. На первом этапе из постановки задачи извлекаются выражения, указывающие на взаимосвязи определенных ранее типов сущности.

Например: работой отделения управляет руководитель, в отделении имеется несколько складов, за работу склада отвечает заведующий складом, в отделении есть работники, часть работников прикреплена к определённым складам, …

На втором этапе следует проверить: не пропущены ли какие-либо связи. Для этого каждая произвольная пара типов сущности проверяется на предмет наличия связи.

Например, следует проверить – нет ли связи между поставщиками и отделениями, то есть, не работают ли определенные поставщики только с определенными отделениями, или же такой связи нет. И т.д.

После определения набора связей необходимо для каждой из них указать кардинальность и степень участия соответствующих типов сущности. Вся информация сводится в таблицу

Определение атрибутов и связывание их с типами сущности и связи выполняется также в два этапа. На первом этапе из постановки задачи выделяются все характеристики (атрибуты) выбранных ранее типов сущности. На втором этапе набор атрибутов уточняется. Для этого в отношении каждого типа сущности задается вопрос: какую информацию надо хранить о …

Замечание 1. На данном этапе рассматриваются только собственные атрибуты типов сущности, которые присущи им самим, а не унаследованы по связям с родительскими типами сущности. Например, для типа сущности Склад собственным является атрибут № склада, а № отделения наследуется от родительского типа сущности Отделение.

Замечание 2. Типы связи, как и типы сущности, могут иметь атрибуты. Так, например, тип связи «товарвключается в накладную» имеет своим атрибутом количество товара, указываемое в накладной.

  1. Приведение модели в соответствие с требованиями реляционной МД.

Построенная на этапе концептуального проектирования модель может содержать структуры, плохо приспособленные для реализации в реляционной базе данных. Поэтому задача первого этапа логического проектирования состоит в исключении или преобразовании указанных структур. Решается эта задача в несколько приемов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]