· невозможно ввести информацию о зарплате для некоторой должности до тех пор, пока ее не займет хотя бы один сотрудник;
· при удалении сотрудника может потеряться информация о заработной плате для некоторой должности;
· чтобы изменить значение зарплаты, необходимо обойти все кортежи, содержащие информацию о соответствующей должности.
Аномалии можно устранить путем дальнейшей нормализации. Отношение СОТРУДНИКИ-ДОЛЖНОСТИ декомпозируется на два отношения, удовлетворяющих требованию третьей нормальной формы (3НФ)
Отношение находится в третьей НФ если и только если оно находится во второй НФ, и каждый неключевой атрибут функционально не зависит от другого неключевого атрибута.
При декомпозиции отношения СОТРУДНИКИ-ДОЛЖНОСТИ целесообразно вынести функциональную зависимость ДОЛЖНОСТЬ -> ЗАРПЛАТА в отдельное отношение, где ДОЛЖНОСТЬ будет первичным ключом (рис. 2.7).
СОТРУДНИКИ
СОТРУДНИК |
ДОЛЖНОСТЬ |
С1 |
Д1 |
С2 |
Д2 |
С3 |
Д3 |
ДОЛЖНОСТИ
ДОЛЖНОСТЬ |
ЗАРПЛАТА |
Д1 |
300 |
Д2 |
500 |
Д3 |
1000 |
Рисунок 2.7 – Декомпозиция отношения СОТРУДНИКИ-ДОЛЖНОСТИ
Требование третьей НФ исключает появление транзитивных функциональных зависимостей в отношениях и связанных с ними аномалий обработки данных.
НФБК является обобщением 3НФ. Ее требование гласит: отношение R находится в НФБК, если и только если каждый детерминант функциональной зависимости является потенциальным ключом.
Таким образом, альтернативные ключи, если они есть в отношении, могут выступать детерминантами функциональных зависимостей, что не способствует появлению транзитивных зависимостей и связанных с ними аномалий.
Четвертая и пятая нормальные формы на практике используются значительно реже, чем первые три и НФБК, и в настоящем курсе не рассматриваются.
База данных может считаться корректной, если все отношения в ней находятся в 3НФ (или в НФБК). Добиться этого можно разными способами, в том числе и путем пошаговой нормализации универсального отношения, т. е. его разбиения на составляющие. Однако этот классический, исторически первый подход является весьма трудоемким. Исследования показывают, что при количестве атрибутов от 20 до 25 пошаговая декомпозиция становится вообще не выполнимой. Современные способы проектирования позволяют быстро и эффективно добиваться нужных результатов, и приведение отношений к НФБК при этом осуществляется «само собой».
2.2.2. Современный подход к проектированию реляционных баз данных
Многих трудностей, связанных с декомпозицией универсального отношения, удается избежать, если логическому проектированию предшествует концептуальное проектирование. Концептуальное проектирование – это этап, на котором строится концептуальная схема будущей БД. На концептуальной схеме показываются объекты предметной области и связи между ними. Наиболее удобный способ концептуального моделирования – построение визуальных моделей системы, в которых для обозначения объектов и связей используется графическая нотация.
В настоящее время для построения концептуальных моделей данных широко используются ER-диаграммы (Entity-Relationship Diagrams).
Сущность на диаграммах ER-модели представляется в виде прямоугольника. В верхней части этого прямоугольника заглавными буквами записывается имя сущности, а в оставшейся области прямоугольника перечисляются атрибуты сущности с указанием типа и, возможно, другой информации. Имена и типы атрибутов записываются строчными буквами.
Связь в ER-модели является именованной ассоциацией между двумя сущностями. В любой связи выделяются два конца в соответствии с существующей парой связываемых сущностей. При этом на одном конце может использоваться точечный вход (если в связи участвует один экземпляр данной сущности) и трехточечный вход (в связи может участвовать множество экземпляров данной сущности).
Пример простейшей ER-диаграммы показан на рис. 2.8.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.