Слайд 2
План
Понятие БД
Архитектура БД
Модели данных
Нормальные формы
Операции реляционной алгебры
Операции языка
SQL
СУБД
Слайд 3
То, как человек собирает, управляет и использует информацию,
будет определять, окажется ли он в выигрыше или в
проигрыше
Билл Гейтс,
глава компании Microsoft
Слайд 4
Увеличение объемов данных на примере состояния морской среды
Рост потоков информации так велик, что его часто называют
информационным взрывом.
Слайд 5
Оценки объемов данных по некоторым разделам наук о
земле в России
Слайд 6
Общее определение базы данных
В широком смысле слова база
данных – это совокупность сведений о конкретных объектах реального
мира в какой-либо предметной области.
Предметная область – часть реального мира, подлежащего изучению для организации управления и автоматизации, например, предприятие, вуз и т.д.
Слайд 7
Пример неструктурированных данных
Сложно организовать поиск необходимых данных,
хранящихся в неструктурированном виде, а упорядочить подобную информацию практически
не представляется возможным.
Слайд 8
Пример структурированных данных
Структурирование – это введение соглашений
о способах представления данных.
Слайд 9
Определение базы данных
База данных (БД) – это поименованная
совокупность структурированных данных, относящихся к определенной предметной области.
Система управления
базами данных (СУБД) – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Слайд 10
Классификация баз данных
Централизованные
хранится в памяти одной вычислительной системы,
которая может быть мэйнфреймом (доступ с помощью терминалов) или
файловым сервером локальной сети.
Технология обработки
данных
Распределенные
состоит из нескольких частей, которые хранятся в различных ЭВМ вычислительной сети.
Слайд 11
Классификация баз данных
С локальным доступом
Способ доступа к
данным
С
сетевым доступом
Слайд 12
Классификация баз данных
Централизованные базы данных с сетевым доступом
могут иметь следующую архитектуру:
файл-сервер
клиент-сервер
двухуровневая модель
трехуровневая модель
Слайд 14
1. Ввод и отображение данных
3. Реализация вычислительных функций
над данными
2. Доступ к данным и поиск по критериям
1.
Хранение файла БД
Архитектура файл-сервер
Слайд 15
1. Отсутствие высоких требований к производительности сервера (главное
– требуемый объем дискового пространства)
2. На сервере СУБД не
размещается и не инсталлируется
1. Высокий сетевой трафик
2. Отсутствие специальных механизмов безопасности файла (файлов) БД со стороны СУБД
Достоинства и недостатки архитектуры файл-сервер
Достоинства:
Недостатки:
Слайд 17
1. Регистрация на сервере при входе в клиентскую
часть
2. Формирование SQL-запроса и его отправка SQL-серверу
3. Выполнение полученного
SQL-запроса и отправка наборов данных серверу
Последовательность действий при использовании архитектуры клиент-сервер
4. Реализация вычислительных функций над полученным набором данных
Слайд 18
1. Ввод и отображение данных
2. Реализация вычислительных функций
над наборами данных
2. Доступ к данным и поиск по
определенным критериям
1. Хранение файла БД
Архитектура клиент-сервер
Слайд 19
1. Более низкий трафик сети, чем в модели
файл-сервер
2. SQL-сервер обеспечивает функции по обеспечению целостности и безопасности
данных
1. В определенных случаях некоторые наборы данных могут занимать достаточно существенный объем
Достоинства:
Недостатки:
Достоинства и недостатки архитектуры клиент-сервер
Слайд 20
Двухуровневая архитектура
1. Ввод и отображение данных
3. Реализация вычислительных
функций над наборами данных
2. Доступ к данным и поиск
по критериям
1. Хранение файла БД
Слайд 21
Достоинства:
Недостатки:
1. Существенное снижение трафика сети по сравнению с
моделью клиент-сервер
2. Высокая надежность хранения и обработки данных
1. Высокие
требования к вычислительной установке сервера по объему дискового пространства и быстродействия
Достоинства и недостатки двухуровневой архитектуры
Слайд 22
Трехуровневая архитектура
Трехуровневая архитектура (трёхзвенная архитектура) предполагает наличие следующих
компонентов приложения: клиентское приложение ("тонкий клиент" или терминал), подключенное
к серверу приложений, который в свою очередь подключен к серверу базы данных.
Слайд 23
Достоинства трехуровневой архитектуры
2. Высокая безопасность
3. Низкие требования
к скорости сети между терминалами и сервером приложений
4. Низкие
требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости
1. Изолированность уровней друг от друга позволяет (при правильном развертывании архитектуры) быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней
Слайд 24
Недостатки трехуровневой архитектуры
2. Высокие требования к скорости
сети между сервером базы данных и серверами приложений
3. Более
сложные операции разворачивания и администрирования
1. Высокие требования к производительности серверов приложений и сервера базы данных, а, значит, и высокая стоимость серверного оборудования
Слайд 25
Модель данных определяет способ организации данных, ограничения целостности
и множество операций, допустимых над объектом.
Хранимые в базе данные
имеют определенную логическую структуру – описываются некоторой моделью представления данных (моделью данных), поддерживаемой СУБД.
Модели данных
Слайд 26
К числу классических относятся следующие модели данных:
иерархическая
сетевая
реляционная
Модели данных
Слайд 27
Иерархическая модель была разработана исторически первой.
На основе данной
модели в конце 60 – начале 70 гг. была
создана первая профессиональная СУБД IMS фирмы IBM.
Иерархическая модель данных
Слайд 28
Связи между данными описываются с помощью упорядоченного графа
или дерева
Иерархическая модель данных
Слайд 30
1. Достаточно высокие показатели времени выполнения операций над
данными
1. Сложность понимания для обычного пользователя
2. Присутствие избыточности
Достоинство
и недостатки иерархической модели
Достоинство:
Недостатки:
Слайд 31
Связи между данными описываются с помощью произвольного графа
Сетевая модель данных
Слайд 33
1. Минимальная избыточность
1. Сложность понимания для обычного
пользователя
2. Ослаблен контроль правильности образования связей
Достоинства:
Недостатки:
2. В сравнении с
иерархической моделью сетевая модель предоставляет большие возможности в смысле допустимости образования новых связей
3. Эффективная реализация по показателям затрат памяти.
Достоинства и недостатки сетевой модели
Слайд 34
Реляционная модель впервые предложена Эдгаром Коддом в 1970
г.
Основывается на понятии отношение (relation). Графически отношение представляется в
виде двумерной таблицы.
В реляционной СУБД предполагается, что пользователь воспринимает БД как набор таблиц.
Реляционная модель данных
Слайд 35
Примеры реляционных СУБД:
MicroSoft Access
Paradox
dBASE
FoxPro
Clarion
DB2
Oracle
Последние версии реляционных СУБД имеют некоторые свойства объектно-ориентированных систем.
Такие СУБД часто называют объектно-реляционными. Примером такой системы можно считать продукт Oracle 10g.
Реляционная модель данных
Слайд 37
1. Простота и понятность для широкого пользователя, что
явилось причиной ее широкого распространения.
1. Необходимая избыточность из-за
связей между таблицами.
Достоинство:
Недостаток:
Достоинства и недостатки реляционной модели
Слайд 38
В реляционной модели существуют альтернативные варианты терминов:
Реляционная модель
данных
Слайд 39
Первичный ключ
Ключом отношения, или первичным ключом, называется атрибут
отношения (набор атрибутов), однозначно идентифицирующий каждый из его кортежей.
Студент(№
личного дела, Фамилия, Имя, Отчество, Дата рождения, Группа)
Слайд 40
Внешний ключ
Логические связи между отношениями устанавливаются с помощью
внешних ключей.
Внешний ключ – это атрибут (набор атрибутов)
одного отношения, являющийся ключом другого отношения.
Слайд 41
Проблема: осуществить в таблице поиск по Фамилии
Слайд 42
Индексы
Индекс – средство ускорения операции поиска записей в
таблице, а также выполнения других операций, использующих поиск (извлечение,
модификация, сортировка и т.д.)
Слайд 43
Виды индексов
Первичный
Ключевое поле таблицы всегда индексируется, поэтому для
него не требуется дополнительно определять индекс.
Индексы
Вторичный
Используются для ускорения
выполнения запросов.
Может быть несколько.
Может входить любое количество полей.
Одно и то же поле может входить в разные индексы.
Слайд 44
Имена выделенных атрибутов и их краткие характеристики:
№
- номер личного дела студента
Фамилия – фамилия студента
Имя
– имя студента
Дата рождения – дата рождения студента
Группа – номер группы, в которой учится студент
Специальность – специальность, на которой обучается студент
Пример: для учебной части факультета создать БД о студентах
Проблема формирования отношений
Слайд 45
Проблема формирования отношений
Слайд 46
Проблема формирования отношений
Слайд 47
Нормализация
Нормализация отношений – правила формирования отношений (таблиц),
которые позволяют устранить дублирование, противоречивость хранимых в базе данных.
Слайд 48
Э. Коддом разработаны три нормальные формы отношений и
предложен механизм,
позволяющий любое отношение преобразовать к третьей нормальной форме.
Нормализация
Слайд 51
Имена выделенных атрибутов и их краткие характеристики:
№
- номер личного дела студента
Фамилия – фамилия студента
Имя
– имя студента
Дата рождения – дата рождения студента
Группа – номер группы, в которой учится студент
Специальность – специальность, которой обучается студент
Семестр – номера семестров обучения
Предмет – предмет, изучаемый студентом
Оценка – экзаменационная оценка за предмет
Пример: для учебной части факультета создать БД о студентах
Проблема формирования отношений
Слайд 52
Проблема формирования отношений
Слайд 53
Проблема обновления данных
Проблема формирования отношений
Слайд 54
Проблема вставки новых данных
Проблема формирования отношений
Слайд 55
Первая нормальная форма (1НФ)
Отношение находится в 1НФ,
если в каждой ячейке всегда находится единственное атомарное значение,
и никогда не может быть множества таких значений.
Слайд 56
Отношение не находится в 1НФ
Первая нормальная форма (1НФ)
Слайд 57
Отношение находится в 1НФ
Первая нормальная форма (1НФ)
Слайд 58
Функциональная зависимость
Нормализация основывается на наличии функциональной зависимости
между атрибутами отношения.
Слайд 59
Атрибут В отношения функционально зависит от атрибута А
того же отношения в том и только том
случае, когда
в любой заданный момент времени для каждого из различных значений атрибута А обязательно существует только одно значение поля В. (допускается, что атрибуты А и В могут быть составными)
Функциональная зависимость
Слайд 60
Диаграмма функциональных зависимостей для примера БД «Студент»
Слайд 61
Причина избыточности:
Фамилия, Имя, Дата рождения,
Группа, Специальность
зависят от атрибута
№ личного дела, являющегося частью
составного ключа
Причина избыточности
Слайд 62
Отношение находится в 2НФ, если оно не содержит
неключевых атрибутов, функционально зависящих от части ключа
Вторая нормальная
форма (2НФ)
Слайд 63
Причина избыточности:
транзитивная зависимость
между атрибутами отношения
№личного дела->Группа ->
->Специальность
Причина избыточности
Слайд 64
Отношение находится в 3НФ, если оно не содержит
неключевых атрибутов, транзитивно зависящих от части ключа
Третья нормальная
форма (3НФ)
Слайд 65
Результат проектирования БД «Студент»
Слайд 66
SQL
Доступ к информации, содержащейся в реляционных
базах данных, для пользователей, программ и вычислительных систем обеспечивает
язык запросов SQL (Structured Query Language)
Слайд 67
Достоинства SQL
Независимость от конкретных СУБД
– все распространенные СУБД используют SQL.
Приложения, созданные
с помощью SQL, допускают использование как для локальных БД, так и для клиент-серверных систем.
Операторы SQL употребляются как для интерактивного, так и программного доступа, поэтому части программ, содержащие обращение к БД, можно вначале проверить в интерактивном режиме, а затем встраивать в программу.
Слайд 68
Реляционная алгебра
SQL основан на операциях реляционной
алгебры.
Реляционная алгебра – набор операций, выполняемых над отношениями.
Реляционная алгебра
разработана Э.Коддом в рамках реляционной модели
Применяя операции реляционной алгебры к одним отношениям можно получить другие отношения
Слайд 69
Основные операции реляционной алгебры
Объединение
Слайд 70
Объединением двух совместимых по типу отношений А и
В называется отношение с тем же заголовком, что и
у отношений А и В, и телом, состоящим из кортежей, принадлежащих или А, или В, или обоим отношениям.
Отношения называют совместимыми по типу, если они имеют идентичные заголовки, также атрибуты с одинаковыми именами определены на одних и тех же доменах.
Основные операции реляционной алгебры
Слайд 71
Пересечение
Основные операции реляционной алгебры
Слайд 72
Пересечением двух совместимых по типу отношений А и
В называется отношение с тем же заголовком, что и
у отношений А и В, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям А и В.
Основные операции реляционной алгебры
Слайд 73
Вычитание
Основные операции реляционной алгебры
Слайд 74
Вычитанием двух совместимых по типу отношений А и
В называется отношение с тем же заголовком, что и
у отношений А и В, и телом, состоящим из кортежей, принадлежащих отношению А и не принадлежащих отношению В.
Основные операции реляционной алгебры
Слайд 75
Выборка
Основные операции реляционной алгебры
Слайд 76
Выборкой на отношении А с условием с
называется отношение с тем же заголовком, что и у
отношения А, и телом, состоящем из кортежей, значения атрибутов которых при подстановке в условие с дают значение ИСТИНА.
Основные операции реляционной алгебры
Слайд 77
Оператор выбора языка SQL
SELECT [DISTINC] элементы
FROM
таблица(цы)
[WHERE условие]
[GROUP BY поле(я) [HAVING условие]]
[ORDER BY поле(я)]
Производит выборку
указанных элементов из указанных таблиц в соответствии с указанными условиями. Результатом является новая таблица.
Слайд 78
SELECT – выбрать
DISTINC – устранить в результирующей таблице
одинаковые строки
FROM – из (таблиц)
WHERE – где
SELECT [DISTINC] элементы
FROM
таблица(цы)
[WHERE условие]
[GROUP BY поле(я) [HAVING условие]]
[ORDER BY поле(я)]
Оператор выбора языка SQL
Слайд 79
GROUP BY – выборка с точностью до группы
строк
HAVING – условие выборки группы
ОRDER BY – упорядочивание результата
по указанным полям
SELECT [DISTINC] элементы
FROM таблица(цы)
[WHERE условие]
[GROUP BY поле(я) [HAVING условие]]
[ORDER BY поле(я)]
Оператор выбора языка SQL
Слайд 80
SELECT Фамилия FROM Cтуденты
Выбрать фамилии всех студентов
Оператор выбора языка SQL
Слайд 81
SELECT * FROM Cтуденты WHERE Группа=591
ORDER BY Фамилия
Вывести
все сведения о студентах 591 группы, упорядочив их по
фамилии
Оператор выбора языка SQL
Слайд 82
SELECT Дата рождения FROM Cтуденты
WHERE Фамилия=“Петров”
Вывести дату
рождения студента Петрова
Оператор выбора языка SQL
Слайд 83
Возможности SQL
Создание базы данных и
таблицы с полным описанием их структуры
Выполнение основных
операций манипулирования данными, в частности, вставки, модификации и удаления данных из таблиц.
Выполнение простых и сложных запросов, осуществляющих преобразование данных
Слайд 84
Тенденции развития СУБД
Направление развития реляционных СУБД в
последние годы заметно меняется. Если предыдущее десятилетие они развивались,
чтобы обеспечить быстрый доступ к данным, то теперь часто нужно хранить еще графику и звук. Существенно изменилась аппаратная среда - она стала сетевой. С развитием Web появилась необходимость поддерживать HTML - страницы.
Слайд 85
Основные функции СУБД
управление данными во внешней памяти
(на дисках)
управление данными в оперативной памяти
журнализация изменений,
резервное копирование и восстановление базы данных после сбоев
поддержка языка манипулирования данными
Слайд 86
В состав СУБД входят средства для:
создания БД и
модификации их структуры, создания индексных файлов
работы с базами
в табличном формате или в виде стандартной формы с расположением полей построчно
разработки экранных форм
генерации печатных форм
генерации запросов очень сложной структуры
в системах, ориентированных на разработчика, разработка меню, справочной системы и проекта, включающего все перечисленные выше компоненты и компилирующегося в исполняемую программу
Слайд 87
СУБД
Система управления базами данных (СУБД) – это
комплекс программных и языковых средств, необходимых для создания баз
данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Термин "сервер баз данных" обычно используют для обозначения всей СУБД, основанной на архитектуре "клиент-сервер", включая и серверную, и клиентскую части.
Слайд 88
СУБД
Cервер баз данных - СУБД, которая принимает
запросы по сети и возвращает информацию, соответствующую запросу.
Наиболее распространенными
серверами являются в настоящее время Interbase, Microsoft SQL Server, Oracle, IBM DB2, Informix
Слайд 89
Классификация СУБД
По типу управляемой базы данных СУБД
разделяются на:
Сетевые (CronosPlus )
Иерархические (IMS, System 2000)
Реляционные (MS Access,
Paradox, Interbase, FireBird, MySQL, DB2, Oracle, Ingres)
Объектно-реляционные (Oracle Database, MicroSoft SQL Server 2005)
Слайд 91
Возможности СУБД
Производительность СУБД оценивается:
скоростью поиска информации;
скоростью выполнения
операций обновления, вставки, удаления данных;
временем выполнения операций импортирования базы
данных из других форматов;
максимальным числом параллельных обращений к данным в многопользовательском режиме;
временем генерации отчета.
Слайд 92
Обеспечение целостности данных на уровне базы данных.
Эта
характеристика подразумевает наличие средств, позволяющих удостовериться, что информация в
базе данных всегда остается корректной и полной:
проверка уникальности первичных ключей,
ограничение операций над данными,
каскадное обновление и удаление данных.
Возможности СУБД
Слайд 93
Обеспечение безопасности. Некоторые СУБД предусматривают средства обеспечения безопасности
данных. Такие средства обеспечивают выполнение следующих операций:
шифрование прикладных программ;
шифрование
данных;
защиту паролем;
ограничение уровня доступа (к базе данных, к таблице).
Возможности СУБД