Скачиваний:
54
Добавлен:
01.04.2014
Размер:
657.92 Кб
Скачать

3.4. Реляционная модель

Так что же такое реляционная модель? Достаточно точно ее характеризует сле­дующее определение: реляционная модель — это способ рассмотрения данных, т.е. предписание для способа представления данных (посредством таблиц) и для спосо­ба работы с таким представлением (посредством операторов, таких как JOIN). Или точнее, реляционная модель связана с тремя аспектами данных: структурой, цело­стностью и обработкой данных. Вопросы, связанные со структурой и обработкой данных, уже были проиллюстрированы. Чтобы рассмотреть целостность (заметьте, весьма поверхностно), мы еще раз воспользуемся базой данных отделов и сотруд­ников, приведенной на рис. 3.1. По всей вероятности, такая база данных могла бы быть примером для многих правил целостности. Существуют определенные прави­ла, которые должны соблюдаться в базе данных, если она отвечает требованиям реляционной модели.

1. Каждая строка в таблице DEPT должна включать уникальное значение DEPT#; также и каждая строка в таблице ЕМР должна включать уникальное значение ЕМР #.

2. Каждое значение DEPT# в таблице ЕМР должно существовать как значение DEPT# в таблице DEPT (для отражения того факта, что каждый служащий должен быть приписан к существующему отделу).

Столбцы DEPT# в таблице DEPT и ЕМР# в таблице ЕМР являются первичными ключами для соответствующих таблиц. Столбец DEPT# в таблице ЕМР является внешним ключом, ссылающимся на первичный ключ таблицы DEPT.

Замечание. Читатель уже, возможно, заметил, что первичные ключи таблицы указаны на рисунках двойной линией, проведенной под наименованием ключа (см., например, рис. 3.1). Мы будем следовать этому соглашению на протяжении всей книги.

Сейчас уместно сделать предупреждение. Реляционная модель, как уже отмеча­лось, это теория. Обратите особое внимание, однако, что для системы нет необходи­мости поддерживать такую теорию полностью, чтобы квалифицировать эту систему как реляционную в соответствии с определением. В действительности, насколько из­вестно, в настоящее время на рынке не существует продукта, который бы поддер­живал все до единого требования этой теории. Это отнюдь не значит, что некото­рые аспекты этой теории не важны; как раз наоборот, важна каждая деталь этой тео­рии, причем по действительно практическим причинам. И в самом деле, нельзя делать акцент на том, что это просто "теория ради теории"; скорее, главное назначе­ние этой теории— обеспечить базу для построения систем, которые на 100% прак­тичны. Но, как это ни печально, поставщики еще реально не подошли к осуществле­нию этой теории во всей ее полноте. И как следствие, реляционные продукты на се­годняшний день в той или иной степени неполно реализуют возможности реляционной технологии.

Замечание. Отмечая, что каждая деталь теории важна, мы не имеем в виду, что они важны в равной степени. Дело в том, что некоторые аспекты теории не так широ­ко признаны, как другие; в действительности существуют вопросы, такие как, напри­мер, обработка отсутствующей информации, которые до сих пор являются предметом разногласий. Подробное обсуждение таких вопросов выходит за рамки этой главы и приводится в следующих частях книги.

Соседние файлы в папке Дейтл Введ в БД