Проблемы, вызываемые использованием универсального отношения 


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



ЗНАЕТЕ ЛИ ВЫ?

Проблемы, вызываемые использованием универсального отношения



Существует несколько причин, почему не следует использовать универсальное отношение в качестве единственного в БД. Различают три специфические проблемы: проблема, связанная с обновлением (модификацией) данных в БД; проблема, обусловленная необходимостью удаления кортежей; проблема, обусловленная необходимостью включения новых кортежей. Выделенные проблемы обычно называют аномалиями обновления, удаления и вставки, понимая под аномалией отклонение от нормы.

Проблема вставки

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

На рис.8,а показан пример того, как будет выглядеть отношение УСПЕВАЕМОСТЬ в случае принудительного включения в него информации о студенте, не завершившем изучение ни одной дисциплины.

 

УСПЕВАЕМОСТЬ

Сном Сфам Кном Тном Дисц. Сем. Оценка
  Серов     ВМ    
  Серов     ТМ    
  Серов     Физика    
  Перов     ВМ    
  Перов     Химия    
  Перов     ВТ    
  Иванов     ТМ    
  Поляков     ВМ    
  Белов          

а)

 

111 Серов

444 Белов

б)

Рис.8. а- результат вставки записи с пустыми полями; б- ошибочный результат выполнения запроса, вызванный наличием пустых полей.

Пустые символьные строки представляются пробельными полями (Дисциплина и Семестр), в то время как нулевые численные значения в поле Оценка интерпретируются как 0.

Рис.8,б иллюстрирует возможные последствия появления 0.0 при отсутствии информации. Получен ответ на запрос "Выдать список Сном и Сфам всех студентов, получивших хотя бы одну оценку ниже 3.0". В число таких студентов попал Белов, хотя он не закончил изучение ни одной дисциплины.

Проблемы обновления

В отношении УСПЕВАЕМОСТЬ большое число избыточных данных. Она характеризуется как явной, так и неявной избыточностью. Явная избыточность заключается в том, что фамилия данного студента, номер комнаты и номер телефона могут появляться в отношении несколько раз.

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

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

Проблемы удаления

В экземпляре отношения УСПЕВАЕМОСТЬ (рис.8) присутствует только один кортеж, в котором Сном=110. Этот кортеж соответствует студенту с фамилией Поляков.

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

Нормальная форма Бойса -Кодда

Приведенное на рис.7 универсальное отношение находится в первой нормальной форме (1НФ).

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

Функциональные зависимости

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

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

Функциональная зависимость (ФЗ) определяется следующим образом:

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

С практической точки зрения смысл данного определения состоит в том, что если В функционально зависит от А, то каждый из кортежей, имеющих одно и то же значение А, должен иметь также одно и то же значение В. Значение А и В могут изменяться время от времени, но при этом они должны изменяться так, чтобы каждое уникальное значение А имело только одно значение В, связанное с ним. ФЗ описываются с помощью нескольких различных способов, два из которых изображены на рис.9.

А -> В - математическая форма записи

 

- диаграмма или графическая форма записи

Рис.9. Два возможных способа записи того, что атрибут В функционально зависит от атрибута А.

При графической форме атрибуты могут помещаться в прямоугольник, круг, овал и т.д.

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

В качестве примера вновь обратимся к атрибутам в отношении УСПЕВАЕМОСТЬ (рис.7). И, в частности, к подробному объяснению того, как эти атрибуты связаны между собой. После изучения описаний атрибутов могут быть выведены ФЗ, приведенные на рис.10.

Сном -> Сфам

Сном -> Кном

Кном -> Тном

Тном -> Кном

Сном -> Тном

Сном, Дисциплина, Семестр -> Оценка

а)

б)

Рис.10. Различные способы представления ФЗ, существующих между атрибутами отношения УСПЕВАЕМОСТЬ

 

Соображение, приведшие к ФЗ, изображенным на рис.10 в деталях обсуждаются ниже.

1. Номера студентов являются уникальными. Каждому студенту назначается номер Сном, причем все номера различны. Таким образом, если известны Сном, то с ним связана только одна фамилия Сфам: Сном -> Сфам. Обратное не является верным, поскольку несколько студентов могут иметь одинаковые фамилии.

2. Каждый студент прикреплен к одной комнате общежития, но в одной комнате может проживать более чем один студент. Таким образом, Сном -> Кном является верным, а Кном -> Сном - нет.

3. Поскольку в каждой комнате только один телефон и каждый телефон, в свою очередь, имеет уникальный номер, получаем Кном -> Тном и Тном -> Кном. Данная ситуация обычно обозначается в виде Кном <--> Тном, и говорят, что Сном и Тном взаимозависимы.

4. Поскольку в каждой комнате только один телефон и этот телефон имеет уникальный номер, следовательно только один телефонный номер может быть связан с данным студентом, или иначе Сном -> Тном.

5. Последняя ФЗ представляет собой пример сложного набора атрибутов, входящих в ФЗ. Зависимость Сном, Дисциплина, Семестр -> Оценка означает, что оценка однозначно определяется только в том случае, если известен Сном студента, изучающего данную Дисциплину в данном семестре. (Необходимо помнить, что студент может пересдать данную дисциплину и получить при этом другую оценку).



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 600; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.89.70.161 (0.074 с.)