Реляционная модель данных


Download 372 Kb.
bet3/21
Sana28.12.2022
Hajmi372 Kb.
#1023068
1   2   3   4   5   6   7   8   9   ...   21
Bog'liq
Conn&Begg

Реляционная целостность. Два основных правила целостности реляционной модели данных включают в себя: 1) целостность сущностей; 2) ссылочную целостность.
Целостность сущностей обеспечивается тем, что в базовом (главном) отношении ни один атрибут первичного ключа не может содержать пустых значений, обозначаемых как NULL. Если допустить присутствие NULL в любой части первичного ключа, то это равносильно утверждению, что не все его атрибуты необходимы для уникальной идентификации кортежей. Но это противоречит определению первичного ключа.
Ссылочная целостность означает следующее: если в таблице существует внешний ключ, то каждое значение внешнего ключа должно либо соответствовать значению потенциального ключа некоторой записи в базовой таблице, либо внешний ключ должен полностью состоять из значений NULL.
На примере таблиц Кафедры и Преподаватели это означает, что система должна пресекать любые попытки создать запись с информацией о преподавателе кафедры ХХХ, пока соответствующая запись не появится в таблице Кафедры.


Глава 4. Реляционная алгебра и реляционное исчисление
Важной частью модели данных является механизм манипулирования данными (или язык запросов), который обеспечивает выборку и обновление данных. В настоящем разделе рассматриваются языки запросов, связанные с реляционной моделью.
Реляционную алгебру можно рассматривать как высокоуровневый процедурный язык, с помощью которого можно сообщить СУБД, как построить новую таблицу на основе одной или нескольких таблиц, имеющихся в БД. В отличие от этого, реляционное исчисление представляет собой непроцедурный язык, который позволяет описать, какой будет некоторая таблица, созданная на основе одной или нескольких других таблиц БД.
Реляционная алгебра и реляционное исчисление представляют собой формальные языки, для которых требование дружественности по отношению к пользователю не стоит на первом месте. В реляционных БД они использовались в качестве основы при разработке других языков более высокого уровня для управления данными. Для нас они представляют интерес потому, что иллюстрируют основные операции манипулирования данными, а также служат определенным критерием при сравнении с другими языками.
Реляционная алгебра. Реляционная алгебра — это теоретический язык операций, которые позволяют создавать на основе одной или нескольких таблиц другую таблицу без изменения исходных таблиц. Следовательно, можно конструировать вложенные выражения реляционной алгебры, причем для любой глубины вложенности результатом всегда является отношение (свойство замкнутости).
Существует несколько вариантов выбора операций, которые включаются в реляционную алгебру. Первоначально Кодд предложил восемь операций, но впоследствии к ним были добавлены и некоторые другие.
Большинство действий по извлечению данных выполняются с помощью пяти основных операций реляционной алгебры:

  • выборка (selection);

  • проекция (projection);

  • декартово произведение (Cartesian product);

  • объединение (union);

  • разность множеств (set difference).

С использованием этих основных операций можно вывести следующие дополнительные операции:

  • соединение (join);

  • пересечение (intersection);

  • деление (division).

Операции выборки и проекции являются унарными, поскольку они работают с одной таблицей. Другие операции работают с двумя таблицами, поэтому их называют бинарными.
* * * * * * * * *
σ<условие>(R) — операция выборки (ограничения). Включает в результирующую таблицу только те строки из исходной таблицы R, которые удовлетворяют заданному условию.
* * * * * * * * *
Π<список атрибутов>(R) — операция проекции. Определяет новое отношение, которое содержит вертикальное подмножество исходной таблицы R, создаваемое посредством извлечения значений указанных атрибутов и исключения из результата повторяющихся строк.
* * * * * * * * *
RS — объединение двух таблиц R и S. Определяет новую таблицу, которая включает в себя все записи, содержащиеся только в R, только в S, а также одновременно в R и S, причем повторяющиеся записи исключены. Таблицы R и S должны быть совместимыми по объединению, что возможно только при совпадении схем для объединяемых таблиц (т.е. таблицы состоят из одинакового количества атрибутов, причем каждая пара соответствующих атрибутов имеет одинаковый домен). Отметим, что в определении совместимости по объединению не указано, что атрибуты должны иметь одинаковые имена.
Если таблицы R и S включают, соответственно, N и M записей, то объединенная таблица может содержать не более (N+M) записей.
Во многих случаях для получения двух совместимых по объединению операндов сначала к исходным таблицам применяется операция проекции.
* * * * * * * * *
R–S — разность таблиц R и S. Состоит из записей, которые имеются в таблице R, но отсутствуют в таблице S. При этом таблицы R и S должны быть совместимыми по объединению.
* * * * * * * * *
RS — операция пересечения. Определяет таблицу, в которой содержатся записи, присутствующие одновременно как в таблице R, так и в таблице S. Таблицы R и S должны быть совместимыми по объединению. Пересечение можно сформулировать и на основе операции разности множеств: RS=R–(R–S).
* * * * * * * * *
RS — операция декартова произведения. Определяет новое отношение, которое является результатом сцепления каждого кортежа из таблицы R с каждым кортежем из таблицы S. Если одна таблица имеет N записей и n атрибутов, а другая таблица — M записей и m атрибутов, то их декартово произведение будет содержать NM записей и (n+m) атрибутов. Если исходные таблицы содержат атрибуты с одинаковыми именами, то в результирующей таблице к имени каждого такого атрибута будет добавлено в качестве префикса имя таблицы, к которой принадлежит атрибут. Этим обеспечивается уникальность имен атрибутов для таблицы, которая получается в результате произведения.
* * * * * * * * *
С помощью операции присваивания (Result<реляционное выражение>) можно присвоить произвольное имя (в данном случае Result) результату выполнения действий, записанных в виде реляционного выражения.
* * * * * * * * *
Для операции соединения имеется несколько разновидностей.
1) R ▷◁Θ S — операция Θ–соединения. Определяет таблицу, которая содержит кортежи из декартова произведения RS, удовлетворяющие определенному условию Θ, т.е. R▷◁ΘS=σΘ(RS).

Download 372 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   21




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling