Transcript
Базы данных
Основные понятия
Литература К.Дейт. Введение в системы баз данных. 7-е издание. : Пер. с англ. — М. : Издательский дом «Вильямс», 2000.–848с.
К.Дейт. SQL и реляционная теория. – М.: Символ-Плюс, 2010. -480с.
Гарсия–Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс.–М.: Издательский дом «Вильямс», 2004.-1088с.
Борри Х. Firebird: руководство разработчика баз данных.–СПб.:БХВ–Петербург, 2006.–1104с.
Е.П. Моргунов. PostgreSQL. Основы языка SQL. — СПб.: БХВ-Петербург, 2018. — 336 с.
Новиков Б. А. Основы технологий баз данных. — М.: ДМК Пресс, 2019. — 240 с.
2 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Источники в интернете
www.sql.ru
firebirdsql.org
postgrespro.ru
edu.mmcs.sfedu.ru
3 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Информационная система - программный комплекс, функции которого состоят в:
поддержке надежного долговременного хранения информации,
выполнении специфических для данного приложения преобразований информации и/или вычислений,
предоставлении пользователям удобного и легко осваиваемого интерфейса.
Информационные системы
4 Чердынцева М.И., ИММиКН
ЮФУ, 2022
банковские системы
системы резервирования авиационных или железнодорожных билетов
системы автоматизации управления
системы учета, биллинговые системы
системы поддержки принятия решений
и пр.
Примеры информационных систем
5 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Файловые системы (последовательный доступ)
Проблемы
Большое время отклика
Полная перезапись данных
Хранение последовательных копий для восстановления
6 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Файловые системы (прямой доступ)
Но проблемы остаются
О структуре информации знает только приложение
Нет средств согласования связанной по смыслу информации, возможно хранящейся в нескольких файлах
Сложность реализации алгоритмов обработки информации в терминах операций чтения/записи
Ограничение на параллельную обработку в многопользовательской среде
Нет средств корректного восстановления после сбоев
7 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Что нужно ИС ? совместное хранение информации и метаданных, представляющих семантику информации
наличие средств, обеспечивающих управление данными
поддержание согласованности данных
наличие языка, обеспечивающего легкий доступ к информации
авторизация доступа к информации
обеспечение эффективной одновременной работы многих пользователей
возможность возврата после сбоя к некоторому предыдущему согласованному состоянию
возможность журнализации работы пользователей
8 Чердынцева М.И., ИММиКН ЮФУ, 2022
Централизация управления данными
Чердынцева М.И., ИММиКН ЮФУ, 2022 9
Комплекс программ, обеспечивающий потребности информационных систем, называется
Системой управления базами данных (СУБД)
В настоящее время используется термин «сервер баз данных»
База данных (БД) – это набор хранимых данных и их метаданных (описаний), используемых информационной системой/системами.
В настоящее время БД может хранить также алгоритмы обработки данных
Терминология
10 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Основные функции СУБД Обеспечение физической независимости данных
Поддержка концептуальной модели предметной области (средства для работы с метаданными)
Обеспечение целостности информации
Поддержка языка доступа к информации (SQL)
Авторизация прав пользователей
Журнализация изменений состояния БД
Поддержка транзакций и обеспечение механизма фиксации и отката транзакций
Управление асинхронным выполнением транзакций в многопользовательском режиме
Обеспечение восстановления целостного состояния после сбоев
11
Чердынцева М.И., ИММиКН ЮФУ, 2022
Архитектура СУБД (стандарт ANSI/SPARC 1971)
Внутренний
Концептуальный
Внешний (прикладной)
Уровни представления информации в БД
12 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Концептуальный уровень
В основе архитектуры ANSI/SPARC лежит концептуальный уровень
Концептуальный уровень описывает данные и их взаимосвязи с наиболее общей точки зрения, — концепции архитекторов базы, используя реляционную или другую модель
13 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Физический (внутренний) уровень
Внутренний уровень позволяет скрыть подробности физического хранения данных (носители, файлы, табличные пространства, ...) от концептуального уровня.
Отделение внутреннего уровня от концептуального обеспечивает так называемую физическую независимость данных.
14 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Внешний уровень На внешнем уровне описываются различные
подмножества элементов концептуального уровня для представлений данных различным пользовательским программам
Каждое приложение получает в свое распоряжение часть представлений о данных, но полностью концептуальный уровень скрыт
Отделение внешнего уровня от концептуального обеспечивает логическую независимость данных
15 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Типы СУБД по модели данных
Системы инвертированных списков
Иерархические
Сетевые
Реляционные
Объектно-ориентированные и объектно-реляционные
Многомерные
Логические или экспертные
Слабоструктурированные
. . .
16
Чердынцева М.И., ИММиКН ЮФУ, 2022
Типы СУБД по способам взаимодействия с приложением
файл – серверные
Примеры: 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
Реляционная модель
Реляционная модель представляет данные на концептуальном уровне
Реляционная модель является логической, то есть элементы модели являются логическими (абстрактными), а не физическими (хранимыми) структурами
19 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Определение
отношениячислооекардинальн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
Свойства отношений
Уникальность кортежей
Неупорядоченность кортежей
Неупорядоченность атрибутов
Атомарность атрибутов в кортеже
У отношения должен быть хотя бы один атрибут
Отношение может иметь нулевое количество кортежей – пустое отношение
Набор атрибутов, достаточный для однозначного определения кортежа - возможный ключ
21 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Основные требования
Требования к реляционным базам данных сформулированы и развиты Дж. Дейтом, который объединил их в группы, называемые аспектами
Структурный аспект
Аспект целостности
Аспект обработки
22 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Структурный аспект
данные в системе воспринимаются пользователем как таблицы
Формальный термин Неформальный эквивалент
Отношение
Кортеж
Кардинальное число
Атрибут
Домен
Имя атрибута
Степень отношения
Заголовок отношения
Возможный (первичный)
ключ
Таблица
Строка таблицы (запись)
Количество строк
Столбец (поле)
Множество допустимых значений (тип)
Имя столбца
Количество столбцов
Схема таблицы
Уникальный идентификатор строки
23 Чердынцева М.И., ИММиКН
ЮФУ, 2022
24 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Аспект целостности Целостность базы данных (database integrity) —
соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам
Каждое правило, налагающее некоторое ограничение на возможное состояние базы данных, называется ограничением целостности (integrity constraint)
Целостность БД не гарантирует достоверности содержащейся в ней информации, но обеспечивает по крайней мере правдоподобность этой информации, отвергая заведомо невероятные, невозможные значения.
25 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Аспект целостности
Целостность сущностей
Чтобы все кортежи отношения были различными, отношение должно иметь хотя бы один возможный (первичный) ключ
Целостность по ссылкам
Если сущность реализуется несколькими отношениями, должны быть атрибуты, отвечающие за связь кортежей из разных отношений (внешние ключи)
Целостность транзакций
Любая транзакция отражается в БД целиком или не отражается вообще
26 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Аспект обработки
Пользователь должен иметь операторы манипулирования данными, которые порождают новые таблицы на основе уже имеющихся.
Среди операторов должны быть, по крайней мере, операторы селекции (выборки), проекции и соединения
Под пользователем здесь понимаются разработчик ИС и администратор БД
27 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Реляционная алгебра
Реляционная алгебра — замкнутая система
операций над отношениями в реляционной модели данных
Первоначально были введены Коддом
28 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Операции реляционной алгебры (Кодд)
29 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Операции реляционной алгебры (Кодд)
30 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Операции реляционной алгебры (Кодд)
31 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Операции реляционной алгебры (Кодд)
32 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Операции реляционной алгебры (Кодд)
33 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Реляционная замкнутость
Все операции выполняются над отношениями
Отношение в операции участвует целиком
Результат выполнения любой операции над отношениями также является отношением
Допустима вложенность реляционных выражений
34 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Дополнительные операции
Расширение (extend) для скалярных вычислений
Переименование (rename), чтобы избежать коллизии имен
Группировка (group)
Обобщение (summarize)
Обобщающие функции (sum, count, max, min)
Операции обновления
вставка кортежа
редактирование кортежа
удаление кортежа
35
Чердынцева М.И., ИММиКН ЮФУ, 2022
Реляционная алгебра Результатом любого набора операций над отношениями в
реляционной алгебре является отношение (замкнутость множества операций)
Можно считать, что неявно определена операция присваивания (новое отношение – результат операции)
Результат любой реляционной операции может быть использован в другой реляционной операции (суперпозиция)
Множество операций является избыточным, минимально необходимый набор – селекция, проекция, соединение
36 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Наряду с реляционной алгеброй является способом получения результирующего отношения в реляционной модели данных
Реляционное исчисление основано на исчислении предикатов
37 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Интерпретация отношений
Заголовок отношения можно считать предикатом, а любой кортеж – истинным высказыванием, полученным из этого предиката путем подстановки значений соответствующих типов вместо параметров этого предиката
Экзамен (студент:ФИО, предмет:НАЗВАНИЕ, балл:ОЦЕНКА)
Экзамен (студент:’Анна’, предмет:’БД’, балл:5)
Экзамен (предмет:’алгебра’, студент:’Анна’, балл:5)
Экзамен (предмет:’алгебра’, балл:4,студент:’Иван’ )
38 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Реляционное исчисление В основе исчисления лежит понятие переменной с
определенной для нее областью допустимых значений и понятие правильно построенной формулы, опирающейся на переменные, предикаты и кванторы
В зависимости от того, что является областью определения переменной, различают
Исчисление кортежей
Исчисление доменов
39 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Исчисление кортежей
Определение переменной
range of T is отношение
Выражение
результирующий список
where правильно построенная формула
Результирующий список и формула содержат ссылки на атрибуты переменной T.ak
40 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Исчисление кортежей
Формула
задает предикат, проверяющий истинность кортежной переменной
используют простые операции сравнения, логические операции и кванторы FORALL и EXISTS
41 Чердынцева М.И., ИММиКН
ЮФУ, 2022
ranges T is СТУДЕНТ
ranges P is СПЕЦИАЛЬНОСТЬ
N=T.фио, T.группа, P.факультет
where EXISTS
( P.код_спец=T.код_спец
and P.наим_спец = ’ПМИ’
and T.курс=4)
42 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Исчисление доменов
Переменные принимают значения в пределах домена
При построении выражений используются предикаты, задающие условия членства
Каждый предикат имеет вид
R (t1:v1, t2:v2,…)
или
R (t1=v1, t2=v2,…)
43 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Исчисление доменов (F, G, S) where
СТУДЕНТ (фио : F, группа : G, курс =3,
код_спец : Х)
and
СПЕЦИАЛЬНОСТЬ ( код_спец :Y,
наим_спец = ’ФИИТ’, факультет : S )
and (X=Y)
44 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Реляционная алгебра и реляционное исчисление представляют два альтернативных подхода к реализации операций в БД
Реляционная алгебра – описывает порядок выполнения операций, позволяющих из исходных выражений получить результат
Реляционное исчисление – описывает результат в терминах исходных отношений
45 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Реляционная полнота
Реляционная алгебра и реляционное исчисление эквивалентны
Язык принято называть реляционно полным, если он по своим возможностям не уступает реляционной алгебре
Восемь операторов Кодда являются мерой выразительной силы любого языка БД
46 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Важные моменты
операции реляционного исчисления позволяют реализовать декларативное программирование и декларативное описание ограничений целостности, в дополнение к процедурному программированию и процедурной проверке условий, реализуемому средствами реляционной алгебры
47 Чердынцева М.И., ИММиКН
ЮФУ, 2022
Важные моменты
Для реляционных баз данных верен информационный принцип: всё информационное наполнение базы данных представлено одним и только одним способом, а именно — явным заданием значений атрибутов в кортежах отношений; в частности, нет никаких указателей (адресов), связывающих одно значение с другим
48 Чердынцева М.И., ИММиКН
ЮФУ, 2022
top related