
- •Тема 4. Базы и хранилища данных
- •Каждый атрибут хранит информацию об определенном свойстве сущности, а каждый экземпляр сущности должен быть уникальным.
- •Пример:
- •4. Манипулирование данными в реляционной модели, операции реляционной алгебры.
- •Специальные операции реляционной алгебры
- •5. Оптимизация схем отношений, нормальные формы, построение рациональной схемы отношений путем нормализации.
- •Критерии для оценки влияние логического моделирования данных на качество физических моделей данных и производительность бд:
Специальные операции реляционной алгебры
Выборка (горизонтальный выбор, или операция фильтрации, или операция ограничения отношений). Для определения этой операции необходимо ввести дополнительные обозначения.
Результатом операции выбора, или фильтрации, заданной на отношении R в виде булево выражения, определенного на атрибутах отношения R, называется отношение R[α], включающее те кортежи из исходного отношения, для которых истинно условие выбора или фильтрации: R[α (r)] = {r | r R α (r) = "Истина"}
Операция фильтрации является одной из основных при работе с реляционной моделью данных. Условие α может быть сколь угодно сложным.
Проекция отношения (Операция проектирования). Требует наличия двух операндов – проецируемого отношения R и подмножества множества имен атрибутов, входящих в заголовок отношения R. Это построение вертикального подмножества отношения, т.е. подмножества кортежей, получаемого выбором одних и исключением других атрибутов.
При выполнении операции проекции выделяется «вертикальная» вырезка отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов.
Иногда называется операцией вертикального выбора, позволяет получить только требуемые характеристики моделируемого объекта. Чаще всего операция проектирования употребляется как промежуточный шаг в операциях горизонтального выбора, или фильтрации. Кроме того, она используется самостоятельно на заключительном этапе получения ответа на запрос.
Соединение отношений (Операция условного соединения). Это процесс, когда две или более таблицы объединяются в одну. В отличие от фильтрации и проектированич, которые являются унарными, операция условного соединения является бинарной, то есть исходными для нее являются два отношения, а результатом — одно.
Существуют различные типы операций соединения (в разных книгах могут быть разные классификации):
тета-соединение (внутреннее соединение) - используется, когда нужно включить все строки из обеих таблиц, удовлетворяющие условию объединения. В этом случае строится декартово произведение строк первой и второй таблиц, а из полученного набора данных отбираются записи, удовлетворяющие условиям объединения;
соединение по эквивалентности;
естественное соединение;
внешнее соединение;
полусоединение.
В условиях объединения могут участвовать поля, относящиеся к одному и тому же типу данных и содержащие один и тот же вид данных, но они не обязательно должны иметь одинаковые имена. Блоки данных из двух таблиц объединяются, как только в указанных полях будут найдены совпадающие значения.
Если предикат F содержит только оператор равенства (=), то соединение называется соединением по эквивалентности.
Естественным соединением называется соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам, из результатов которого исключается по одному экземпляру каждого общего атрибута.
Внешнее соединение похоже на внутреннее, но в результирующий набор данных включаются также записи ведущей таблицы соединения, которые объединяются с пустым множеством записей другой таблицы.
Какая из таблиц будет ведущей, определяет вид соединения.
LEFT - левое внешнее соединение, ведущей является таблица, расположенная слева от вида соединения.
Левым внешним соединением называется соединение, при котором кортежи отношения R, не имеющие совпадающих значений в общих столбцах отношения S, также включаются в результирующее отношение.
RIGHT - правое внешнее соединение, ведущая таблица расположена справа от вида соединения.
Правое внешнее соединение, называемое так потому, что в результирующем отношении содержатся все кортежи правого отношения.
Полное внешнее соединение - в его результирующее отношение помещаются все кортежи из обоих отношений, а для обозначения несовпадающих значений кортежей в нем используются определители NULL.
Операция полусоединения определяет отношение, содержащее те кортежи отношения R, которые входят в соединение отношений R и S (выбор тех R.a1, R.a2, для которых R.a2=S.b1)
Операция деления выполняется над двумя отношениями А и В, где А - отношение-делимое, а B - отношение-делитель. При этом атрибуты B должны являться подмножеством атрибутов A. Результатом выполнения операции деления является отношение С, которое включает в себя атрибуты отношения А, отличные от атрибутов отношения В, и только те кортежи, декартовы произведения которых с отношением В дают отношение А.