Нормализованные отношения составляют основу классического реляционного подхода к организации баз данных. Они обладают некоторыми ограничениями (не любую информацию удобно представлять в виде плоских таблиц), но существенно упрощают манипулирование данными. Рассмотрим, например, два идентичных оператора занесения кортежа:
Зачислить сотрудника Кузнецова (пропуск номер 3000, зарплата 115,000) в отдел номер 320 и
Зачислить сотрудника Кузнецова (пропуск номер 3000, зарплата 115,000) в отдел номер 310.
Если информация о сотрудниках представлена в виде отношения СОТРУДНИКИ, оба оператора будут выполняться одинаково (вставить кортеж в отношение СОТРУДНИКИ). Если же работать с ненормализованным отношением ОТДЕЛЫ, то первый оператор выразится в занесение кортежа, а второй - в добавление информации о Кузнецове в множественное значение атрибута ОТДЕЛ кортежа с первичным ключом 310.
Первичный ключ — это поле, однозначно определяющий кортеж отношения.
Вторичный ключ – поле, кот выполняет роль поисковых или группировочных признаков(по его значению можно найти неск записей). Внешний ключ - его значение совпадает с первичным ключом другой таблицы.
|
|
Целостность реляционных баз данных: Null-значения; Трехзначная логика (3VL).
Для того чтобы обойти проблему неполных или неизвестных данных, в БД могут использоваться типы данных, пополненные так называемым null-значением – не значение, а некий маркер, показывающий, что значение неизвестно. Варианты:
- не использовать null-значения, а вместо неизвестных данных вводить либо нулевые значения. Либо значения специального вида
- использовать null-значения вместо неизвестных данных
Определение истинности логических выражений базируется на трехзначной логике (three-valuedlogic 3VL)
T - истина
F - ложь
U - неизвестно
Логическое выражение U – то же самое, что и null-выражение
Таблицы истинности трехзначной логики:
AND | F | T | U |
F | F | F | F |
T | F | T | U |
U | F | U | U |
NOT |
|