![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Значения всех атрибутов являются атомарными. Это следует из определения домена как потенциального множества значений простого типа данных, т.е. среди значений домена не могут содержаться множества значений (отношения). Принято говорить, что в реляционных базах данных допускаются только нормализованные отношения или отношения, представленные в первой нормальной форме (раздел 3.2). Потенциальным примером ненормализованного отношения является следующее:
^ Ненормализованное отношение «ОТДЕЛЫ»
Можно сказать, что здесь мы имеем бинарное отношение, значениями атрибута ОТДЕЛЫ которого являются отношения. Заметим, что исходное отношение СОТРУДНИКИ является нормализованным вариантом отношения ОТДЕЛЫ:
^ Нормализованное отношение «СОТРУДНИКИ»
СОТР_НОМЕР | СОТР_ИМЯ | СОТР_ЗАРП | СОТР_ОТД_НОМЕР |
2934 | Иванов | 112,000 | 310 |
2935 | Петров | 144,000 | 310 |
2936 | Сидоров | 92,000 | 313 |
2937 | Федоров | 110,000 | 310 |
2938 | Иванова | 112,000 | 315 |
Нормализованные отношения составляют основу классического реляционного подхода к организации баз данных. Они обладают некоторыми ограничениями (не любую информацию удобно представлять в виде плоских таблиц), но существенно упрощают манипулирование данными. Рассмотрим, например, два идентичных оператора занесения кортежа:
Зачислить сотрудника Кузнецова (пропуск номер 3000, зарплата 115,000) в отдел номер 320 и
Зачислить сотрудника Кузнецова (пропуск номер 3000, зарплата 115,000) в отдел номер 310.
Если информация о сотрудниках представлена в виде отношения СОТРУДНИКИ, оба оператора будут выполняться одинаково (вставить кортеж в отношение СОТРУДНИКИ). Если же работать с ненормализованным отношением ОТДЕЛЫ, то первый оператор выразится в занесение кортежа, а второй - в добавление информации о Кузнецове в множественное значение атрибута ОТДЕЛ кортежа с первичным ключом 310.
Дата публикования: 2015-01-24; Прочитано: 286 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!