П. Г. Демидова А. В. Зафиевский А. А. Короткин А. Н. Лататуев Базы данных Учебное пособие
Пример. Пусть дано отношение R : Таблица 4.2 Отношение R
Download 1.32 Mb. Pdf ko'rish
|
Базы данных
- Bu sahifa navigatsiya:
- Отношение R 1 Таблица 4.4 Отношение R 2
- Отношение 1 2 R NATURAL JOIN R R
- Отношение 1 R Таблица 4.7 Отношение 2 R
- Теорема Хита.
- 4.4. Нормальные формы
- 4.4.1. Первая нормальная форма (1НФ) и аномалии отношения
Пример.
Пусть дано отношение R : Таблица 4.2 Отношение R ТабНомер Фамилия Зарплата 001 Иванов 20 000 002 Петров 15 000 003 Сидоров 20 000 В этом отношении ключом является атрибут ТабНомер, и, следовательно, выполняются функциональные зависимости ТабНомер Фамилия и ТабНомер Зарплата. Рассмотрим первый вариант декомпозиции отношения R на два отношения 1 [ , ] R R ТабНомер Зарплата и 2 [ , ] R R Фамилия Зарплата , представленных в табл. 4.3 и 4.3 соответственно. 91 Таблица 4.3 Отношение R 1 Таблица 4.4 Отношение R 2 ТабНомер Зарплата Фамилия Зарплата 001 20 000 Иванов 20 000 002 15 000 Петров 15 000 003 20 000 Сидоров 20 000 Естественное соединение этих проекций, имеющих общий атрибут «Зарплата», очевидно, будет следующим (склеиваются строки, для которых 1 2 . . R Зарплата R Зарплата ) (табл. 4.5). Таблица 4.5 Отношение 1 2 R NATURAL JOIN R R ТабНомер Фамилия Зарплата 001 Иванов 20 000 001 Сидоров 20 000 002 Петров 15 000 003 Иванов 20 000 003 Сидоров 20 000 Данная декомпозиция не является декомпозицией без потерь, т. к. исходное отношение не восстанавливается в точном виде по проекциям – при соединении появились лишние кортежи (выделены серым цветом). Рассмотрим другой вариант декомпозиции: 1 [ , ] R R ТабНомер Фамилия , 2 [ , ] R R ТабНомер зарплата (табл. 4.6. и 4.7). Таблица 4.6 Отношение 1 R Таблица 4.7 Отношение 2 R ТабНомер Фамилия ТабНомер Зарплата 001 Иванов 001 20 000 002 Петров 002 15 000 003 Сидоров 003 20 000 По данным проекциям, имеющим общий атрибут ТабНомер, исходное отношение, как легко проверить, восстанавливается в точном виде. В примере рассмотрено только одно конкретное состояние отношения R. Но правильность второго варианта декомпозиции 92 будет справедлива при любых состояниях R . Гарантией этого служит следующая. Теорема Хита. Пусть для отношения C B A R , , (A, B и С мо- гут быть составными атрибутами) справедлива функциональная за- висимость A B . Тогда декомпозиция отношения R на два отно- шения 1 [ , ] R R A B и 2 [ , ] R R A C будет декомпозицией без потерь. Доказательство. Необходимо доказать, что R R JOIN NATURAL R 2 1 для любого состояния отношения R. В ле- вой и правой частях равенства стоят множества кортежей, поэтому для доказательства достаточно доказать два включения для двух множеств кортежей: 2 1 R JOIN NATURAL R R и 1 2 R NATURAL JOIN R R . Докажем первое включение. Возьмем произвольный кортеж ( , , ) r a b c R . Покажем, что он включается также и в 1 2 R NATURAL JOIN R . По определению проекции кортежи 1 1 ( , ) r a b R и 2 2 ( , ) r a c R . По определению естественного соединения кортежи 1 r и 2 r , имеющие одинаковое значение a общего атрибута А, будут соединены в процессе естественного соединения в кортеж 1 2 ( , , ) a b c R NATURAL JOIN R . Таким образом, включение доказано. Для доказательства обратного включения возьмем произволь- ный кортеж 1 2 ( , , ) a b c R NATURAL JOIN R . Докажем, что он входит также и в R . Из определения естественного соединения cледует, что имеются кортежи 1 1 ( , ) r a b R и 2 2 ( , ) r a c R . Т. к. 1 [ , ] R R A B , то существует некоторое значение 1 c , такое что кортеж 1 ( , , ) a b c R . Аналогично, существует некоторое значение 1 b , такое что кортеж 1 ( , , ) a b c R . Кортежи 1 ( , , ) a b c и 1 ( , , ) a b c имеют одинаковое значение атрибута А, равное a. Из этого, в силу функциональной зависимо- сти A B , следует, что 1 b b . Таким образом, кортеж ( , , ) a b c R . Обратное включение доказано. В приведенном примере причина неправильной декомпозиции в первом варианте состоит в том, что при этой декомпозиции была потеряна функциональная зависимость ТабНомер Зарплата . Во втором варианте, удовлетворяющем условию теоремы Хита, эта зависимость сохранена в отношении 2 R . 93 4.4. Нормальные формы Излагаемый здесь метод проектирования базы данных осно- ван на понятии нормальных форм реляционных отношений. Все шаги метода проектирования будут иллюстрироваться на типо- вом конкретном примере следующего вида [2, 3]. Рассмотрим в качестве предметной области некоторую органи- зацию, выполняющую некоторые проекты. Модель предметной области опишем следующим неформальным текстом: 1. Сотрудники организации выполняют проекты. 2. Проекты состоят из нескольких заданий. 3. Каждый сотрудник может участвовать в одном или не- скольких проектах или временно не участвовать ни в каких проектах. 4. Над каждым проектом может работать несколько сотруд- ников, или временно проект может быть приостановлен, тогда над ним не работает ни один сотрудник. 5. Над каждым заданием в проекте работает ровно один сотрудник. 6. Каждый сотрудник числится в одном отделе. 7. Каждый сотрудник имеет телефон, находящийся в отделе сотрудника. В ходе дополнительного уточнения того, какие данные необ- ходимо учитывать, выяснилось следующее: О каждом сотруднике необходимо хранить табельный номер и фамилию. Табельный номер является уникальным для каждого сотрудника. Каждый отдел имеет уникальный номер. Каждый проект имеет номер и наименование. Номер проекта является уникальным. Каждое задание проекта имеет номер, уникальный в пределах проекта. Задания в разных проектах могут иметь одинаковые номера. 4.4.1. Первая нормальная форма (1НФ) и аномалии отношения Понятие первой нормальной формы уже обсуждалось в гла- ве 2. Первая нормальная форма (1НФ) – это обычное отношение. Согласно определению (см. раздел 2.1), любое отношение 94 автоматически уже находится в 1НФ. Напомним кратко свойства отношений (это и будут свойства 1НФ): o в отношении нет одинаковых кортежей; o кортежи не упорядочены; o атрибуты не упорядочены и различаются по наименованию; o все значения атрибутов атомарны. В ходе логического моделирования на первом шаге предло- жено хранить данные в одном отношении со схемой: СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ{НомСотр, Фам, НомОтд, Тел, НомПро, Проект, НомЗадан}, где НомСотр – табельный номер сотрудника; Фам – фамилия сотрудника; НомОтд – номер отдела, в котором числится сотрудник; Тел – телефон сотрудника; НомПро – номер проекта, в котором работает сотрудник; Проект – наименование проекта, в котором работает сотрудник; НомЗадан – номер задания, над которым работает сотрудник. Так как каждый сотрудник в каждом проекте выполняет ров- но одно задание, то в качестве потенциального ключа отношения необходимо взять пару атрибутов {НомСотр, НомПро}. В текущий момент состояние предметной области отража- ется следующими фактами: o сотрудник Иванов, работающий в 1-м отделе, выполняет в первом проекте «Альфа» задание 1 и во втором проекте «Бета» задание 1; o сотрудник Петров, работающий в 1-м отделе, выполняет в первом проекте «Альфа» задание 2; o сотрудник Сидоров, работающий во 2 отделе, выполняет в первом проекте «Альфа» задание 3 и во втором проекте «Бета» задание 2. Это состояние отражается в табл. 4.8 (курсивом выделены ключевые атрибуты). В разделе 4.3. были рассмотрены проблемы, которые возникают при работе с неудачно спроектированным отношением – это т. н. аномалии обновления, вставки и удаления. Для отношения СО- ТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ все эти аномалии имеют место. |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling