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

Post on 20-Jul-2022

23 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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