uzluga.ru
добавить свой файл


Операции реляционной алгебры

  • -соединение

  • Соединением отношений A(A1, A2 …An) и

  • B(B1, B2 … Bn) по операции :A1xA2x…AnxB1xB2…Bn {T|F}

  • называется новое отношение, содержащее все кортежи, получаемые путем соединения кортежей из исходных A и B и удовлетворяющие условию (A:B) = T.


Пример



Эквисоединение

  • Если операция  представляет из себя равенство каких-либо полей (наборов полей), то такое соединение называется эквисоединением.

  • Пример:

  •  : Заказы.Id_клиента = Клиента.Id



Деление

  • Результатом деления отношения A(A1, A2 … An) на отношение B(B1, B2 … Bn) по отношению C(A1, A2 … An, B1, B2 … Bn) называется новое отношение, содержащее все такие кортежи x из отношения A для которых выполняется условие:

  • для любого y, принадлежащего множеству кортежей B, отношение C содержит кортеж x:y.

  • A называется делимым, В – делителем, а C – посредником.



Пример



Реляционная БД

  • Реляционная база данных – это набор реляционных отношений (таблиц) и только их. Никаким другим образом (переменные, массивы) данные не представлены.

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



12 правил Кодда разработки реляционной СУБД

  • 0. Основное (подразумеваемое правило). Система, которая рекламируется или провозглашается поставщиком как реляционная СУБД должна управлять базами данных исключительно способами, соответствующими реляционной модели.

  • 1. Информационное правило. Вся информация, хранимая в реляционной базе данных, должна быть явно, на логическом уровне, представлена единственным образом: в виде значений в реляционных таблицах.



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

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

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



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

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

  • Правило полноты языка работы с данными. Сколько бы много в СУБД ни поддерживалось языков и режимов работы с данными, должен иметься по крайней мере один язык, выразимый в виде командных строк в некотором удобном синтаксисе, который бы позволял формулировать:

    • Определение данных;
    • Определение правил целостности;
    • Манипулирование данными (в диалоги и из программы);
    • Определение выводимых таблиц (в том числе возможности их модификации);
    • Определение правил авторизации;
    • Границы транзакций.


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

  • Правило модификации таблиц. В СУБД должен существовать корректный алгоритм, позволяющий автоматически для каждой таблицы определять во время ее создания, может ли она использоваться для вставки и удаления строк и какие из столбцов допускают модификацию, и заносящий полученную таким образом информацию в системный каталог.

  • Правило множественности операций. Возможность оперирования базовыми или выводимыми таблицами распространяется полностью не только на выдачу информации из БД, но и на вставку, модификацию и удаление данных.



Правило физической независимости. Диалоговые операторы и прикладные программы на логическом уровне не должны страдать от каких-либо изменений во внутреннем хранении данных или в методах доступа СУБД.

  • Правило физической независимости. Диалоговые операторы и прикладные программы на логическом уровне не должны страдать от каких-либо изменений во внутреннем хранении данных или в методах доступа СУБД.

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



Правило сохранения целостности. Диалоговые операторы и прикладные программы не должны изменяться при изменении правил целостности в БД (задаваемых языком работы с данными и хранимых в системном каталоге).

  • Правило сохранения целостности. Диалоговые операторы и прикладные программы не должны изменяться при изменении правил целостности в БД (задаваемых языком работы с данными и хранимых в системном каталоге).

  • Правило независимости от распределенности. Диалоговые операторы и прикладные программы на логическом уровне не должны страдать от совершаемого физического разнесения данных (если первоначально СУБД работала с нераспределенными данными) или перераспределения (если СУБД действительно распределенная).

  • Правило ненарушения реляционного языка. Если в реляционной СУБД имеется язык низкого уровня (для работы с отдельными строками), он не должен позволять нарушать или “обходить” правила, сформулированные на языке высокого уровня (множественном) и занесенные в системный каталог.



Элементы разработки реляционных БД

  • Модель описания данных “сущность-связь” (ER-модель)

  • Основные элементы:

    • множества сущностей,
    • атрибуты,
    • связи.
  • Сущность – это абстрактный объект определенного вида. Набор однородных сущностей образует множество сущностей.

  • Множеству сущностей отвечает набор атрибутов, являющихся свойствами отдельных его представителей.

  • Связи – это отношения между двумя или большим числом множеств сущностей.



Пример



Теория нормальных форм

  • Основные определения