Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
05.06.2015
Размер:
295.94 Кб
Скачать

Атрибут представляет использование домена внутри отношения.

Чтобы подчеркнуть эту разницу можно дать атрибутам имена, которые отличаются от имен доменов.

Например,так:

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) в виде единственного атрибута. Однако каждое отношение будет иметь некоторую комбинацию атрибутов, которые, взятые вместе, будут однозначно идентифицировать кортеж в отношении.

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

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