Операции реляционной алгебры -соединение Соединением отношений A(A 1, A 2 …A n ) и B(B 1, B 2 … B n ) по операции :A 1 xA 2 x…A n xB 1 xB 2 …B n {T|F} называется новое отношение, содержащее все кортежи, получаемые путем соединения кортежей из исходных A и B и удовлетворяющие условию (A:B) = T.
Пример Заказы Id_клиентаТоварСтатус 1КартошкаДоставлено 1ОгурцыНа складе 2ПомидорыНа складе Клиенты IdИмя 1Вася Пупкин 2Петя Васечкин : Заказы.id_клиента == Клиенты.id && Заказы.Статус != Доставлено Заказы Клиенты Id_клиентаТоварСтатусIdИмя 1ОгурцыНа складе1Вася Пупкин 2ПомидорыНа складе2Петя Васечкин
Эквисоединение Если операция представляет из себя равенство каких-либо полей (наборов полей), то такое соединение называется эквисоединением. Пример: : Заказы.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 – посредником.
Пример A F1F B F3F C F1F2F3F A divide by B per C F1F2 12
Реляционная БД Реляционная база данных – это набор реляционных отношений (таблиц) и только их. Никаким другим образом (переменные, массивы) данные не представлены. Над реляционными таблицами можно осуществлять только операции описанные реляционной алгеброй. Причем результатом всех операции также являются реляционные отношения.
12 правил Кодда разработки реляционной СУБД 0.Основное (подразумеваемое правило). Система, которая рекламируется или провозглашается поставщиком как реляционная СУБД должна управлять базами данных исключительно способами, соответствующими реляционной модели. 1.Информационное правило. Вся информация, хранимая в реляционной базе данных, должна быть явно, на логическом уровне, представлена единственным образом: в виде значений в реляционных таблицах.
2.Правило гарантированного логического доступа. К каждому имеющемуся в реляционной базе атомарному значению должен быть гарантирован доступ с помощью указания имени реляционной таблицы, значения первичного ключа и имени столбца. 3.Правило наличия значения. В полностью реляционной СУБД должны иметься специальные индикаторы (отличные от пустой символьной строки или строки из одних пробелов и отличные от нуля или какого-либо другого числового значения) для выражения (на логическом уровне, систематично и независимо от типа данных) того факта, что значение отсутствует по меньшей мере по двум различным причинам: его действительно нет, либо оно неприменимо к данной позиции. СУБД должна не только отражать этот факт, но и распространять на такие индикаторы свои функции манипулирования данными независимо от их типа.
4.Правило динамического диалогового реляционного каталога. Описание базы данных выглядит логически как обычные данные, так что авторизованные пользователи и прикладные программы могут употреблять для работы с этим описанием тот же реляционный язык, что и при работе с обычными данными. 5.Правило полноты языка работы с данными. Сколько бы много в СУБД ни поддерживалось языков и режимов работы с данными, должен иметься по крайней мере один язык, выразимый в виде командных строк в некотором удобном синтаксисе, который бы позволял формулировать: –Определение данных; –Определение правил целостности; –Манипулирование данными (в диалоги и из программы); –Определение выводимых таблиц (в том числе возможности их модификации); –Определение правил авторизации; –Границы транзакций.
6.Правило модификации таблиц. В СУБД должен существовать корректный алгоритм, позволяющий автоматически для каждой таблицы определять во время ее создания, может ли она использоваться для вставки и удаления строк и какие из столбцов допускают модификацию, и заносящий полученную таким образом информацию в системный каталог. 7.Правило множественности операций. Возможность оперирования базовыми или выводимыми таблицами распространяется полностью не только на выдачу информации из БД, но и на вставку, модификацию и удаление данных.
8.Правило физической независимости. Диалоговые операторы и прикладные программы на логическом уровне не должны страдать от каких-либо изменений во внутреннем хранении данных или в методах доступа СУБД. 9.Правило логической независимости. Диалоговые операторы и прикладные программы на логическом уровне не должны страдать от таких изменений в базовых таблицах, которые сохраняют информацию и теоретически допускают неизменность этих операторов и программ.
10.Правило сохранения целостности. Диалоговые операторы и прикладные программы не должны изменяться при изменении правил целостности в БД (задаваемых языком работы с данными и хранимых в системном каталоге). 11.Правило независимости от распределенности. Диалоговые операторы и прикладные программы на логическом уровне не должны страдать от совершаемого физического разнесения данных (если первоначально СУБД работала с нераспределенными данными) или перераспределения (если СУБД действительно распределенная). 12.Правило ненарушения реляционного языка. Если в реляционной СУБД имеется язык низкого уровня (для работы с отдельными строками), он не должен позволять нарушать или обходить правила, сформулированные на языке высокого уровня (множественном) и занесенные в системный каталог.
Элементы разработки реляционных БД Модель описания данных сущность-связь (ER- модель) Основные элементы: a)множества сущностей, b)атрибуты, c)связи. Сущность – это абстрактный объект определенного вида. Набор однородных сущностей образует множество сущностей. Множеству сущностей отвечает набор атрибутов, являющихся свойствами отдельных его представителей. Связи – это отношения между двумя или большим числом множеств сущностей.
Пример Фильмы Актеры Студии Название Год Жанр Ф.И.О.Адрес НазваниеАдрес Снимались Владеет
Теория нормальных форм Основные определения