Базы данных - edu.mmcs.sfedu.ru

48
Базы данных Основные понятия

Upload: others

Post on 20-Jul-2022

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Базы данных - edu.mmcs.sfedu.ru

Базы данных

Основные понятия

Page 2: Базы данных - edu.mmcs.sfedu.ru

Литература К.Дейт. Введение в системы баз данных. 7-е издание. : Пер. с англ. — М. : Издательский дом «Вильямс», 2000.–848с.

К.Дейт. SQL и реляционная теория. – М.: Символ-Плюс, 2010. -480с.

Гарсия–Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс.–М.: Издательский дом «Вильямс», 2004.-1088с.

Борри Х. Firebird: руководство разработчика баз данных.–СПб.:БХВ–Петербург, 2006.–1104с.

Е.П. Моргунов. PostgreSQL. Основы языка SQL. — СПб.: БХВ-Петербург, 2018. — 336 с.

Новиков Б. А. Основы технологий баз данных. — М.: ДМК Пресс, 2019. — 240 с.

2 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 3: Базы данных - edu.mmcs.sfedu.ru

Источники в интернете

www.sql.ru

firebirdsql.org

postgrespro.ru

edu.mmcs.sfedu.ru

3 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 4: Базы данных - edu.mmcs.sfedu.ru

Информационная система - программный комплекс, функции которого состоят в:

поддержке надежного долговременного хранения информации,

выполнении специфических для данного приложения преобразований информации и/или вычислений,

предоставлении пользователям удобного и легко осваиваемого интерфейса.

Информационные системы

4 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 5: Базы данных - edu.mmcs.sfedu.ru

банковские системы

системы резервирования авиационных или железнодорожных билетов

системы автоматизации управления

системы учета, биллинговые системы

системы поддержки принятия решений

и пр.

Примеры информационных систем

5 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 6: Базы данных - edu.mmcs.sfedu.ru

Файловые системы (последовательный доступ)

Проблемы

Большое время отклика

Полная перезапись данных

Хранение последовательных копий для восстановления

6 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 7: Базы данных - edu.mmcs.sfedu.ru

Файловые системы (прямой доступ)

Но проблемы остаются

О структуре информации знает только приложение

Нет средств согласования связанной по смыслу информации, возможно хранящейся в нескольких файлах

Сложность реализации алгоритмов обработки информации в терминах операций чтения/записи

Ограничение на параллельную обработку в многопользовательской среде

Нет средств корректного восстановления после сбоев

7 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 8: Базы данных - edu.mmcs.sfedu.ru

Что нужно ИС ? совместное хранение информации и метаданных, представляющих семантику информации

наличие средств, обеспечивающих управление данными

поддержание согласованности данных

наличие языка, обеспечивающего легкий доступ к информации

авторизация доступа к информации

обеспечение эффективной одновременной работы многих пользователей

возможность возврата после сбоя к некоторому предыдущему согласованному состоянию

возможность журнализации работы пользователей

8 Чердынцева М.И., ИММиКН ЮФУ, 2022

Page 9: Базы данных - edu.mmcs.sfedu.ru

Централизация управления данными

Чердынцева М.И., ИММиКН ЮФУ, 2022 9

Page 10: Базы данных - edu.mmcs.sfedu.ru

Комплекс программ, обеспечивающий потребности информационных систем, называется

Системой управления базами данных (СУБД)

В настоящее время используется термин «сервер баз данных»

База данных (БД) – это набор хранимых данных и их метаданных (описаний), используемых информационной системой/системами.

В настоящее время БД может хранить также алгоритмы обработки данных

Терминология

10 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 11: Базы данных - edu.mmcs.sfedu.ru

Основные функции СУБД Обеспечение физической независимости данных

Поддержка концептуальной модели предметной области (средства для работы с метаданными)

Обеспечение целостности информации

Поддержка языка доступа к информации (SQL)

Авторизация прав пользователей

Журнализация изменений состояния БД

Поддержка транзакций и обеспечение механизма фиксации и отката транзакций

Управление асинхронным выполнением транзакций в многопользовательском режиме

Обеспечение восстановления целостного состояния после сбоев

11

Чердынцева М.И., ИММиКН ЮФУ, 2022

Page 12: Базы данных - edu.mmcs.sfedu.ru

Архитектура СУБД (стандарт ANSI/SPARC 1971)

Внутренний

Концептуальный

Внешний (прикладной)

Уровни представления информации в БД

12 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 13: Базы данных - edu.mmcs.sfedu.ru

Концептуальный уровень

В основе архитектуры ANSI/SPARC лежит концептуальный уровень

Концептуальный уровень описывает данные и их взаимосвязи с наиболее общей точки зрения, — концепции архитекторов базы, используя реляционную или другую модель

13 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 14: Базы данных - edu.mmcs.sfedu.ru

Физический (внутренний) уровень

Внутренний уровень позволяет скрыть подробности физического хранения данных (носители, файлы, табличные пространства, ...) от концептуального уровня.

Отделение внутреннего уровня от концептуального обеспечивает так называемую физическую независимость данных.

14 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 15: Базы данных - edu.mmcs.sfedu.ru

Внешний уровень На внешнем уровне описываются различные

подмножества элементов концептуального уровня для представлений данных различным пользовательским программам

Каждое приложение получает в свое распоряжение часть представлений о данных, но полностью концептуальный уровень скрыт

Отделение внешнего уровня от концептуального обеспечивает логическую независимость данных

15 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 16: Базы данных - edu.mmcs.sfedu.ru

Типы СУБД по модели данных

Системы инвертированных списков

Иерархические

Сетевые

Реляционные

Объектно-ориентированные и объектно-реляционные

Многомерные

Логические или экспертные

Слабоструктурированные

. . .

16

Чердынцева М.И., ИММиКН ЮФУ, 2022

Page 17: Базы данных - edu.mmcs.sfedu.ru

Типы СУБД по способам взаимодействия с приложением

файл – серверные

Примеры: Microsoft Access, Paradox, dBase, FoxPro

клиент – серверные и серверы приложений

Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché

встраиваемые

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact

17 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 18: Базы данных - edu.mmcs.sfedu.ru

Реляционная модель

Page 19: Базы данных - edu.mmcs.sfedu.ru

Реляционная модель представляет данные на концептуальном уровне

Реляционная модель является логической, то есть элементы модели являются логическими (абстрактными), а не физическими (хранимыми) структурами

19 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 20: Базы данных - edu.mmcs.sfedu.ru

Определение

отношениячислооекардинальнm

отношениястепеньN

N][1,i}a:{Atгде,m][1,j}{t:тело

N][1,i}D:{A:заголовок

кортежm][1,jR)a,...,a,(a

D...DDR

атрибутовименаA

атрибутыDa

доменыN][1,i}{D

j

iijj

ii

j

N

j

2

j

1

N21

i

i

j

i

i

:Отношение

20 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 21: Базы данных - edu.mmcs.sfedu.ru

Свойства отношений

Уникальность кортежей

Неупорядоченность кортежей

Неупорядоченность атрибутов

Атомарность атрибутов в кортеже

У отношения должен быть хотя бы один атрибут

Отношение может иметь нулевое количество кортежей – пустое отношение

Набор атрибутов, достаточный для однозначного определения кортежа - возможный ключ

21 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 22: Базы данных - edu.mmcs.sfedu.ru

Основные требования

Требования к реляционным базам данных сформулированы и развиты Дж. Дейтом, который объединил их в группы, называемые аспектами

Структурный аспект

Аспект целостности

Аспект обработки

22 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 23: Базы данных - edu.mmcs.sfedu.ru

Структурный аспект

данные в системе воспринимаются пользователем как таблицы

Формальный термин Неформальный эквивалент

Отношение

Кортеж

Кардинальное число

Атрибут

Домен

Имя атрибута

Степень отношения

Заголовок отношения

Возможный (первичный)

ключ

Таблица

Строка таблицы (запись)

Количество строк

Столбец (поле)

Множество допустимых значений (тип)

Имя столбца

Количество столбцов

Схема таблицы

Уникальный идентификатор строки

23 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 24: Базы данных - edu.mmcs.sfedu.ru

24 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 25: Базы данных - edu.mmcs.sfedu.ru

Аспект целостности Целостность базы данных (database integrity) —

соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам

Каждое правило, налагающее некоторое ограничение на возможное состояние базы данных, называется ограничением целостности (integrity constraint)

Целостность БД не гарантирует достоверности содержащейся в ней информации, но обеспечивает по крайней мере правдоподобность этой информации, отвергая заведомо невероятные, невозможные значения.

25 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 26: Базы данных - edu.mmcs.sfedu.ru

Аспект целостности

Целостность сущностей

Чтобы все кортежи отношения были различными, отношение должно иметь хотя бы один возможный (первичный) ключ

Целостность по ссылкам

Если сущность реализуется несколькими отношениями, должны быть атрибуты, отвечающие за связь кортежей из разных отношений (внешние ключи)

Целостность транзакций

Любая транзакция отражается в БД целиком или не отражается вообще

26 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 27: Базы данных - edu.mmcs.sfedu.ru

Аспект обработки

Пользователь должен иметь операторы манипулирования данными, которые порождают новые таблицы на основе уже имеющихся.

Среди операторов должны быть, по крайней мере, операторы селекции (выборки), проекции и соединения

Под пользователем здесь понимаются разработчик ИС и администратор БД

27 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 28: Базы данных - edu.mmcs.sfedu.ru

Реляционная алгебра

Реляционная алгебра — замкнутая система

операций над отношениями в реляционной модели данных

Первоначально были введены Коддом

28 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 29: Базы данных - edu.mmcs.sfedu.ru

Операции реляционной алгебры (Кодд)

29 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 30: Базы данных - edu.mmcs.sfedu.ru

Операции реляционной алгебры (Кодд)

30 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 31: Базы данных - edu.mmcs.sfedu.ru

Операции реляционной алгебры (Кодд)

31 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 32: Базы данных - edu.mmcs.sfedu.ru

Операции реляционной алгебры (Кодд)

32 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 33: Базы данных - edu.mmcs.sfedu.ru

Операции реляционной алгебры (Кодд)

33 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 34: Базы данных - edu.mmcs.sfedu.ru

Реляционная замкнутость

Все операции выполняются над отношениями

Отношение в операции участвует целиком

Результат выполнения любой операции над отношениями также является отношением

Допустима вложенность реляционных выражений

34 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 35: Базы данных - edu.mmcs.sfedu.ru

Дополнительные операции

Расширение (extend) для скалярных вычислений

Переименование (rename), чтобы избежать коллизии имен

Группировка (group)

Обобщение (summarize)

Обобщающие функции (sum, count, max, min)

Операции обновления

вставка кортежа

редактирование кортежа

удаление кортежа

35

Чердынцева М.И., ИММиКН ЮФУ, 2022

Page 36: Базы данных - edu.mmcs.sfedu.ru

Реляционная алгебра Результатом любого набора операций над отношениями в

реляционной алгебре является отношение (замкнутость множества операций)

Можно считать, что неявно определена операция присваивания (новое отношение – результат операции)

Результат любой реляционной операции может быть использован в другой реляционной операции (суперпозиция)

Множество операций является избыточным, минимально необходимый набор – селекция, проекция, соединение

36 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 37: Базы данных - edu.mmcs.sfedu.ru

Наряду с реляционной алгеброй является способом получения результирующего отношения в реляционной модели данных

Реляционное исчисление основано на исчислении предикатов

37 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 38: Базы данных - edu.mmcs.sfedu.ru

Интерпретация отношений

Заголовок отношения можно считать предикатом, а любой кортеж – истинным высказыванием, полученным из этого предиката путем подстановки значений соответствующих типов вместо параметров этого предиката

Экзамен (студент:ФИО, предмет:НАЗВАНИЕ, балл:ОЦЕНКА)

Экзамен (студент:’Анна’, предмет:’БД’, балл:5)

Экзамен (предмет:’алгебра’, студент:’Анна’, балл:5)

Экзамен (предмет:’алгебра’, балл:4,студент:’Иван’ )

38 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 39: Базы данных - edu.mmcs.sfedu.ru

Реляционное исчисление В основе исчисления лежит понятие переменной с

определенной для нее областью допустимых значений и понятие правильно построенной формулы, опирающейся на переменные, предикаты и кванторы

В зависимости от того, что является областью определения переменной, различают

Исчисление кортежей

Исчисление доменов

39 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 40: Базы данных - edu.mmcs.sfedu.ru

Исчисление кортежей

Определение переменной

range of T is отношение

Выражение

результирующий список

where правильно построенная формула

Результирующий список и формула содержат ссылки на атрибуты переменной T.ak

40 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 41: Базы данных - edu.mmcs.sfedu.ru

Исчисление кортежей

Формула

задает предикат, проверяющий истинность кортежной переменной

используют простые операции сравнения, логические операции и кванторы FORALL и EXISTS

41 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 42: Базы данных - edu.mmcs.sfedu.ru

ranges T is СТУДЕНТ

ranges P is СПЕЦИАЛЬНОСТЬ

N=T.фио, T.группа, P.факультет

where EXISTS

( P.код_спец=T.код_спец

and P.наим_спец = ’ПМИ’

and T.курс=4)

42 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 43: Базы данных - edu.mmcs.sfedu.ru

Исчисление доменов

Переменные принимают значения в пределах домена

При построении выражений используются предикаты, задающие условия членства

Каждый предикат имеет вид

R (t1:v1, t2:v2,…)

или

R (t1=v1, t2=v2,…)

43 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 44: Базы данных - edu.mmcs.sfedu.ru

Исчисление доменов (F, G, S) where

СТУДЕНТ (фио : F, группа : G, курс =3,

код_спец : Х)

and

СПЕЦИАЛЬНОСТЬ ( код_спец :Y,

наим_спец = ’ФИИТ’, факультет : S )

and (X=Y)

44 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 45: Базы данных - edu.mmcs.sfedu.ru

Реляционная алгебра и реляционное исчисление представляют два альтернативных подхода к реализации операций в БД

Реляционная алгебра – описывает порядок выполнения операций, позволяющих из исходных выражений получить результат

Реляционное исчисление – описывает результат в терминах исходных отношений

45 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 46: Базы данных - edu.mmcs.sfedu.ru

Реляционная полнота

Реляционная алгебра и реляционное исчисление эквивалентны

Язык принято называть реляционно полным, если он по своим возможностям не уступает реляционной алгебре

Восемь операторов Кодда являются мерой выразительной силы любого языка БД

46 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 47: Базы данных - edu.mmcs.sfedu.ru

Важные моменты

операции реляционного исчисления позволяют реализовать декларативное программирование и декларативное описание ограничений целостности, в дополнение к процедурному программированию и процедурной проверке условий, реализуемому средствами реляционной алгебры

47 Чердынцева М.И., ИММиКН

ЮФУ, 2022

Page 48: Базы данных - edu.mmcs.sfedu.ru

Важные моменты

Для реляционных баз данных верен информационный принцип: всё информационное наполнение базы данных представлено одним и только одним способом, а именно — явным заданием значений атрибутов в кортежах отношений; в частности, нет никаких указателей (адресов), связывающих одно значение с другим

48 Чердынцева М.И., ИММиКН

ЮФУ, 2022