В настоящее время в связи с огромными возможностями компьютеров и интенсивным развитием внешних запоминающих устройств для обработки и хранения больших масштабов информации, компьютер применяется для решения широкого круга информационных задач буквально во всех сферах человеческой деятельности. Результатом решения таких задач является создание информационных систем, которые имеют дело с базами данных, представляющих собой набор взаимосвязанных данных о некоторой предметной области. Базы данных (БД) имеют определенную структуру и постоянно хранятся в памяти компьютера.
Для управления такими данными разрабатываются системы управления базами данных (СУБД), которые представляют собой комплекс программных и языковых средств, необходимых для создания БД, поддерживания их в актуальном состоянии и организации поиска в них необходимой информации [1-2].
Структура БД тесно связана с понятием модели данных, с помощью которой могут быть представлены объекты предметной области и взаимосвязи между ними. Модель данных – это совокупность структур данных и операций их обработки. Каждая СУБД поддерживает ту или иную модель данных. По способу организации данных СУБД основываются на использовании четырех основных видов моделей: иерархической, сетевой, реляционной и объектной. Исторически первыми появились иерархическая и сетевая модели, а реляционная модель появилась позже. На сегодняшний день она является доминирующей на рынке СУБД, хотя в последнее время появляются и получают все большее распространение модели данных, которые используют объектный подход для организации данных.
Реляционная БД – это модель таблиц, и она базируется на математическом понятии отношения.
Характерной особенностью реляционной модели данных является подход к данным как абстрактным объектам, существующим самостоятельно. При этом содержательный смысл данных и связь с объектами предметной области информационной системы остаются за пределами БД. В настоящее время в разработке реляционных БД наиболее перспективным является алгебраический подход, основанный на использовании реляционной алгебры.
В связи с этим в данной работе рассмотрены основные операции реляционной алгебры с использованием теоретико-множественного подхода и приведен пример выполнения этих операций над отношениями с определенным содержанием.
Основными понятиями реляционных баз данных является: тип данных, домен, атрибут, кортеж, первичный ключ, отношение [3]. Соотношение между этими понятиями показаны на рис. 1.
О т н о ш е н и е |
Студент |
Номер: ID |
Фамилия: NAME |
Номер группы: GD |
Пол: SEX |
|
Кортежи |
1 |
Алексеев |
М-101 |
М |
Мощность |
|
2 |
Кирилов |
М-101 |
М |
|||
3 |
Крылова |
М-102 |
Ж |
|||
4 |
Петров |
М-102 |
М |
|||
|
Степень
Рис. 1. Соотношение между основными понятиями реляционной БД.
Отношение – фундаментальное понятие реляционной модели данных, которое задается перечнем своих элементов и перечислением их значений. Математически отношение – это множество картежей и является подмножеством декартового произведения фиксированного числа областей ( доменов). Таким образом, n-арным отношением R называют подмножество декартового произведения доменов
Домены являются допустимыми потенциальными множествами значений донного типа. Типы данных в теории реляционных БД соответствуют типам данных в языках программирования.
Отношение графически можно представить в виде таблицы, столбцы которой называются атрибутами и соответствуют вхождениям доменов в отношение. Количество атрибутов отношения называют его степенью. Количество картежей – мощностью (кардинальностью).
Схемой (заголовком) отношения называют множество пар (A, D), где A – название атрибута, D – соответствующий домен.
Ряды таблицы называются кортежами и являются упорядоченными наборами из n значений (A, D, v), где v – соответствует значениям атрибута.
Телом отношения называется неупорядоченное множество разных кортежей. Поле таблицы – это значение, лежащее на пересечении строки и столбца.
служит для однозначной идентификации записи в таблице.
Начнем обсуждение операций преобразования отношений (таблиц).
Для оперирования с таблицами (отношениями) необходимо уметь описывать их формально. Теоретическое описание может быть выполнено с использованием правил реляционной алгебры [2].
Пусть – множество всех замкнутых формул системы α..
Если формула то говорят, что модель M удовлетворяет если φ истинно на M.
Пусть . Формула ψ называется следствием γ (выводима из γ), если из ψ·M следует φ·Mдля любой моделиM.
Любое отношение, построенное правильно с помощью принятой системы операторов и отображений, называется алгебраическим выражением. Пусть V– универсум (множество атрибутов); D – множество доменов; dom – полная функция из V (domV); – множество схем отношений; – множество всех отношений – множество бинарных отношений (условий над доменами из D); О – множество операторов (операций), использующих атрибуты из V и отношения из ϴ.
Реляционная алгебра над V, D, dom, R, d, ϴ есть семиместный кортеж
В реляционной алгебре выделяют следующие операции: проекция (обозначается или P в разных источниках), селекция ( или S), соединение (J), объединение (V), разность (DF), деление, пересечение, декартово произведение (CP). Пусть имеются два отношения R(A,B,C) P(D,E,F). Объединение, пересечение и вычитание (разность) выполняется над отношениями одинаковой арности [2, c.85].
Операция объединения V(R,P) – без повторения строк:
a b c |
m n o |
a b c |
d e f |
g h i |
d e f |
g h i |
g h i |
|
j k l |
j k l |
|
m n o |
Разность (DF(R,P)) – из R удаляются строки, имеющиеся в P:
a b c |
m n o |
a b c |
d e f |
g h i |
d e f |
g h i |
j k l |
|
j k l |
||
Декартово произведение (CP(R,P)) – к каждой записи отношения R добавляются каждая запись отношения P:
a b c |
m n o |
a b c m n o |
d e f |
g h i |
a b c g h i |
g h i |
d e f m n o |
|
j k l |
d e f g h i |
|
g h i m n o |
||
g h i g h i |
||
j k l m n o |
||
j k l g h i |
Проекция где S(A) – список доменов результирующего отношения из числа доменов отношения R: выбираются и упорядочиваются столбцы и удаляется избыточность из строк:
a b c |
b c |
d b c |
d k |
a d k |
Селекция (выбор) где – исходное отношение n-арности; – атрибут отношения R; ϴ – логическое условие
a b c |
a b c |
d b c |
a d k |
a d k |
Соединение :
a b c |
d c |
a b c d c |
d b c |
b a |
d b c d c |
a d k |
b b |
a d k b a |
a d k b b |
Деление
Операции идут на бинарном (делимое) и унарном (делитель) отношениях, а результат (частное) получается унарным отношением. Элемент xпоявляется в результирующем отношении, если пары имеются в делимом для всех значений элемента y, присутствующих в делители. Частное – те левосторонние компоненты делимого, чьи правосторонние элементы включают любую компоненту делителя:
1 a |
||
1 b |
3 |
|
1 c |
5 |
|
1 d |
||
2 a |
||
3 c |
b |
|
4 b |
c |
|
5 c |
d |
Наиболее часто используются операции селекции (S, проекции (P) и соединения (J), называемые S – операциями [2].
Приведем пример выполнения операции реляционной алгебры.
Пример 1. Имеются две таблицы:
Т1 |
Т2 |
|||
Шифр студента |
ФИО |
Шифр студента |
ФИО |
|
1 |
Иванов И.И |
1 |
Иванов И.И |
|
3 |
Петров П.П |
2 |
Зайцев О.О |
|
5 |
Сидоров С.С |
3 |
Петров П.П |
|
7 |
Семенов А.А |
4 |
Волков В.В |
Найти: а) объединение таблиц Т1 и Т2; б) пересечение таблиц Т1 и Т2; в) разность таблиц Т1 и Т2.
Решение 1:
а) |
ШС |
ФИО |
б) |
ШС |
ФИО |
1 |
Иванов И.И. |
1 |
Иванов И.И. |
||
2 |
Зайцев О.О |
3 |
Петров П.П |
||
3 |
Петров П.П |
||||
4 |
Волков В.В |
в) |
ШС |
ФИО |
|
5 |
Сидоров С.С |
5 |
Сидоров С.С |
||
7 |
Семенов А.А |
7 |
Семенов А.А |
Пример 2. Имеются две таблицы:
Т3 |
Т4 |
|
Дисциплина |
ФИО |
|
Математика |
Петров П.П |
|
Информатика |
Волков В.В |
Найти произведение таблиц Т3 и Т4.
Решение 2.
Дисциплина |
ФИО |
Математика |
Петров П.П. |
Математика |
Волков В.В. |
Информатика |
Петров П.П. |
Информатика |
Волков В.В. |
Пример 3. Имеются две таблицы:
Т5 |
Т6 |
|||
Дисциплина |
ФИО |
Дисциплина |
Количество часов |
|
Математика |
Иванов И.И. |
|||
Математика |
Петров П.П. |
Математика |
100 |
|
Физкультура |
Сидоров С.С. |
Информатика |
120 |
|
Информатика |
Семенов А.А. |
Физкультура |
200 |
Найти произведение таблиц Т5 и Т6
Решение 3. Эта операция предназначена для соединения двух отношений с разными схемами. Пусть rотношение со схемой R, s, – отношение со схемой S, Т – множество атрибутов, входящих в схему R и в схему S Результатом выполнения операции соединения является новое отношение, схема которого состоит из всех атрибутов схемы S, при этом одинакове атрибуты не дублируются. Каждый кортеж этого отношения является комбинацией кортежа из отношения r и кортежа из отношения s с равными значениями атрибутов, входящих во множество Т:
ФИО |
Дисциплина |
Количество часов |
Иванов И.И. |
Математика |
100 |
Петров П.П. |
Математика |
100 |
Сидоров С.С. |
Физкультура |
200 |
Семенов А.А. |
Информатика |
120 |
Пример 4. Что является результатом операции деления таблиц:
ФИО |
ФИО |
Дисциплина |
Дисциплина |
||
Иванов И.И. |
Иванов И.И. |
Математика |
Математика |
||
Петров П.П. |
Петров П.П. |
Информатика |
|||
Сидоров С.С. |
Сидоров С.С. |
Математика |
Решение 4:
ФИО |
|
Иванов И.И. |
|
Сидоров С.С. |
Пример 5. Что является результатом операции выборки над данной таблицей при условии, что (Средний OR (Шифр студента ≠ 1)?
Шифр студента |
ФИО |
Средний бал |
1 |
Иванов И.И |
3,5 |
2 |
Зайцев О.О |
4,2 |
3 |
Петров П.П |
4,4 |
4 |
Волков В.В |
2,8 |
Решение 5: Учитывая логическое условие OR(ИЛИ), можно получить:
ФИО |
Иванов И.И. |
Сидоров С.С. |
Пример 6. Что является результатом операции проекция, выполненной над данной таблицей, если необходимо исключить атрибут “Средний бал”?
Шифр студента |
ФИО |
Средний бал |
1 |
Иванов И.И |
3,5 |
2 |
Зайцев О.О |
4,2 |
3 |
Петров П.П |
4,4 |
4 |
Волков В.В |
2,8 |
Решение 6: Операция проекции выполняется для двух атрибутов: “Шифр студента” и “ФИО”:
Шифр студента |
ФИО |
1 |
Иванов И.И |
2 |
Зайцев О.О |
3 |
Петров П.П |
4 |
Волков В.В |
Выводы. В данной работе рассмотрены основные понятия реляционной модели данных. На основе теоретико-множественного подхода рассмотрены основные операции реляционной алгебры и приведены примеры выполнения этих операций над отношениями с определенным содержанием.
Список литературы.
Чудинов И.Л., Осинова В.В. Базы данных: учебное пособие / Томский политехнический университет. – Томск: Издательство Томского политехнического университета, 2012. – 140 с.
Советов Б.Я. Базы данных: теория и практика: учебник для бакалавров / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовский. – 2–е изд. – М.: Издательство Юрайт, 2014. – 463 с.
Мулеса О.Ю. Інформаційні системи та реляційні бази даних. Навчальний посібник. – Електронне видання, 2018. – 118 с.