Первая нормальная форма (1НФ).



Отношение приведено к 1НФ, если все его атрибуты простые.

Отношение КНИГИ содержит сложные атрибуты Author ("Авторы") и Editor ("Редакторы"). Для приведения к 1НФ требуется сделать ключ отношения составным – атрибуты ID, Author и Editor (табл. 3.2).

Таблица 3.2. Отношение КНИГИ, приведённое к 1НФ

ID Code Theme Author Title Editor Type Year Pg
200 681.3 ПО ВТ Бочков С. Язык СИ Садчиков П. учебник 1990 384
200 681.3 ПО ВТ Субботин Д. Язык СИ Садчиков П. учебник 1990 384
100 681.3 ПО ВТ Джехани Н. Язык АДА   учебник 1960 552
300 621.5 МО Крон Г. Диакоптика Баранов А. учебник 1972 544
876 007 ИИ Гик Е.Я. Шахматы и математика Кикоин И. учебное пособие 1983 176
876 007 ИИ Гик Е.Я. Шахматы и математика Капица С. учебное пособие 1983 176
440 32.97 ВТ   ПУ для ПЭВМ Витенберг А. Спра-вочник 1992 208
385 001.8 Инфор-матика Фролов Г. Элементы информатики Храмов А. учебное пособие 1989 304
385 001.8 Инфор-матика Кузнецов Э. Элементы информатики Рожков П. учебное пособие 1989 304

Вторая нормальная форма (2НФ).

Введём понятие функциональной зависимости. Пусть X и Y – атрибуты (группы атрибутов) некоторого отношения. Говорят, что Y функционально зависит от X, если в любой момент времени каждому значению X=х соответствует единственное значение Y=y (X®Y). (При этом любому значению Y=y может соответствовать несколько значений Х=(х1, х2,…)).

Атрибут X в функциональной зависимости X®Y называется детерминантом отношения.

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

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

Для того чтобы привести отношение ко 2НФ, нужно:

· построить его проекцию, исключив атрибуты, которые не находятся в функционально полной зависимости от составного ключа;

· построить дополнительные проекции на часть составного ключа и атрибуты, функционально зависящие от этой части ключа.

Ключом отношения КНИГИ (табл. 3.2) является комбинация полей (ID, Author, Editor). Все поля, не входящие в состав ключа, зависят только от идентификатора книги. Поэтому отношение должно быть разбито на два: КНИГИ (табл. 3.3) и КНИГИ–АВТОРЫ–РЕДАКТОРЫ (табл. 3.4). Эти отношения связаны по внешнему ключу, которым является поле ID.

Таблица 3.3. Отношение КНИГИ, приведённое к 2НФ

ID Code Theme Title Type Year Pg
200 681.3 ПО ВТ Язык СИ для ПК Учебник 1990 384
100 681.3 ПО ВТ Язык АДА Учебник 1960 552
300 621.5 МО Диакоптика Учебник 1972 544
876 007 ИИ Шахматы и математика учебное пособие 1983 176
440 32.97 ВТ ПУ для ПЭВМ Справочник 1992 208
385 001.8 Информатика Элементы информатики учебное пособие 1989 304

 

Таблица 3.4. Отношение КНИГИ–АВТОРЫ–РЕДАКТОРЫ (2НФ)

ID Author Editor
200 Бочков С. Садчиков П.
200 Субботин Д. Садчиков П.
100 Джехани Н.  
300 Крон Г. Баранов А.
876 Гик Е.Я. Кикоин И.
876 Гик Е.Я. Капица С.
440   Витенберг А.
385 Фролов Г. Храмов А.
385 Кузнецов Э. Рожков П.

Третья нормальная форма (3НФ).

Рассмотрим понятие транзитивной зависимости. Пусть X, Y, Z – атрибуты некоторого отношения. При этом X® Y и Y® Z, но обратное соответствие отсутствует, т.е. Z не зависит от Y или Y не зависит от X. Тогда говорят, что Z транзитивно зависит от X (X®® Z).

Отношение находится в 3НФ, если оно находится во 2НФ и в нем отсутствуют транзитивные зависимости.

Для отношения КНИГИ (табл. 3.3) атрибут Theme зависит от атрибута Code, а не от ключа (хотя название рубрики, естественно, соответствует её шифру). Поэтому для приведения отношения к 3НФ (табл. 3.5) нужно выделить из него ещё одно отношение РУБРИКАТОР (табл. 3.6).

Таблица 3.5. Отношение КНИГИ, приведённое к 3НФ

ID Code Title Type Year Pg
200 681.3 Язык СИ для ПК Учебник 1990 384
100 681.3 Язык АДА Учебник 1960 552
300 621.5 Диакоптика Учебник 1972 544
440 32.97 ПУ для ПЭВМ Справочник 1992 208
876 007 Шахматы и математика учебное пособие 1983 176
385 001.8 Элементы информатики учебное пособие 1989 304

.

Таблица 3.6. Отношение РУБРИКАТОР, приведённое к 3НФ

Code Theme
681.3 ПО ВТ
621.5 МО
007 ИИ
32.97 ВТ
001.8 Информатика

Четвертая нормальная форма (4НФ).

Введём понятие многозначной зависимости. Многозначная зависимость существует, если заданным значениям атрибута X соответствует множество, состоящее из нуля (или более) значений атрибута Y (X–»Y). Если в отношении присутствуют многозначные зависимости, то схема отношения должна находиться в 4НФ.

Различают тривиальные и нетривиальные многозначные зависимости. Тривиальной называется такая многозначная зависимость X–»Y, для которой Y d X или X U Y = R, где R – рассматриваемое отношение. Тривиальная многозначная зависимость не нарушает 4НФ. Если хотя бы одно из двух этих условий не выполняется (т.е. Y не является подмножеством X или X U Y состоит не из всех атрибутов R), то такая многозначная зависимость называется нетривиальной.

Отношение находится в 4НФ, если оно находится в 3НФ и в нем отсутствуют нетривиальные многозначные зависимости.

Для отношения КНИГИ–АВТОРЫ–РЕДАКТОРЫ (табл. 3.4) атрибуты Author и Editor зависит образуют две многозначные зависимости от первичного ключа, и при этом значения этих атрибутов не зависят друг от друга. Поэтому для приведения отношения к 4НФ нужно разбить его на два отношения КНИГИ–АВТОРЫ и КНИГИ–РЕДАКТОРЫ (табл. 3.7, 3.8).

Таблица 3.7. Отношение КНИГИ–АВТОРЫ (4НФ)

ID Author
200 Бочков С.
200 Субботин Д.
100 Джехани Н.
300 Крон Г.
876 Гик Е.Я.
385 Фролов Г.
385 Кузнецов Э.

.

Таблица 3.8. Отношение КНИГИ–РЕДАКТОРЫ (4НФ)

ID Editor
200 Садчиков П.
300 Баранов А.
876 Кикоин И.
876 Капица С.
440 Витенберг А.
385 Храмов А.
385 Рожков П.

Оборудование

Персональный компьютер с установленной операционной системой Windows XP/7/8, браузер (Например, Internet Explorer, Google Chrome, Opera), СУБД Oracle.

Задание на работу

1. Изучить вопросы теории нормализации, условия нахождения отношения в той или иной нормальной форме

2. Выполнить процедуру построения реляционной модели данных из ER-модели, построив необходимый набор отношений. Определить состав атрибутов отношений.

3. Определить первичные и внешние ключи отношений.

4. Выполнить шаги по нормализации полученных отношений, приведя модель к третьей нормальной форме.

5. Задать необходимые декларативные ограничения целостности исходя из специфики предметной области.

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

7. Средствами имеющейся СУБД создать спроектированную базу данных, ее таблицы, задать необходимые ограничения целостности.

Контрольные вопросы

1. Каковы задачи, решаемые на этапе логического проектирования?

2. Каковы базовые свойства реляционной модели данных?

3. В чем состоят требования структурной части реляционной модели данных?

4. В чем состоят требования манипуляционной части реляционной модели данных?

5. В чем состоят требования целостной части реляционной модели данных?

6. Каковы общие свойства нормальных форм?

7. Что такое функциональная, функционально полная зависимость?

8. Каковы условия нахождения отношений в первой нормальной форме?

9. Каковы условия нахождения отношений во второй нормальной форме?

10. Каковы условия нахождения отношений в третьей нормальной форме?

11. Каковы условия нахождения отношений в третьей усиленной нормальной форме?

12. Что понимается под многозначной зависимостью?

13. Каковы условия нахождения отношений в четвертой нормальной форме?

14. В чем состоят общие требования обеспечения ограничений целостности?


Практическая работа №5

Физическое проектирование БД

Цель и задачи работы

Целью практической работы является получения навыков проектирования БД на физическом уровне.

 

Порядок выполнения работы

- ознакомится с теоретическими сведениями;

- выполнить задание;

- оформить отчет;

- ответить на контрольные вопросы, заданные преподавателем.

 

Оформление отчета

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

Теоретические сведения

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

Фактически проектирование БД имеет итерационный характер. В процессе функционирования системы становится возможным измерение её реальных характеристик, выявление "узких" мест. И если система не отвечает предъявляемым к ней требованиям, то обычно она подвергается реорганизации, т.е. модификации первоначально созданного проекта.

Важным шагом на данном этапе необходимо проработать вопрос использования индексов.

В системах, поддерживающих язык SQL, индекс создаётся командой CREATE INDEX. Индексы повышают производительность запросов, которые выбирают относительно небольшое число строк из таблицы. Для определения целесообразности создания индекса нужно проанализировать запросы, обращённые к таблице, и распределение данных в индексируемых столбцах.

Система может воспользоваться индексом по определённому полю, если в запросе на значение этого поля накладывается условие, например:

SELECT * FROM authors WHERE name = 'Даль';

Но даже при наличии такой возможности система не всегда обращается к индексу. Очевидно, что если запрос выбирает больше половины записей отношения, то извлечение данных через индекс потребует больше времени, чем последовательная обработка данных. В подобных случаях использование индекса нецелесообразно.

Обращение к составному индексу возможно только в том случае, если в условиях выбора участвуют столбцы, представляющие собой лидирующую часть составного индекса. Например, если индекс строится по столбцам (X, Y, Z), то обращение к индексу будет происходить в тех случаях, когда в условии запроса участвуют столбцы XYZ, XY или X.

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

Выбор индексируемых столбцов определяется следующими соображениями:

· В первую очередь выбираются столбцы, которые часто встречаются в критериях поиска.

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

· Нецелесообразно индексировать столбцы с низкой селективностью. Если селективность столбца низкая, то индексирование проводится только в том случае, если выборка чаще производится по редко встречающимся значениям.

· Не индексируются столбцы, которые часто обновляются, т.к. команды обновления ведут к потере времени на обновление индекса.

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

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

 

Оборудование

Персональный компьютер с установленной операционной системой Windows XP/7/8, браузер (Например, Internet Explorer, Google Chrome, Opera), СУБД Oracle.

Задание на работу

Cпроектировать БД, выбранной предметной области (см. предыдущие практические работы), на физическом уровне.

Контрольные вопросы

1. Что собой представляет физическая модель базы данных?

2. Способы создания таблиц в  Oracle? Что такое поля базы данных? И основные свойства.

3. Использование полей подстановок при создании таблиц.

4. Как создается схема данных? Как связываются таблицы между собой?


Практическая работа №6


Дата добавления: 2020-04-08; просмотров: 116; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!