- •Отношение dept_____________
- •Атрибут представляет использование домена внутри отношения.
- •Каждое отношение имеет (возможно, составной) первичный ключ.
- •Нормализация______________________
- •"Один факт хранится один раз".
- •Первая, вторая и третья нормальные формы____________
- •Проблемы возникают для каждой из трех основных операций запоминания.
- •Функциональные зависимости в отношениях dept н locstatus
Каждое отношение имеет (возможно, составной) первичный ключ.
Мы будем предполагать, что первичный ключ неизбыточен в том смысле, что никакие из составляющих его атрибутов не являются излишними для однозначной идентификации кортежа в отношении. Например, комбинация (DEPTNO, LOC) не является первичным ключом для приведенного выше отношения DEPT.
Иногда можно встретить отношения, в которых существует более чем одна комбинация атрибутов, обладающая свойством однозначно идентифицировать кортеж. Следовательно, эти отношения имеют более чем один возможный ключ. Например, предположим, что отношение ЕМР описывает ситуацию, когда в течение всего рассматриваемого периода времени каждый сотрудник имеет уникальный номер (EMPNO) и уникальное имя (ENAME). В таком случае мы можем произвольно выбрать один из возможных ключей, скажем, EMPNO, в качестве первичного ключа отношения.
Отношение ЕМР
|
|||||
|
ENAME
|
JOB
|
HIREDATE
|
SAL
|
DEPTNO
|
7839
|
KING
|
PRESIDENT
|
17.11.1981
|
5000
|
10
|
7782
|
CLARK
|
MANAGER
|
09.06.1981
|
2450
|
10
|
7934
|
MILLER
|
CLERK
|
23.01.1982
|
1300
|
10
|
7566
|
JONES
|
MANAGER
|
02.04.1981
|
2975
|
20
|
7788
|
SCOTT
|
ANALYST
|
09.12.1982
|
3000
|
20
|
7876
|
ADAMS
|
CLERK
|
12.01.1983
|
1100
|
20
|
7369
|
SMITH
|
CLERK
|
17.12.1980
|
800
|
20
|
7902
|
FORD
|
ANALYST
|
03.12.1981
|
3000
|
20
|
7698
|
BLAKE
|
MANAGER
|
01.05.1981
|
2850
|
30
|
7654
|
MARTIN
|
SALESMAN
|
28.09.1981
|
1250
|
30
|
7499
|
ALLEN
|
SALESMAN
|
20.02.1981
|
1600
|
30
|
7844
|
TURNER
|
SALESMAN
|
08.09.1981
|
1500
|
30
|
7900
|
JAMES
|
CLERK
|
03.12.1981
|
950
|
30
|
7521
|
WARD
|
SALESMAN
|
22.02.1981
|
1250
|
30
|
Возможный ключ 1
|
Возможный ключ 2
|
|
|||
Первичный ключ
|
|
Накладывается дополнительное ограничение, что значения атрибутов, входящих в первичный ключ не могут быть NULL-значениями.
Введем также понятие "внешний ключ" (foreign key):
Атрибут отношения R1 является внешним ключом, если этот атрибут - не первичный ключ отношения R1, но его значения являются значениями первичного ключа некоторого отношения R2 (R1 и R2 не обязательно различны).
Если же отношения R1 и R2 различны, то определение можно смягчить:
Атрибут отношения R1 является внешним ключом, если его значения являются значениями первичного ключа некоторого отношения R2.
Например:
• Атрибут DEPTNO отношения ЕМР является внешним ключом, так как его значения являются значениями первичного ключа отношения DEPT.
• Атрибут MGR отношения ORGCHART - внешний ключ, так как его значения являются значениями первичного ключа EMPNO этого же отношения.
Ключи, первичный и внешний, представляют собой средства выражения связей между кортежами. Заметим, однако, что не все такие "связывающие" атрибуты являются ключами.
Допустим, что есть уже знакомое нам отношение ЕМР. Атрибут DEPTNO сам по себе не является ключом. Он может стать внешним ключом, если в базу данных будет добавлено отношение (например, DEPT), в котором будет соответствующий первичный ключ, значения которого будут использоваться для включения значений атрибута DEPTNO отношения ЕМР.
Некоторые выводы______________________ ___
Мы можем дать следующее определение. Реляционная модель базы данных есть представление пользователем этой базы данных в виде совокупности изменяемых во времени нормализованных отношений различных степеней.
"Изменяемые во времени отношения" в этом определении необходимо указывать для того, чтобы учесть операции включения, удаления и обновления кортежей.
В традиционном смысле, отношению можно поставить в соответствие "файл", таблицу, кортежу - запись, строку таблицы (экземпляр, но не тип), а атрибуту - поле, столбец таблицы (тип, но не экземпляр).
Однако это соответствие в лучшем случае приблизительно. Иначе говоря, отношения могут рассматриваться как высокоорганизованные файлы. Их организация является результатом значительного упрощения той структуры данных, с которой пользователь должен работать, что приводит к соответствующему упрощению операторов манипулирования данными.
Перечислим основные особенностей реляционных "файлов", которые отличают эти "файлы" от традиционных файлов (важно!):
1. Каждая таблица содержит только один тип записи (кортеж).
2. Каждый тип записи имеет фиксированное число типов полей (атрибутов).
3. Каждый экземпляр записи имеет уникальный идентификатор (первичный ключ).
4. Внутри таблицы экземпляры записи имеют заранее неизвестный пользователю порядок.