Теоретические основы СУРБД. Базовые понятия реляционных баз данных
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Базы данных
Тема 2. Теоретические основы СУРБД
Преподаватель: к.ф.н.,
доцент кафедры АСУ,
Муртазина М.Ш.
Powerpoint Templates
План
1. Историческая справка
2. Базовые понятия реляционных баз данных
3. Фундаментальные свойства отношений
4. Целостность реляционных данных
Powerpoint Templates
2
Историческая справка
1964 г. - идея повышения степени независимости
обрабатывающих программ от способов хранения и содержания
хранимых данных впервые была использована в концепции баз
данных путем разделения логического и физического уровней
хранения данных в исследованиях сотрудников фирмы IBM.
1966 г. – создана первая СУБД компанией
IBM в
сотрудничестве с компаниями Rockwell и Caterpillar для
космической программы Аполлон. Датой выпуска системы
считается 14 августа 1968 года.
1970 г. – реляционная модель предложена Э.Ф.Коддом в работе
«Реляционная модель данных для больших совместно
используемых банков данных» (прочитать можно по ссылке
http://citforum.ru/database/classics/codd/)
1974 г. - компания IBM начала исследовательский проект по
разработке РСУБД, получивший название System R.
Powerpoint Templates
3
Историческая справка
1975 г. - первый стандарт СУБД, разработанный ассоциацией
по языкам систем обработки данных – Conference of Data System
Language (CODASYL).
1986 г. – первая редакция стандарта языка SQL.
24 апреля 1989 г. – первый выпуск СУБД SQL Server.
Microsoft SQL Server — система управления реляционными
базами данных (РСУБД), разработанная корпорацией Microsoft.
Основной используемый язык запросов — Transact-SQL, создан
совместно Microsoft и Sybase. Transact-SQL является реализацией
стандарта ANSI/ISO по структурированному языку запросов (SQL)
с расширениями. Используется для работы с базами данных
размером от персональных до крупных баз данных масштаба
предприятия; конкурирует с другими СУБД в этом сегменте рынка.
Powerpoint Templates
4
Историческая справка
Хотя понятие реляционной модели данных первым ввел
основоположник реляционного подхода Э. Кодд, наиболее
распространенная трактовка реляционной модели данных
принадлежит известному популяризатору идей Э. Кодда
Кристоферу Дейту.
1975 г. – выходит книга К.Дейта «Введение в системы баз
данных», которая стала классической в теории СУБД.
Согласно трактовке К.Дейта, реляционная модель состоит из
трех частей, описывающих разные аспекты реляционного
подхода:
• структурной части,
• манипуляционной части,
• целостной части.
Powerpoint Templates
5
Базовые понятия
реляционных баз данных
В структурной части модели фиксируется, что единственной
структурой данных, используемой в реляционных БД, является
нормализованное n-арное отношение. Определяются понятия
доменов, атрибутов, кортежей, заголовка, тела и переменной
отношения.
В манипуляционной части модели определяются два
фундаментальных механизма манипулирования реляционными
БД – реляционная алгебра и реляционное исчисление.
Первый механизм базируется в основном на классической
теории множеств (с некоторыми уточнениями и добавлениями),
а второй – на классическом логическом аппарате исчисления
предикатов первого порядка.
Powerpoint Templates
6
Базовые понятия
реляционных баз данных
В
целостной
части
реляционной
модели
данных
фиксируются два базовых требования целостности, которые
должны поддерживаться в любой реляционной СУБД.
Требованием целостности сущности (entity integrity)
Требованием целостности по ссылкам (referential integrity) /
Требование целостности внешних ключей
Powerpoint Templates
7
Базовые понятия
реляционных баз данных
Основными понятиями реляционных баз данных являются:
•тип данных,
•отношение,
•атрибут,
•домен,
•кортеж,
•схема отношения,
•первичный ключ.
Powerpoint Templates
8
Базовые понятия
реляционных баз данных
Тип данных – это характеристика, определяющая, какого рода
данные будут храниться в объекте. У каждого столбца, выражения,
переменной или параметра есть определенный тип данных.
Отношение - это плоская (двумерная) таблица, состоящая из
столбцов и строк.
Атрибут - это поименованный столбец отношения.
Домен - это набор допустимых значений для одного или
нескольких атрибутов.
Кортеж - это строка отношения.
Первичный ключ - это уникальный идентификатор для таблицы.
Powerpoint Templates
9
Базовые понятия
реляционных баз данных
Powerpoint Templates
10
Базовые понятия
реляционных баз данных
Схема отношения - это именованное множество пар {имя
атрибута, имя домена (или типа, если понятие домена не
поддерживается)}.
Степень или "арность" схемы отношения - мощность этого
множества. Степень отношения СОТРУДНИКИ равна четырем,
то есть оно является 4-арным.
Схема БД (в структурном смысле) - это набор именованных
схем отношений.
Powerpoint Templates
11
Базовые понятия
реляционных баз данных
Схема отношения - это именованное множество пар {имя
атрибута, имя домена (или типа, если понятие домена не
поддерживается)}.
Степень или "арность" схемы отношения - мощность этого
множества. Степень отношения СОТРУДНИКИ равна четырем,
то есть оно является 4-арным.
Схема БД (в структурном смысле) - это набор именованных
схем отношений.
Реляционная база данных - это набор отношений, имена
которых совпадают с именами схем отношений в схеме БД.
Powerpoint Templates
12
Фундаментальные свойства
отношений
1. Отсутствие кортежей-дубликатов
В классической теории множеств по определению
каждое множество состоит из различных элементов.
Из этого свойства вытекает наличие у каждого
отношения так называемого первичного ключа набора атрибутов, значения которых однозначно
определяют кортеж отношения.
Powerpoint Templates
13
Фундаментальные свойства
отношений
2. Отсутствие упорядоченности кортежей
Отсутствие требования к поддержанию порядка на
множестве кортежей отношения дает дополнительную
гибкость СУБД при хранении баз данных во внешней
памяти и при выполнении запросов к базе данных.
Это не противоречит тому, что при формулировании
запроса к БД, например, на языке SQL можно потребовать
сортировки результирующей таблицы в соответствии со
значениями некоторых столбцов.
Такой результат, вообще говоря, не отношение, а
некоторый упорядоченный
кортежей.
Powerpointсписок
Templates
14
Фундаментальные свойства
отношений
3. Отсутствие упорядоченности атрибутов
Атрибуты отношений не упорядочены, поскольку по
определению схема отношения есть множество пар {имя
атрибута, имя домена}.
Для ссылки на значение атрибута в кортеже отношения
всегда используется имя атрибута. Это свойство
теоретически позволяет, например, модифицировать схемы
существующих отношений не только путем добавления
новых атрибутов, но и путем удаления существующих
атрибутов.
Powerpoint Templates
15
Фундаментальные свойства
отношений
4. Атомарность значений атрибутов
Значения всех атрибутов являются атомарными. Это
следует из определения домена как потенциального
множества значений простого типа данных, т.е. среди
значений домена не могут содержаться множества
значений (отношения).
Powerpoint Templates
16
Целостность реляционных данных
Целостность данных - это механизм поддержания
соответствия базы данных предметной области.
В реляционной модели данных определены два базовых
требования обеспечения целостности:
•целостность ссылок,
•целостность сущностей.
Powerpoint Templates
17
Целостность реляционных данных
Требование целостности
следующем:
сущностей
заключается
в
каждый кортеж любого отношения должен отличатся от
любого другого кортежа этого отношения (т.е. любое
отношение должно обладать первичным ключом).
Powerpoint Templates
18
Целостность реляционных данных
Требование целостности по ссылкам состоит в следующем:
для каждого значения внешнего ключа, появляющегося в
дочернем отношении, в родительском отношении должен
найтись кортеж с таким же значением первичного ключа.
Всего существует 3 типа связей:
•Один к одному,
•Один ко многим,
•Многие ко многим.
Powerpoint Templates
19
Целостность реляционных данных
Внешний ключ – это столбец или комбинация столбцов,
значения которых соответствуют первичному ключу в
другой таблице.
Пусть дано отношение R, подмножество атрибутов FK
отношения будем называть внешним ключом, если:
1.Существует отношение S ( S и R не обязательно
различны) с потенциальным ключом K.
2.Каждое значение FK в отношении R всегда совпадает со
значением K для некоторого кортежа из S, либо является
null-значением.
Отношение S называется родительским отношением,
отношение R называется дочерним отношением.
Powerpoint Templates
20
Целостность реляционных данных
Если внешний ключ обладает свойством уникальности, то
связь между отношениями имеет тип «один к одному».
На практике связь «один к одному» наблюдается не часто,
например при:
•разделение очень «широкой» таблицы на несколько таблиц
с целью облегчения работы;
•отделение части таблицы по соображениям защиты ее от
несанкционированного доступа.
Powerpoint Templates
21
Целостность реляционных данных
Внешний ключ, как правило, не обладает свойством
уникальности.
Так и должно быть, т.к. в дочернем отношении может быть
несколько кортежей, ссылающихся на один и тот же кортеж
родительского отношения. Это, собственно, и дает тип
отношения «один ко многим».
Powerpoint Templates
22
Целостность реляционных данных
Связь «многие ко многим» – это связь, при которой множественным
записям из одной таблицы (A) могут соответствовать множественные
записи из другой (B).
Связь «многие ко многим» создается с помощью трех таблиц.
Две таблицы – “источника” и одна соединительная таблица.
Первичный ключ соединительной таблицы A_B – составной. Она
состоит из двух полей, двух внешних ключей, которые ссылаются на
первичные ключи таблиц A и B.
Powerpoint Templates
23
Целостность реляционных данных
Т.к. внешние ключи фактически служат ссылками на
кортежи в другом (или в том же самом) отношении, то эти
ссылки не должны указывать на несуществующие
объекты. Это определяет следующее правило целостности
внешних ключей:
Правило целостности внешних ключей. Внешние ключи
не должны быть несогласованными, т.е. для каждого
значения
внешнего
ключа
должно
существовать
соответствующее
значение
первичного
ключа
в
родительском отношении.
Powerpoint Templates
24
Целостность реляционных данных
Ссылочная целостность может нарушиться в результате
операций, изменяющих состояние базы данных. Таких
операций три:
•вставка
•обновление
•удаление кортежей в отношениях.
Т.к. в определении ссылочной целостности участвуют два
отношения - родительское и дочернее, а в каждом из них
возможны три операции, то нужно рассмотреть шесть
различных вариантов.
Powerpoint Templates
25
Целостность реляционных данных
Для родительского отношения
Вставка кортежа в родительском отношении. При вставке кортежа в родительское
отношение возникает новое значение потенциального ключа. Т.к. допустимо
существование кортежей в родительском отношении, на которые нет ссылок из дочернего
отношения, то вставка кортежей в родительское отношение не нарушает ссылочной
целостности.
Обновление кортежа в родительском отношении. При обновлении кортежа в
родительском отношении может измениться значение потенциального ключа. Если есть
кортежи в дочернем отношении, ссылающиеся на обновляемый кортеж, то значения их
внешних ключей станут некорректными. Обновление кортежа в родительском
отношении может привести к нарушению ссылочной целостности, если это обновление
затрагивает значение потенциального ключа.
Удаление кортежа в родительском отношении. При удалении кортежа в родительском
отношении удаляется значение потенциального ключа. Если есть кортежи в дочернем
отношении, ссылающиеся на удаляемый кортеж, то значения их внешних ключей станут
некорректными. Удаление кортежей в родительском отношении может привести к
нарушению ссылочной целостности.
Powerpoint Templates
26
Целостность реляционных данных
Для дочернего отношения
Вставка кортежа в дочернее отношение. Нельзя вставить кортеж в дочернее
отношение, если вставляемое значение внешнего ключа некорректно. Вставка кортежа в
дочернее отношение привести к нарушению ссылочной целостности.
Обновление кортежа в дочернем отношении. При обновлении кортежа в дочернем
отношении можно попытаться некорректно изменить значение внешнего ключа.
Обновление кортежа в дочернем отношении может привести к нарушению ссылочной
целостности.
Удаление кортежа в дочернем отношении. При удалении кортежа в дочернем
отношении ссылочная целостность не нарушается.
Powerpoint Templates
27
Целостность реляционных данных
Таким образом, ссылочная целостность в принципе может
быть нарушена при выполнении одной из четырех
операций:
•Обновление кортежа в родительском отношении.
•Удаление кортежа в родительском отношении.
•Вставка кортежа в дочернее отношение.
•Обновление кортежа в дочернем отношении.
Powerpoint Templates
28
Целостность реляционных данных
Существуют две
целостности:
основные
стратегии
поддержания
ссылочной
RESTRICT (ОГРАНИЧИТЬ) - не разрешать выполнение операции,
приводящей к нарушению ссылочной целостности.
CASCADE (КАСКАДИРОВАТЬ) - разрешить выполнение требуемой
операции, но внести при этом необходимые поправки в других
отношениях так, чтобы не допустить нарушения ссылочной
целостности и сохранить все имеющиеся связи. Изменение начинается
в родительском отношении и каскадно выполняется в дочернем
отношении.
Эти стратегии являются стандартными и присутствуют во всех СУБД,
в которых имеется поддержка ссылочной целостности.
Powerpoint Templates
29
Спасибо за внимание!
Powerpoint Templates