Презентация "Системы управления базами данных"

Подписи к слайдам:
  • Системы управления базами данных
  • Attribution-ShareAlike (by-sa) — Лицензия «С указанием авторства — Копилефт»
  • stanislav.katsko.name
  • Informatics.ssga.ru
  • 1. Введение. История развития баз данных.
  • 2. Основные понятия и определения.
  • 3. Архитектура базы данных.
  • 4. Процесс прохождения запроса пользователя.
  • 5. Типы баз данных.
  • 6. Типы связей между объектами в базе данных.
  • 7. Язык SQL. Формирование запросов к базе данных.
  • Введение. История развития баз данных
  • История вычислительной техники
  • применение вычислительных устройств для выполнения численных расчетов
  • использование средств вычислительной техники в автоматических или автоматизированных информационных системах
  • Введение. История развития баз данных
  • Информационная система обеспечивает:
  • Введение. История развития баз данных
  • Внешняя память для вычислений:
  • Введение. История развития баз данных
  • Новая эпоха – съемные магнитные диски
  • Введение. Файлы и файловые системы
  • Переход к использованию централизованных систем управления файлами.
  • 1. Зависимость программ от данных.
  • 2. Децентрализованный принцип управления доступом.
  • 3. Проблема с синхронизацией при совместной работе.
  • => новый подход к управлению информацией
  • Основные понятия и определения
  • Основные понятия и определения
  • Банк данных (БнД) –
  • система
  • специальным образом организованных данных
  • – баз данных,
  • программных, технических, языковых, организационно-методических средств,
  • для обеспечения централизованного накопления и коллективного многоцелевого использования данных.
  • Основные понятия и определения
  • База данных (БД) –
  • именованная совокупность данных,
  • отражающая
  • состояние объектов и их отношений
  • в рассматриваемой предметной области.
  • Система управления базами данных (СУБД) –
  • совокупность языковых и программных средств,
  • предназначенных
  • для создания, ведения и совместного использования
  • баз данных
  • многими пользователями.
  • Основные понятия и определения
  • Функции СУБД:
  • – поиск информации в БД;
  • – выполнение несложных расчетов;
  • – вывод отчетов на печать;
  • – редактирование БД.
  • Информационная система = БД + СУБД
  • Основные понятия и определения
  • Классификация информационных систем по архитектуре (степени распределенности):
  • – настольные (desktop) или локальные –
  • все компоненты на одном компьютере;
  • – распределенные:
  • а) файл-серверные –
  • БД на файловом сервере, а СУБД и клиентские приложения на рабочих станциях
  • б) клиент-серверные –
  • БД и СУБД на сервере, а клиентские приложения на рабочих станциях
  • Основные понятия и определения
  • Классификация информационных систем по архитектуре (степени распределенности):
  • – настольные (desktop) или локальные –
  • все компоненты на одном компьютере;
  • БД
  • СУБД
  • клиентские приложения
  • Локальный ПК
  • Основные понятия и определения
  • Классификация информационных систем по архитектуре (степени распределенности):
  • файл-серверные –
  • БД на файловом сервере, СУБД и клиентские приложения на рабочих станциях
  • БД
  • СУБД
  • клиентские приложения
  • Рабочая станция
  • Сервер
  • Основные понятия и определения
  • Классификация информационных систем по архитектуре (степени распределенности):
  • клиент-серверные –
  • БД и СУБД на сервере, клиентские приложения на рабочих станциях
  • БД
  • СУБД
  • клиентские приложения
  • Рабочая станция
  • Сервер
  • Основные понятия и определения
  • Классификация информационных систем по степени автоматизации:
  • автоматизированные –
  • автоматизация может быть неполной, требуется постоянное вмешательство персонала
  • автоматические –
  • автоматизация является полной, вмешательство персонала не требуется или требуется только эпизодически
  • Основные понятия и определения
  • Классификация информационных систем по характеру обработки данных:
  • информационно-справочные или информационно-поисковые –
  • нет сложных алгоритмов обработки данных, цель системы – поиск и выдача информации в удобном виде
  • ИС обработки данных или решающие ИС –
  • данные подвергаются обработке по сложным алгоритмам (например, системы поддержки принятия решений)
  • Основные понятия и определения
  • Классификация информационных систем по сфере применения:
  • – экономическая ИС
  • – медицинская ИС
  • – географическая ИС
  • – …
  • Основные понятия и определения
  • Классификация информационных систем по охвату задач (масштабности):
  • – персональная ИС
  • – групповая ИС
  • – корпоративная ИС (системы комплексной автоматизации предприятия)
  • Архитектура базы данных
  • Архитектура базы данных
  • Трехуровневая система организации БД (предложена американским комитетом по стандартизации ANSI)
  • Архитектура базы данных
  • 1. Уровень внешних моделей –
  • определяет точку зрения на БД отдельных приложений.
  • Каждое приложение видит и обрабатывает только те данные,
  • которые необходимы именно этому приложению.
  • Архитектура базы данных
  • 2. Концептуальный уровень –
  • база данных представлена в наиболее общем виде,
  • который объединяет данные,
  • используемые приложениями, работающими с БД.
  • Отражает обобщенную модель предметной области (объектов реального мира), для которой создавалась база данных.
  • Отражает только существенные,
  • с точки зрения обработки,
  • особенности объектов реального мира.
  • Архитектура базы данных
  • 3. Физический уровень –
  • собственно данные,
  • расположенные в файлах или в страничных структурах,
  • расположенных на внешних носителях информации.
  • Архитектура базы данных
  • Трехуровневая система организации БД
  • позволяет обеспечить
  • логическую (между уровнями 1 и 2) независимость и
  • физическую (между уровнями 2 и 3) независимость
  • при работе с данными.
  • Процесс прохождения запроса пользователя
  • Процесс прохождения запроса пользователя
  • БМД – База Метаданных: информация о структурах данных, логической организации данных, правах доступа и физическом расположении данных.
  • Процесс прохождения запроса пользователя
  • 1. Пользователь посылает СУБД запрос на получение данных из БД.
  • Процесс прохождения запроса пользователя
  • 2. Анализ прав пользователя и внешней модели данных.
  • Процесс прохождения запроса пользователя
  • 3. Если запрет на доступ, то сообщение пользователю (12), иначе СУБД определяет часть концептуальной модели согласно запросу.
  • Процесс прохождения запроса пользователя
  • 4 и 5. СУБД запрашивают информацию о части концептуальной модели и получает её.
  • Процесс прохождения запроса пользователя
  • 6 и 7. СУБД запрашивает информацию о местоположении данных на физическом уровне и получает ответ.
  • Процесс прохождения запроса пользователя
  • 8. СУБД просит ОС предоставить необходимые данные, используя средства ОС.
  • Процесс прохождения запроса пользователя
  • 9. ОС осуществляет перекачку информации из устройств хранения и пересылает ее в системный буфер.
  • Процесс прохождения запроса пользователя
  • 10. ОС оповещает СУБД об окончании пересылки.
  • Процесс прохождения запроса пользователя
  • 11. СУБД выбирает из доставленной информации только то, что нужно пользователю, и пересылает эти данные в рабочую область пользователя.
  • Типы баз данных
  • Типы баз данных
  • Классификация БД по модели данных.
  • Примеры:
  • – иерархические;
  • – сетевые;
  • – реляционные;
  • – объектные и объектно-ориентированные;
  • – объектно-реляционные.
  • Типы баз данных
  • Классификация БД по среде постоянного хранения:
  • – БД во вторичной памяти (традиционные) среда постоянного хранения – периферийная энергонезависимая память (вторичная память), как правило жёсткий диск
  • – БД в оперативной памяти все данные в оперативной памяти
  • – БД в третичной памяти среда постоянного хранения – отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основе магнитных лент или оптических дисков.
  • Типы баз данных
  • Классификация БД по содержимому.
  • Примеры:
  • – географические;
  • – исторические;
  • – научные;
  • – мультимедийные;
  • – …
  • Типы баз данных
  • Классификация БД по форме представляемой информации:
  • Примеры:
  • – фактографические;
  • – документальные;
  • – картографические;
  • – мультимедийные;
  • – …
  • Иерархические БД
  • Представление – "дерево" (граф), состоящее из объектов различных уровней.
  • Иерархические БД
  • Время появления – конец 60-х - начало 70-х гг. XX века.
  • Первые СУБД использовали иерархическую модель данных.
  • Известные примеры:
  • – Information Management System (IMS) фирмы IBM. Первая версия – 1968 г.;
  • – иерархические файловые системы;
  • – Реестр Windows.
  • Иерархические БД
  • Отношения
  • предка (объект более близкий к корню)
  • к потомку (объект более низкого уровня)
  • Иерархические БД
  • Иерархические БД
  • Основные понятия:
  • – поле – минимальная единица данных;
  • – сегмент (узел) – совокупность полей, являющаяся единицей обмена между БД и прикладной программой.
  • Исходные (родитель) и порожденные (потомки) сегменты.
  • Иерархические БД
  • Преимущества:
  • – простота модели – иерархия напоминает генеалогическое дерево;
  • – использование отношений предок/потомок (или часть/целое, причина/следствие)
  • – быстродействие – отношения реализованы в виде физических указателей, быстрое перемещение
  • Сетевые БД
  • Сетевая БД (модель CODASYL) – набор узлов, в которых каждый узел может быть связан с каждым.
  • Основные понятия сетевой модели базы данных:
  • – уровень, элемент (узел), связь.
  • Сетевые БД
  • Преимущества:
  • – гибкость – множественные отношения предок-потомок, структура сложнее обычной иерархии.
  • – стандартизованность – соответствие стандарту CODASYL.
  • – быстродействие – сравнимо с иерархическими БД.
  • Недостаток:
  • – жесткость БД, наборы отношений и структуру записей приходится задавать заранее. Изменение структуры – перестройка всей БД.
  • Реляционные БД
  • 1970 г. Эдгар Кодд – «A Relational Model of Data for Large Shared Data Banks» – первая работа по реляционной модели данных.
  • Англ. relation – отношение.
  • Реляционная база данных – это набор простых таблиц, между которыми установлены связи (отношения) с помощью числовых кодов.
  • Реляционные БД
  • Организация данных в виде двумерных таблиц.
  • Каждая таблица – двумерный массив:
  • – элемент таблицы – один элемент данных;
  • – все ячейки в столбце таблицы однородные;
  • – каждый столбец имеет уникальное имя;
  • – одинаковые строки в таблице отсутствуют;
  • – порядок следования строк и столбцов может быть произвольным.
  • Реляционные БД
  • Базовые понятия:
  • – отношение – фундаментальное понятие реляционной модели данных.
  • Отношение имеет простую графическую интерпретацию, можно представить в виде таблицы.
  • – атрибут – поле (столбец) в таблице;
  • – домен – область значений каждого атрибута.
  • – кортеж, экземпляр отношения – запись (строка) в таблице;
  • – первичный ключ – один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию): простой – состоит из единственного атрибута; составной – состоит из двух или более атрибутов.
  • Реляционные БД
  • Номер_ детали
  • Название_детали
  • Количество
  • Материал
  • 123-34
  • 454-34
  • 233-65
  • 232-39
  • 243-01
  • Втулка
  • Педаль
  • Ступица
  • Пер. тормоз
  • Крыло
  • 12000
  • 10000
  • 5000
  • 11000
  • 300
  • Сталь
  • Сталь
  • Сталь
  • Алюминий
  • Пластмасса
  • Строки
  • Материал
  • Сталь
  • Пластмасса
  • Стекло
  • Алюминий
  • домен
  • первичный ключ
  • имя таблицы
  • Деталь
  • имя столбца
  • Таблица (отношение) реляционной модели данных
  • Реляционные БД
  • Номер
  • Фамилия
  • Номер руководителя
  • Должность
  • 4781
  • 4532
  • 5432
  • 4677
  • 4421
  • Юдин
  • Яковлев
  • Куркин
  • Кротов
  • Шадрин
  • 8374
  • 6537
  • 8374
  • 3211
  • 3642
  • м.н.с.
  • с.н.с.
  • н.с.
  • вед. инж.
  • ст. инж.
  • Сотрудник
  • внешний ключ
  • Взаимосвязь таблиц базы данных
  • Номер
  • Фамилия
  • Отдел
  • Стаж
  • 8374
  • 2309
  • 7780
  • Иванов
  • Васильев
  • Воробьев
  • 25Л
  • 13С
  • 12И
  • 25
  • 20
  • 23
  • Руководитель
  • первичный ключ
  • Реляционные БД
  • Нормализация базы данных – разработка такой структуры БД, в которой нет избыточных данных и связей.
  • 1. Любое поле должно быть неделимым.
  • 2. Не должно быть полей, которые обозначают различные виды одного и того же, например, товаров.
  • Фамилия и имя
  • Иванов Роман
  • Васильев Петр
  • Фамилия
  • Имя
  • Иванов
  • Васильев
  • Роман
  • Петр
  • Год
  • Бананы
  • Киви
  • 2006
  • 2007
  • 3200
  • 5600
  • 1200
  • 1500
  • Год
  • Код_
  • товара
  • Кол-во
  • 2006
  • 2007
  • 1
  • 2
  • 3200
  • 1500
  • Код
  • Товар
  • 1
  • 2
  • Бананы
  • Киви
  • Типы связей между объектами в базе данных
  • Типы связей
  • В каждой таблице должны храниться данные только об одном классе объектов!
  • Разные классы – в разные таблицы!
  • Связь между таблицами осуществляется с помощью общих полей.
  • Типы связей
  • 1. Один-к-одному (1:1)
  • 2. Один-ко-многим (1:М)
  • 3. Многие-ко-многим (М:М).
  • Типы связей
  • Один-к-одному (1:1)
  • Используется редко, в случаях, когда часть информации об объекте либо редко используется, либо является конфиденциальной.
  • Типы связей
  • "Один-ко-многим" (1:М)
  • Наиболее распространенный тип связей.
  • Пример: информация о студентах и результатах сдачи ими экзаменов.
  • Типы связей
  • "Многие-ко-многим" (М:М)
  • Для реализации такая связь разбивается на две связи типа один-ко многим.
  • Язык SQL.
  • Формирование запросов к базе данных
  • История развития SQL
  • SQL (Structured Query Language) –
  • Структурированный Язык Запросов –
  • стандартный язык запросов по работе с реляционными БД.
  • Прототип разработан в конце 70-х годов в компании IBM Research.
  • Первый международный стандарт языка SQL был принят в 1989 г. (SQL1)
  • SQL2 – в конце 1992 г.
  • SQL3 – 1999 г.
  • История развития SQL
  • SQL
  • – не относится к традиционным языкам программирования;
  • – не содержит традиционные операторы, управляющие ходом выполнения программы, операторы описания типов и т. д.;
  • – содержит только набор стандартных операторов доступа к данным, хранящимся в базе данных;
  • – операторы SQL встраиваются в базовый язык программирования.
  • Основные операторы языка SQL
  • SELECT – выбрать строку (группу строк) из таблицы базы данных;
  • INSERT – добавить строку (группу) в таблицу базы данных;
  • UPDATE – изменить строку (группу) таблицы БД;
  • DELETE – удалить строку (группу) из таблицы БД.
  • Основные операторы языка SQL
  • Примеры запросов:
  • Определить количество деталей на складе для всех типов деталей.
  • SELECT Название_детали, Количество
  • FROM Деталь .
  • Какие детали, изготовленные из стали, хранятся на складе?
  • SELECT *
  • FROM Деталь
  • WHERE Материал = 'Сталь' .
  • Основные операторы языка SQL
  • Примеры запросов:
  • Определить название и количество деталей на складе, которые изготовлены из пластмассы и весят менее 5 килограммов.
  • SELECT Название_детали, Количество
  • FROM Деталь
  • WHERE Материал = 'Пластмасса'
  • AND Вес < 5 .