Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7-12.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
52.78 Кб
Скачать
  1. Реляционная модель данных. Ограничения целостности. Определения: потенциальные ключи, первичные ключи, альтернативные ключи, суперключи, внешние ключи.

Ограничение целостности – это логическое выражение, связанное с некоторой БД, результатом вычисления которого всегда должно быть истинное значение. Если какая-либо операция приводит к тому, что это выражение принимает ложное значение, эта операция не должна быть применена, а состояние БД должно остаться таким, каким оно было до применения операции.

Ограничением базы данных называется ограничение на значения, которые разрешено принимать указанной базе данных.

Ограничением переменной отношения называется ограничение на значения, которые разрешено принимать указанной переменной отношения.

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

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

Потенциальный ключ

Допустим, что K — множество атрибутов переменной отношения R. В таком случае к является потенциальным ключом для R тогда и только тогда, когда оно обладает одновременно двумя перечисленными ниже свойствами.

а) Уникальность. Ни одно допустимое значение R никогда не содержит два разных кортежа с одним и тем же значением к.

б) Несократимость. Никакое строгое подмножество K не обладает свойством уникальности.

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

Ключ может быть простой (состоит из одного атрибута) и составной (состоит из нескольких атрибутов).

Любое надмножество потенциального ключа будет обладать свойством уникальности. Такое надмножество называется суперключом (СК). СК обладает свойством уникальности, но необязательно обладает свойством несократимости. Потенциальный ключ – частный случай суперключа.

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

Внешние ключи

Если бы мы писали программу, то для связывания двух экземпляров сущности использовали что-то типа указателей. В РМД указателей нет, т.к. нет адресов. Однако в качестве ссылки можно использовать значение потенциального ключа.

Для этого в сущность, которая, как мы хотим, должна ссылаться на другую сущность, добавляется дополнительный атрибут, в котором хранится значение соответствующего ПК связываемой сущности. Этот атрибут (или множество атрибутов, если ключ составной) и называют внешним ключом.

Пример. Группы – Студенты.

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

Более формально это можно описать следующим образом.

Допустим, что R2 — переменная отношения. В таком случае внешним ключом в R2 является множество атрибутов R2, скажем, FK, такое, что выполняются следующие требования:

а) существует переменная отношения R1 (R1 и R2 не обязательно должны быть разными) с потенциальным ключом CK;

б) существует взаимнооднозначное соответствие между атрибутами FK и атрибутами CK, такое что атрибут A2i из FK определен на том же домене, что и соответсвующий атрибут A1i из CK

в) в любое время каждое значение атрибута A2i из FK в значении R2 идентично значению атрибута A1i из СК в некотором кортеже в текущем значении R1.

Достаточно очевидно, что связь через внешний ключ реализует тип связи «один ко многим», где переменная отношения с ВК находится на стороне «многие». Кардинальность на стороне «многие» является 0..М, в данном случае это означает, что в БД может быть информация о группах, в которых нет ни одного студента.

Связь «один к одному» можно реализовать объединением связываемых переменных отношения в одну, либо сделав ВК потенциальным ключом.

Связь «многие ко многим» реализуется через промежуточную переменную отношения (пример «Автор – Книга»).

Если сущность является слабой (зависимой), то в соответствующей ей переменной отношения ВК будет частью ПК (пример «Автор – Книга»).

11 , 12. Реляционная модель данных. Аспект манипуляции данными. Реляционная алгебра.

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

Реляционная алгебра – это коллекция операций, которые принимают отношения в качестве операндов и возвращают отношение в качестве результата. Первая версия этой алгебры была определена Коддом в 1970 г. Его оригинальная алгебра включала 8 операций:

1. Традиционные операции с множествами — объединение, пересечение, разность и декартово произведение (все они были немного модифицированы с учетом того факта, что их операндами являются именно отношения, а не произвольные множества).

2. Специальные реляционные операции, такие как сокращение (селекция), проекция, соединение и деление.

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

Свойство замкнутости РА является очень важным: благодаря ему становится возможным использовать вложенные выражения. Это превращает алгебру практически в язык запросов.