Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы / Базы даных.docx
Скачиваний:
28
Добавлен:
10.04.2015
Размер:
152.19 Кб
Скачать

4 Реляционная модель данных. Определение модели. Целостность базы данных.

Реляционная модель данных некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы реляционной модели:

  1. Отношение представляет собой двумерную таблицу, содержащую некоторые данные.

  2. Сущность есть объект любой природы, данные о котором хра­нятся в базе данных. Данные о сущности хранятся в отношении.

  3. Атрибуты представляют собой свойства, характеризующие сущ­ность. В структуре таблицы каждый атрибут именуется и ему соот­ветствует заголовок некоторого столбца таблицы.

  4. Домен представляет собой множество всех возможных значений определенного атрибута отношения.

  5. Схема отношения (заголовок отношения) представляет собой список имен атрибутов.

Контроль целостности связей обычно означает анализ содержимого двух таблиц на соблюдение следующих правил:

• каждой записи основной таблицы соответствует нуль или более записей дополнительной таблицы;

• в дополнительной таблице нет записей, которые не имеют ро­дительских записей в основной таблице;

• каждая запись дополнительной таблицы имеет только одну ро­дительскую запись основной таблицы.

Опишем действие контроля целостности при манипулировании данными в таблицах. Рассмотрим три основные операции над дан­ными двух таблиц:

• ввод новых записей;

• модификация записей;

• удаление записей.

При вводе новых записей возникает вопрос определения последо­вательности ввода записей в таблицы, такой, чтобы не допустить на­рушение целостности. Исходя из приведенных правил, логичной яв­ляется схема, при которой данные сначала вводятся в основную таб­лицу, а потом - в дополнительную. Очередность ввода может быть установлена на уровне целых таблиц или отдельных записей (случай одновременного ввода в несколько открытых таблиц).

В процессе заполнения основной таблицы контроль значений по­лей связи ведется, как контроль обычного ключа (на совпадение со значениями тех же полей других записей). Заполнение полей связи дополнительной таблицы контролируется на предмет совпадения со значениями полей связи основной таблицы. Если вновь вводимое значение в поле связи дополнительной таблицы не совпадет ни с од­ним соответствующим значением в записях основной таблицы, то ввод такого значения должен блокироваться.

Модификация записей. Изменение содержимого полей связан­ных записей, не относящихся к полям связи, должно происходить обычным образом.

При редактировании полей связи дополнительной таблицы требо­ванием является то, чтобы новое значение поля связи совпадало с соответствующим значением какой-либо записи основной таблицы.

В операциях удаления записей связанных таблиц большую свободу имеют записи дополнительной таблицы. Удаление их должно происходить практически бесконтрольно.

5 Языки запросов в реляционных субд.

Операции, выполняемые над отношениями, можно разделить на две группы. Первую группу составляют операции над множествами к которым относятся операции: объединения, пересечения, разности, деления и декартова произведения. Вторую группу составляют специальные операции над отношениями, к которым, в частности, относятся операции проекции, соединения, выбора.

В различных СУБД реализована некоторая часть операций над отношениями, определяющая в какой-то мере возможности данной СУБД и сложность реализации запросов к БД.

В реляционных СУБД для выполнения операций над отношениями используются две группы языков, имеющие в качестве своей математической основы теоретические языки запросов, предложении Э. Коддом:

• реляционная алгебра;

• реляционное исчисление.

Эти языки представляют минимальные возможности реальных языков манипулирования данными в соответствии с реляционной моделью и эквивалентны друг другу по своим выразительным возможностям.

В реляционной алгебре операнды и результаты всех действий яв­ляются отношениями. Языки реляционной алгебры являются проце­дурными, так как отношение, являющееся результатом запроса к реляционной БД, вычисляется при выполнении последовательности реляционных операторов, применяемых к отношениям. Операторы состоят из операндов, в роли которых выступают отношения, и реля­ционных операций. Результатом реляционной операции является от­ношение.

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

Запрос представляет собой специальным образом описанное тре­бование, определяющее состав производимых над БД операций по выборке, удалению или модификации хранимых данных.

Для подготовки запросов с помощью различных СУБД чаще всего используются два основных языка описания запросов:

• язык QBE (Query By Example) - язык запросов по образцу;

• SQL (Structured Query Language) - структурированный язык запросов.

По возможностям манипулирования данными при описании за­просов указанные языки практически эквивалентны. Главное отли­чие между ними заключается в способе формирования запросов. Язык QBE предполагает ручное или визуальное формирование за­проса, в то время как использование SQL означает программиро­вание запроса.

Соседние файлы в папке госы