У
управление данными
распределенное, 203
удаленное, 203
уровни изолированности пользователей, 241 Ф
файловая система, 286
файлы, 11, 163, 192, 286
индексно-последовательные, 170, 174
индексно-прямые, 170
последовательного доступа, 165
прямого доступа, 164, 166
с неплотным индексом, 170, 174
с плотным индексом, 170
физическая независимость, 22
функции
ввода и отображения данных, 201
обработки данных, 201
управления информационными ресурсами, 201
функциональная зависимость, 112 Х
хранилища данных, 295
хранимые процедуры, 259, 270, 277
хэш-функция, 167 Ц
целостность реляционной модели, 135
ограничения целостности, 138, 139
семантическая поддержка целостности, 137
ссылочная целостность, 137
структурная целостность, 136
языковая целостность, 137
централизованная архитектура, 203 Ч
чанк, 185 Э
эквивалентные схемы БД, 112
экстент, 185, 192
элемент данных, 40
Практикум по решению задач
Реляционная алгебра
Алгеброй называется множество объектов с заданной на нем совокупностью операций, замкнутых относительно этого множества, называемого основным множеством. Основным множеством в реляционной алгебре является множество отношений.
Начальный вариант алгебры был предложен Коддом. В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:
объединения отношений;
пересечения отношений;
взятия разности отношений;
прямого произведения отношений.
Специальные реляционные операции включают:
ограничение отношения -выборка;
проекцию отношения;
соединение отношений (естественное);
деление отношений.
Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения. Поскольку результатом любой реляционной операции (кроме операции присваивания) является некоторое отношение, можно образовывать реляционные выражения, в которых вместо отношения-операнда некоторой реляционной операции находится вложенное реляционное выражение
Теоретико-множественные операции реляционной алгебры
Объединением двух отношений называется отношение, содержащее множество кортежей, принадлежащих либо первому, либо второму исходным отношениям, либо обоим отношениям одновременно.
С операцией объединения связано понятие совместимости отношений по объединению: два отношения совместимы по объединению в том и только в том случае, когда обладают одинаковыми заголовками. Более точно, это означает, что в заголовках обоих отношений содержится один и тот же набор имен атрибутов, и одноименные атрибуты определены на одном и том же домене. То есть, можно сказать отношения имеют одну и ту же форму.
Пусть заданы два отношения R1 ={r1}, R2 = {r2}, где r1 и r2 соответственно кортежи отношений R1 и R2, то объединение
Здесь r – кортеж нового отношения,
- операция логического сложения ”ИЛИ” Пересечением отношений называется отношение, которое содержит множество кортежей, принадлежащих одновременно и первому R1 и второму R2 отношениям.
з десь
-операция логического умножения (логическое «И»)
Разностью отношений R1 и R2 называется отношение, содержащее множество кортежей, принадлежащих R1, и не принадлежащих R2.
R = R1 \ R2 = {r | r R1 | r R2}
Операции объединения и пересечения являются коммутативными операциями. Операция разности является несимметричной операцией.
Примеры использования этих операций:
Исходными являются три отношения:
R1 = (ФИО, Группа, Предмет)
R2 = (ФИО, Группа, Предмет)
R3 = (ФИО, Группа, Предмет)
Отношение R1 содержит список студентов, допущенных к экзаменационной сессии, сдавшие досрочно экзамены (тесты) на оценку 5 (отлично) и засчитанные в качестве экзаменационных оценок.
Отношение R2 содержит список студентов, сдающих экзамены в обычном порядке.
Отношение R3 содержит список студентов, сдавших экзамены успешно на «хорошо» и «отлично» и в назначенные сроки.
Ответы на следующие вопросы
С писок студентов, которые сдавали экзамены два раза и не получили успешных результатов
Список студентов, которые успешно сдали экзамены с первого раза
С писок студентов, которые сдали экзамены успешно только со второго раза
Список студентов, которые сдавали экзамены только один раз и не сдали успешно
т.е это студенты, которые присутствуют в R1 и не присутствуют в R2, и те, кто присутствует в R2 и не в R1. И никто из них не присутствует в R3.
Расширенным декартовым произведением отношения R1 степени n со схемой
SR1= (A1, A2, … An )
и отношения R2 степени m со схемой
SR2= (B1, B2, … Bm )
Называется отношение R3 степени n+m со схемой
SR3= (A1, A2, … An , B1, B2, … Bm ),
Содержащее кортежи, полученные сцеплением каждого кортежа r отношения R1 с каждым кортежем q отношения R2
То есть если R1 = { r } , R2 ={ q }
Операцию декартова произведения с учетом возможности перестановки атрибутов в отношении можно считать симметричной. Специальные операции реляционной алгебры
Операция выборки
Операция выборки это некоторое горизонтальное сечение нашего отношения, т.е. множество кортежей, являющееся подмножеством исходного отношения. Обозначение выборки: A WHERE c Здесь: A - исходное отношение, c некоторое условие; результатом выборки является отношение, заголовок которого совпадает с заголовком исходного отношения, а тело является множеством кортежей, при подстановке атрибутов которых в заданное условие оно принимает истинное значение. Операцию выборки также называют операцией горизонтального выбора, или операцией фильтрации, или операцией ограничения отношений. Результатом операции выбора, заданной на отношении R в виде булевского выражения, определенного на атрибутах отношения R, называется отношение R[α], включающее те кортежи из исходного отношения, для которых истинно условие выбора или фильтрации:
Операция фильтрации является одной из основных при работе с реляционной моделью данных. Условие α может быть сколь угодно сложным.
Операция проектирования
Пусть R – отношение , SR = (A1, … , An) -схема отношения R.
Через В обозначим подмножество [Ai] ;
При этом пусть B1 – множество атрибутов из {Ai} , не вошедших в B.
Если , и
то r[B],
Проекцией отношения R на набор атрибутов B, обозначаемой R[B], называется отношение со схемой, соответствующей набору атрибутов B S R[B], содержащему кортежи, получаемые из кортежей исходного отношения R путем удаления из них значений, не принадлежащих атрибутам из набора B.
По определению отношений все дублирующие кортежи удаляются из результирующего отношения. . В квадратных скобках задается список атрибутов, которые присутствуют в результирующем отношении
Проекция напоминает выборку в том плане, что тоже представляет сечение отношения, но уже вертикальное. Если вновь прибегнуть к представлению отношения в виде таблицы, то выборку можно представить себе как вычеркивание некоторых строк из таблицы, а проекцию как вычеркивание некоторых столбцов. Операция условного соединения
Операция условного соединения является бинарной, т.е. исходными для нее являются два отношения, а результатом - одно.
Пусть R = { r }, Q = { q }- исходные отношения
SR SQ -схемы отношений R и Q соответственно.
SR = (A1, A2, …, Ak); SQ = (B1, B2, …, Bm),
где Ai, Bj –имена атрибутов в схемах отношений R и Q соответственно.
При этом полагаем, что заданы наборы атрибутов A и B
и эти наборы состоят из -сравнимых атрибутов.
Тогда соединением отношений R и Q при условии будет подмножество декартова произведения отношений R и Q, кортежи которого удовлетворяют условию , рассматриваемому как одновременное выполнение условий:
, где k- число атрибутов, входящих в наборы A и B, а конкретная операция сравнения.
- i –й предикат сравнения, определяемый из множества допустимых на домене Di операций сравнения.
Например, пусть отношение R содержит перечень деталей с указанием материалов, из которых эти детали изготавливаются и оно имеет вид: R
| ШифрДетали
| НазваниеДетали
| Материал
| 11073
| Гайка М1
| Сталь –ст2
| 11075
| Гайка М2
| Сталь ст5
| 11076
| Гайка М3
| Сталь ст3
| 11003
| Винт М1
| Сталь ст3
| 11005
| Винт М3
| Сталь ст5
| 13062
| Шайба М2
| Сталь ст5
| 13063
| Шайба М1
| Сталь ст5
| 13066
| Шайба М3
| Сталь ст5
| 11077
| Гайка М4
| Сталь ст2
| 11004
| Винт М2
| Сталь ст3
| 11007
| Винт М5
| Сталь ст3
| и отношение Q содержит перечень деталей с указанием цеха-изготовителя Q
| ШифрДетали
| НазваниеДетали
| Цех
| 11073
| Гайка М1
| Цех 1
| 11075
| Гайка М2
| Цех 1
| 11076
| Гайка М3
| Цех 1
| 11003
| Винт М1
| Цех 2
| 11005
| Винт М2
| Цех 2
| 13062
| Шайба М2
| Цех 1
| Требуется получить перечень деталей, которые изготавливаются в цеху 1 из материала “Сталь- ст5”
-
11075
| Гайка М2
| 13062
| Шайба М2
| Операция деления отношений
Пусть R -отношение со схемой SR = (A1, A2, ... , Ak);
Пусть А= некоторый набор атрибутов
A 1 - набор атрибутов, не входящих в множество A.
Пересечение множеств A и A1 : пусто
О бъединение множеств равно множеству всех атрибутов исходного отношения :
Тогда множеством образов элемента y проекции R[A] называется множество таких элементов y проекции R[ A1 ], для которых сцепление (x,y) является кортежами отношения R, то есть
-множество образов.
Например, для отношения R множеством образов по материалу «Сталь ст2» будет множество кортежей
R.Материал={<11073, Гайка М1, «Сталь ст2» >,
<11077, Гайка М4, «Сталь ст2» >}
Теперь определим операцию деления.
Пусть даны два отношения R и T соответственно со схемами:
SR = (A1, A2, ..., Ak); ST = (B1, B2, ..., Bm);
A и B -наборы атрибутов этих отношений, одинаковой длины (без повторений).
А
трибуты A1 -это атрибуты из R, не вошедшие в множество A
Пересечение множеств
и
Проекция R[A] и T[B] совместимы по объединению, то есть имеют эквивалентные схемы:
SR[A] ~ ST[B] Тогда операция деления ставит в соответствие отношениям R и T отношение Q=R[A:B]T, кортежи которого являются теми элементами проекции R[A1], для которых T[B] входит в построенные для них множество образов.:
Операция деления удобна тогда, когда требуется сравнить некоторое множество характеристик отдельных атрибутов. Например, имеется отношение R, которое содержит список всех выпускаемых деталей на предприятии, а в отношении Q содержатся в какаих цехах эти детали выпускаются
R
| ШифрДетали
| НазваниеДетали
| 11073
| Гайка М1
| 11075
| Гайка М2
| 11076
| Гайка М3
| 11003
| Винт М1
| 11005
| Винт М3
| 13062
| Шайба М2
| 13063
| Шайба М1
| 13066
| Шайба М3
| 11077
| Гайка М4
| 11004
| Винт М2
| 11007
| Винт М5
| Q
| ШифрДетали
| НазваниеДетали
| Цех 1
| 11073
| Гайка М1
| Цех 1
| 11075
| Гайка М2
| Цех 1
| 11076
| Гайка М3
| Цех 1
| 11003
| Винт М1
| Цех 1
| 11005
| Винт М3
| Цех 1
| 13062
| Шайба М2
| Цех 1
| 13063
| Шайба М1
| Цех 1
| 13066
| Шайба М3
| Цех 1
| 11077
| Гайка М4
| Цех 1
| 11004
| Винт М2
| Цех 1
| 11007
| Винт М5
| Цех 1
| 11073
| Гайка М1
| Цех 2
| 11075
| Гайка М2
| Цех 2
| 11076
| Гайка М3
| Цех 2
| 11003
| Винт М1
| Цех 2
| 11005
| Винт М3
| Цех 2
| 13062
| Шайба М2
| Цех 2
| 13063
| Шайба М1
| Цех 2
| 13066
| Шайба М3
| Цех 2
| 11077
| Гайка М4
| Цех 2
| 11004
| Винт М2
| Цех 2
| 11007
| Винт М5
| Цех 2
| 11075
| Гайка М2
| Цех 3
| 11076
| Гайка М3
| Цех 3
| 11003
| Винт М1
| Цех 3
| 11005
| Винт М3
| Цех 3
| 13062
| Шайба М2
| Цех 3
| 11004
| Винт М2
| Цех 3
| 11007
| Винт М5
| Цех 3
| Требуется определить отношение T c перечнем цехов, в которых выпускается вся номенклатура деталей.
Пример использования операций реляционной алгебры для набора отношений, моделирующих сдачу сессии студентами
R1=<ФИО, Предмет, Оценка> R2<ФИО, Группа> R3<Группы, Предмет>
|