- •Отношение dept_____________
- •Атрибут представляет использование домена внутри отношения.
- •Каждое отношение имеет (возможно, составной) первичный ключ.
- •Нормализация______________________
- •"Один факт хранится один раз".
- •Первая, вторая и третья нормальные формы____________
- •Проблемы возникают для каждой из трех основных операций запоминания.
- •Функциональные зависимости в отношениях dept н locstatus
Атрибут представляет использование домена внутри отношения.
Чтобы подчеркнуть эту разницу можно дать атрибутам имена, которые отличаются от имен доменов.
Например,так:
DOMAIN DEPARTMENT_NUMBER NUMBER(2) ... DOMAIN DEPARTMENT_NAME VARCHAR2(14) ... DOMAIN LOCATION VARCHAR2(13) ...
RELATION DEPT (DEPT_NUMBER DOMAIN DEPARTMENT_NUMBER, DEPT_NAME DOMAIN DEPARTMENT_NAME, CITY DOMAIN LOCATION)
В этой части концептуальной схемы данных объявлены три домена DEPARTMENT_NUMBER, DEPARTMENTJMAME, LOCATION и одно отношение DEPT. Отношение DEPT определено тремя атрибутами (DEPTNO, DNAME, LOC).
Отношение ORGCHART
|
||
|
ENAME
|
M3R
|
7839
|
KING
|
|
7698
|
BLAKE
|
7839
|
7782
|
CLARK
|
7839
|
7566
|
JONES
|
7839
|
7654
|
MARTIN
|
7698
|
7499
|
ALLEN
|
7698
|
7844
|
TURNER
|
7698
|
7900
|
JAMES
|
7698
|
7521
|
WARD
|
7698
|
7902
|
FORD
|
7566
|
7369
|
SMITH
|
7902
|
7788
|
SCOTT
|
7566
|
7876
|
ADAMS
|
7788
|
7934
|
MILLER
|
7782
|
Фрагмент соответствующей схемы:
DOMAIN EMPLOYEEJMUMBER NUMBER(4) ... DOMAIN EMPLOYEEJMAME VARCHAR2(10) ...
RELATION ORGCHART (EMPNO DOMAIN EMPLOYEE_NUMBER, ENAME DOMAIN EMPLOYEE_NAME, MGR DOMAIN EMPLOYEE_NUMBER)
Это пример отношения с тремя атрибутами и только с двумя различными доменами. (Напомним, что во всех определениях отношения домены, то есть множества на которых оно определено, "не обязательно различны"). Суть любого кортежа отношения ORGCHART состоит в том, что сотрудник с именем ENAME имеет табельный номер
EMPNO и работает под руководством сотрудника с табельным номером MGR. Двумя различными доменами являются EMPLOYEEJMUMBER (все возможные табельные номера) и EMPLOYEE_NAME (все возможные имена сотрудников).
В данном отношении атрибуты EMPNO и MGR относятся к одному домену, отражая при этом различные роли данного домена при каждом его вхождении в отношение.
Теперь введем понятие нормализации.
Единственными отношениями, допустимыми в реляционной модели, являются те, которые удовлетворяют следующему условию:
Каждое значение в отношении, то есть значение каждого атрибута в каждом кортеже, является атомарным (неделимым).
Иными словами, на пересечении любой строки и любого столбца должно быть точно одно значение, а не множество значений.
Отношение, удовлетворяющее приведенному выше условию является нормализованным.
Простоту процедуры преобразования ненормализованного отношения к эквивалентной нормализованной форме проиллюстрируем на примере.
Отношение ЕМР 0
|
||
DEPTNO
|
EMPNO
|
ENAME
|
10
|
7839
|
KING
|
7782
|
CLARK
|
|
7934
|
MILLER
|
|
20
|
7566
|
JONES
|
7788
|
SCOTT
|
|
7876
|
ADAMS
|
|
7369
|
SMITH
|
|
7902
|
FORD
|
|
30
|
7698
|
BLAKE
|
7654
|
MARTIN
|
|
7499
|
ALLEN
|
|
7844
|
TURNER
|
|
7900
|
JAMES
|
|
7521
|
WARD
|
Отношение ЕМР 1
|
||
DEPTNO
|
11Й1ЙЯЬ
|
ENAME
|
10
|
7839
|
KING
|
10
|
7782
|
CLARK
|
10
|
7934
|
MILLER
|
20
|
7566
|
JONES
|
20
|
7788
|
SCOTT
|
20
|
7876
|
ADAMS
|
20
|
7369
|
SMITH
|
20
|
7902
|
FORD
|
30
|
7698
|
BLAKE
|
30
|
7654
|
MARTIN
|
30
|
7499
|
ALLEN
|
30
|
7844
|
TURNER
|
30
|
7900
|
JAMES
|
30
|
7521
|
WARD
|
Смысл отношений ЕМР_0 и ЕМР_1 в том, что сотрудники с именами ENAME имеют табельные номера EMPNO и работают в отделах DEPTNO.
В реляционном подходе поддерживаются только нормализованные отношения потому, что:
• как показывает пример, этот выбор не налагает ограничений на то, что мы можем описать с помощью таких отношений;
• полученное упрощение в структуре данных ведет к соответствующим
упрощениям в операторах подъязыка данных.
Поэтому, говоря о реляционной модели данных, мы всегда будем предполагать, что отношения нормализованы.
Ключи
Часто встречается случай, когда внутри данного отношения существует атрибут, значения которого однозначно идентифицируют кортежи отношения. Например, атрибут EMI'NO отношения ORGCHART обладает этим свойством: все кортежи
отношения ORGCHART содержат различные значения EMPNO, и эти значения могут быть использованы для того, чтобы отличить эти кортежи в отношении один от другого. Назовем атрибут EMPNO первичным ключом (primary key) для отношения ORGCHART.
Не каждое отношение будет иметь первичный ключ (primary key) в виде единственного атрибута. Однако каждое отношение будет иметь некоторую комбинацию атрибутов, которые, взятые вместе, будут однозначно идентифицировать кортеж в отношении.
Комбинация, состоящая из единственного атрибута, является просто специальным случаем. Существование такой комбинации гарантируется тем, что отношение является множеством; так как множества не содержат одинаковых элементов, каждый кортеж данного отношения является уникальным для данного отношения.
Следовательно, по крайней мере комбинация всех атрибутов обладает свойством однозначно идентифицировать кортежи в отношении. На практике обычно нет необходимости использовать для этого все атрибуты - как правило, достаточно комбинации некоторой их меньшей части. Таким образом,