Слайд 1Системы управления базами данных
Attribution-ShareAlike (by-sa) — Лицензия «С указанием авторства — Копилефт»
stanislav.katsko.name
Informatics.ssga.ru
Слайд 2
1. Введение. История развития баз данных.
2. Основные понятия и определения.
3.
Архитектура базы данных.
4. Процесс прохождения запроса пользователя.
5. Типы баз данных.
6.
Типы связей между объектами в базе данных.
7. Язык SQL. Формирование запросов к базе данных.
Слайд 3Введение. История развития баз данных
История вычислительной техники
применение вычислительных устройств
для
выполнения численных расчетов
использование средств вычислительной техники
в автоматических или автоматизированных
информационных системах
Слайд 4Введение. История развития баз данных
Информационная система обеспечивает:
Слайд 5Введение. История развития баз данных
Внешняя память для вычислений:
Слайд 6Введение. История развития баз данных
Новая эпоха – съемные магнитные диски
Слайд 7Введение. Файлы и файловые системы
Переход к использованию централизованных систем управления
файлами.
1. Зависимость программ от данных.
2. Децентрализованный принцип управления доступом.
3. Проблема
с синхронизацией при совместной работе.
=> новый подход к управлению информацией
Слайд 8Основные понятия и определения
Слайд 9Основные понятия и определения
Банк данных (БнД) –
система
специальным образом
организованных данных
– баз данных,
программных, технических, языковых, организационно-методических средств,
для обеспечения
централизованного накопления и коллективного многоцелевого использования данных.
Слайд 10Основные понятия и определения
База данных (БД) –
именованная совокупность данных,
отражающая
состояние объектов и
их отношений
в рассматриваемой предметной области.
Система
управления базами данных (СУБД) –
совокупность языковых и программных средств,
предназначенных
для создания, ведения и совместного использования
баз данных
многими пользователями.
Слайд 11Основные понятия и определения
Функции СУБД:
– поиск информации в БД;
–
выполнение несложных расчетов;
– вывод отчетов на печать;
– редактирование БД.
Информационная система
= БД + СУБД
Слайд 12Основные понятия и определения
Классификация информационных систем
по архитектуре (степени распределенности):
–
настольные (desktop) или локальные –
все компоненты на одном компьютере;
–
распределенные:
а) файл-серверные –
БД на файловом сервере, а СУБД и
клиентские приложения на рабочих станциях
б) клиент-серверные –
БД и СУБД на сервере, а клиентские
приложения на рабочих станциях
Слайд 13Основные понятия и определения
Классификация информационных систем
по архитектуре (степени распределенности):
–
настольные (desktop) или локальные –
все компоненты на одном компьютере;
БД
СУБД
клиентские
приложения
Локальный ПК
Слайд 14Основные понятия и определения
Классификация информационных систем
по архитектуре (степени распределенности):
файл-серверные
–
БД на файловом сервере,
СУБД и клиентские приложения на рабочих
станциях
БД
СУБД
клиентские приложения
Рабочая станция
Сервер
Слайд 15Основные понятия и определения
Классификация информационных систем
по архитектуре (степени распределенности):
клиент-серверные
–
БД и СУБД на сервере,
клиентские приложения на рабочих
станциях
БД
СУБД
клиентские приложения
Рабочая станция
Сервер
Слайд 16Основные понятия и определения
Классификация информационных систем
по степени автоматизации:
автоматизированные –
автоматизация может быть неполной,
требуется постоянное вмешательство персонала
автоматические –
автоматизация является
полной,
вмешательство персонала не требуется или
требуется только эпизодически
Слайд 17Основные понятия и определения
Классификация информационных систем
по характеру обработки данных:
информационно-справочные
или
информационно-поисковые –
нет сложных алгоритмов обработки данных,
цель системы – поиск
и выдача информации
в удобном виде
ИС обработки данных или
решающие ИС –
данные подвергаются обработке по сложным
алгоритмам
(например, системы поддержки принятия решений)
Слайд 18Основные понятия и определения
Классификация информационных систем
по сфере применения:
– экономическая
ИС
– медицинская ИС
– географическая ИС
– …
Слайд 19Основные понятия и определения
Классификация информационных систем
по охвату задач (масштабности):
–
персональная ИС
– групповая ИС
– корпоративная ИС (системы комплексной автоматизации предприятия)
Слайд 21Архитектура базы данных
Трехуровневая система организации БД
(предложена американским комитетом по стандартизации
ANSI)
Слайд 22Архитектура базы данных
1. Уровень внешних моделей –
определяет точку зрения
на БД отдельных приложений.
Каждое приложение видит и обрабатывает только
те данные,
которые необходимы именно этому приложению.
Слайд 23Архитектура базы данных
2. Концептуальный уровень –
база данных представлена в
наиболее общем виде,
который объединяет данные,
используемые приложениями, работающими с
БД.
Отражает обобщенную модель предметной области (объектов реального мира), для которой создавалась база данных.
Отражает только существенные,
с точки зрения обработки,
особенности объектов реального мира.
Слайд 24Архитектура базы данных
3. Физический уровень –
собственно данные,
расположенные в
файлах или в страничных структурах,
расположенных на внешних носителях информации.
Слайд 25Архитектура базы данных
Трехуровневая система организации БД
позволяет обеспечить
логическую (между уровнями 1
и 2) независимость и
физическую (между уровнями 2 и 3)
независимость
при работе с данными.
Слайд 26Процесс прохождения запроса пользователя
Слайд 27Процесс прохождения запроса пользователя
БМД – База Метаданных: информация о структурах
данных, логической организации данных, правах доступа и физическом расположении данных.
Слайд 28Процесс прохождения запроса пользователя
1. Пользователь посылает СУБД запрос на получение
данных из БД.
Слайд 29Процесс прохождения запроса пользователя
2. Анализ прав пользователя и внешней модели
данных.
Слайд 30Процесс прохождения запроса пользователя
3. Если запрет на доступ, то сообщение
пользователю (12), иначе СУБД определяет часть концептуальной модели согласно запросу.
Слайд 31Процесс прохождения запроса пользователя
4 и 5. СУБД запрашивают информацию о
части концептуальной модели и получает её.
Слайд 32Процесс прохождения запроса пользователя
6 и 7. СУБД запрашивает информацию о
местоположении данных на физическом уровне и получает ответ.
Слайд 33Процесс прохождения запроса пользователя
8. СУБД просит ОС предоставить необходимые данные,
используя средства ОС.
Слайд 34Процесс прохождения запроса пользователя
9. ОС осуществляет перекачку информации из устройств
хранения и пересылает ее в системный буфер.
Слайд 35Процесс прохождения запроса пользователя
10. ОС оповещает СУБД об окончании пересылки.
Слайд 36Процесс прохождения запроса пользователя
11. СУБД выбирает из доставленной информации только
то, что нужно пользователю, и пересылает эти данные в рабочую
область пользователя.
Слайд 38Типы баз данных
Классификация БД по модели данных.
Примеры:
– иерархические;
– сетевые;
– реляционные;
–
объектные и объектно-ориентированные;
– объектно-реляционные.
Слайд 39Типы баз данных
Классификация БД по среде постоянного хранения:
– БД во
вторичной памяти (традиционные)
среда постоянного хранения – периферийная
энергонезависимая память (вторичная память),
как
правило жёсткий диск
– БД в оперативной памяти
все данные в оперативной памяти
– БД в третичной памяти
среда постоянного хранения – отсоединяемое от
сервера устройство массового хранения
(третичная память), как правило на основе
магнитных лент или оптических дисков.
Слайд 40Типы баз данных
Классификация БД по содержимому.
Примеры:
– географические;
– исторические;
– научные;
– мультимедийные;
–
…
Слайд 41Типы баз данных
Классификация БД по форме представляемой информации:
Примеры:
– фактографические;
– документальные;
–
картографические;
– мультимедийные;
– …
Слайд 42Иерархические БД
Представление – "дерево" (граф), состоящее из объектов различных уровней.
Слайд 43Иерархические БД
Время появления – конец 60-х - начало 70-х гг.
XX века.
Первые СУБД использовали иерархическую модель данных.
Известные примеры:
– Information Management
System (IMS) фирмы IBM. Первая версия – 1968 г.;
– иерархические файловые системы;
– Реестр Windows.
Слайд 44Иерархические БД
Отношения
предка (объект более близкий к корню)
к потомку (объект
более низкого уровня)
Слайд 46Иерархические БД
Основные понятия:
– поле – минимальная единица данных;
– сегмент (узел)
– совокупность полей, являющаяся
единицей обмена между БД и прикладной
программой.
Исходные (родитель)
и порожденные (потомки) сегменты.
Слайд 47Иерархические БД
Преимущества:
– простота модели – иерархия напоминает
генеалогическое дерево;
– использование отношений
предок/потомок
(или часть/целое, причина/следствие)
– быстродействие – отношения реализованы в виде
физических
указателей, быстрое перемещение
Слайд 48Сетевые БД
Сетевая БД (модель CODASYL) – набор узлов, в которых
каждый узел может быть связан с каждым.
Основные понятия сетевой модели
базы данных:
– уровень, элемент (узел), связь.
Слайд 49Сетевые БД
Преимущества:
– гибкость – множественные отношения предок-потомок, структура сложнее
обычной иерархии.
– стандартизованность – соответствие стандарту CODASYL.
– быстродействие – сравнимо
с иерархическими БД.
Недостаток:
– жесткость БД, наборы отношений и структуру записей приходится задавать заранее.
Изменение структуры – перестройка всей БД.
Слайд 50Реляционные БД
1970 г. Эдгар Кодд – «A Relational Model of
Data for Large Shared Data Banks» – первая работа по
реляционной модели данных.
Англ. relation – отношение.
Реляционная база данных – это набор простых таблиц, между которыми установлены связи (отношения) с помощью числовых кодов.
Слайд 51Реляционные БД
Организация данных в виде двумерных таблиц.
Каждая таблица –
двумерный массив:
– элемент таблицы – один элемент данных;
– все ячейки
в столбце таблицы однородные;
– каждый столбец имеет уникальное имя;
– одинаковые строки в таблице отсутствуют;
– порядок следования строк и столбцов может быть произвольным.
Слайд 52Реляционные БД
Базовые понятия:
– отношение – фундаментальное понятие реляционной модели
данных.
Отношение имеет простую графическую интерпретацию, можно представить в виде таблицы.
–
атрибут – поле (столбец) в таблице;
– домен – область значений каждого атрибута.
– кортеж, экземпляр отношения – запись (строка) в таблице;
– первичный ключ – один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию):
простой – состоит из единственного атрибута;
составной – состоит из двух или более атрибутов.
Слайд 53Реляционные БД
Строки
Материал
Сталь
Пластмасса
Стекло
Алюминий
домен
первичный ключ
имя таблицы
Деталь
имя столбца
Таблица (отношение) реляционной модели данных
Слайд 54Реляционные БД
Сотрудник
внешний ключ
Взаимосвязь таблиц базы данных
Руководитель
первичный ключ
Слайд 55Реляционные БД
Нормализация базы данных – разработка такой структуры БД, в
которой нет избыточных данных и связей.
1. Любое поле должно быть
неделимым.
2. Не должно быть полей, которые обозначают различные виды одного и того же, например, товаров.
Слайд 56Типы связей между объектами в базе данных
Слайд 57Типы связей
В каждой таблице должны храниться данные только об одном
классе объектов!
Разные классы – в разные таблицы!
Связь между таблицами осуществляется
с помощью общих полей.
Слайд 58Типы связей
1. Один-к-одному (1:1)
2. Один-ко-многим (1:М)
3. Многие-ко-многим (М:М).
Слайд 59Типы связей
Один-к-одному (1:1)
Используется редко, в случаях, когда часть информации об
объекте либо редко используется, либо является конфиденциальной.
Слайд 60Типы связей
"Один-ко-многим" (1:М)
Наиболее распространенный тип связей.
Пример: информация о студентах и
результатах сдачи ими экзаменов.
Слайд 61Типы связей
"Многие-ко-многим" (М:М)
Для реализации такая связь разбивается на две связи
типа один-ко многим.
Слайд 62Язык SQL.
Формирование запросов к базе данных
Слайд 63История развития SQL
SQL (Structured Query Language) –
Структурированный Язык Запросов –
стандартный язык запросов по работе с реляционными БД.
Прототип разработан в
конце 70-х годов в компании IBM Research.
Первый международный стандарт языка SQL был принят в 1989 г. (SQL1)
SQL2 – в конце 1992 г.
SQL3 – 1999 г.
Слайд 64История развития SQL
SQL
– не относится к традиционным языкам программирования;
– не
содержит традиционные операторы, управляющие ходом выполнения программы, операторы описания типов
и т. д.;
– содержит только набор стандартных операторов доступа к данным, хранящимся в базе данных;
– операторы SQL встраиваются в базовый язык программирования.
Слайд 65Основные операторы языка SQL
SELECT – выбрать строку (группу строк) из
таблицы базы данных;
INSERT – добавить строку (группу) в таблицу базы
данных;
UPDATE – изменить строку (группу) таблицы БД;
DELETE – удалить строку (группу) из таблицы БД.
Слайд 66Основные операторы языка SQL
Примеры запросов:
Определить количество деталей на складе
для всех типов деталей.
SELECT Название_детали, Количество
FROM Деталь .
Какие детали, изготовленные
из стали, хранятся на складе?
SELECT *
FROM Деталь
WHERE Материал = 'Сталь' .
Слайд 67Основные операторы языка SQL
Примеры запросов:
Определить название и количество деталей
на складе, которые изготовлены из пластмассы и весят менее 5
килограммов.
SELECT Название_детали, Количество
FROM Деталь
WHERE Материал = 'Пластмасса'
AND Вес < 5 .