- •История развития вычислительной техники
- •Файлы и файловые системы
- •Базы данных на больших эвм
- •Базы данных на персональных компьютеров
- •Распределенные базы данных
- •Основные понятия и определения
- •Классификация моделей данных
- •Теоретико-графовые модели данных
- •Иерархическая модель данных
- •Язык манипулирования данными в иерархических базах данных
- •Сетевая модель данных
- •Реляционная модель данных Основные определения
- •Операции над отношениями. Реляционная алгебра
- •Специальные операции реляционной алгебры
- •Языковые средства современных субд Некоторые термины и определения, используемые при работе с базами данных
- •История развития sql
- •Структура sql
- •Типы данных
- •Оператор выбора select
- •Применение агрегатных функций и вложенных запросов в операторе выбора select
- •Вложенные запросы
- •Внешние объединения
- •Операторы манипулирования данными
- •Insert into books values (‘3-77777-444-2’, ‘Сказки Пушкина’, ‘Пушкин а.С.’, ‘’, 2010, 316)
- •Insert into books (isbn, title, autor, yearizd, pages) values (‘3-77777-444-2’, ‘Сказки Пушкина’, ‘Пушкин а.С.’, 2010, 316)
- •Общая идея языка запросов (xPath)
- •Проектирование реляционных бд на основе принципов нормализации
- •Системный анализ предметной области
- •Пример системного анализа предметной области
- •Даталогическое проектирование для реляционной модели данных
- •Инфологическое проектирование
- •Модель "сущность-связь"
- •Переход к реляционной модели данных
- •Принципы поддержки целостности в реляционной модели данных
- •Операторы ddl в языке sql с заданием ограничений целостности
- •Средства определения схемы базы данных
- •Средства изменения описания таблиц и средства удаления таблиц
- •Понятие представления операции создания представлений
- •Горизонтальное представление
- •Вертикальное представление
- •Сгруппированные представления
- •Объединенные представления
- •Физические модели баз данных Файловые структуры, используемые для хранения информации в бд
- •Индексные файлы
- •Файлы с плотным индексом, или индексно-прямые файлы
- •Файлы с неплотным индексом, или индексно-последовательные
- •Организация индексов в виде b-tree (в-деревьев)
- •Инвертированные списки
- •Модели безфайловой физической организации данных
- •Архитектура разделяемой памяти
- •Распределенная обработка данных Архитектура и принципы распределенного подхода. Требования и критерии построения информационных систем на базе распределенных бд (рбд)
- •Многомерное представление данных. Хранилище данных и olap. Назначение. Основные характеристики
- •Основные элементы и операции olap
- •Типы olap. Преимущества и недостатки
- •Моделирование многомерных кубов в реляционной модели данных
- •Логическая модель рбд. Бизнес-логика файл-серверной, клиент-серверной и n-уровневой архитектуры Логическая модель рбд
- •Понятие транзакции. Неявные и явные транзакции. Уровни изолированности транзакций. Понятие блокировок. Основные типы блокировок Понятие транзакции. Неявные и явные транзакции
- •Уровни изолированности транзакций
- •Особенности реализации транзакций в Oracle и ms Sql Server Общие операторы управления транзакциями
- •Особенности субд Oracle
- •Особенности субд ms sql Server
- •Понятие блокировок. Основные типы блокировок
- •Взаимоблокировки
- •Репликация данных. Виды репликации
- •Синхронная репликация
- •Асинхронная репликация
- •Процедурные расширения языка sql
- •Основные характеристики pl/sql и t-sql
- •Хранимые процедуры и функции
- •Триггеры
- •Защита информации в базах данных
- •Проверка полномочий
- •Обобщенная архитектура субд
- •Оптимизация sql-запросов
- •Методы синтаксической оптимизации запросов
- •Методы семантической оптимизации запросов
- •Электронная библиотека
- •Учет успеваемости студентов
- •Склад товаров
- •Интернет-магазин
- •Медицинский центр
ПРАВОСЛАВНЫЙ СВЯТО-ТИХОНОВСКИЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ ИНФОРМАТИКИ И ПРИКЛАДНОЙ МАТЕМАТИКИ
КАФЕДРА ИНФОРМАТИКИ
Соловьев Александр Владимирович
«Базы данных и системы управления базами данных»
Автор ___________ /Соловьев А. В./
Согласовано:
ответственный по факультету Богачева А.Н. ________
Москва 2012
Оглавление
История развития вычислительной техники 3
Файлы и файловые системы 4
Базы данных на больших ЭВМ 4
Базы данных на персональных компьютеров 4
Распределенные базы данных 5
Основные понятия и определения 6
Классификация моделей данных 6
Теоретико-графовые модели данных 8
Иерархическая модель данных 8
Язык манипулирования данными в иерархических базах данных 8
Сетевая модель данных 9
Реляционная модель данных 10
Основные определения 10
Операции над отношениями. Реляционная алгебра 11
Специальные операции реляционной алгебры 13
Языковые средства современных СУБД 15
Некоторые термины и определения, используемые при работе с базами данных 15
История развития SQL 17
Структура SQL 17
Типы данных 19
Оператор выбора SELECT 21
Применение агрегатных функций и вложенных запросов в операторе выбора SELECT 24
Вложенные запросы 26
Внешние объединения 27
Операторы манипулирования данными 30
Общая идея языка запросов (XPath) 33
Проектирование реляционных БД на основе принципов нормализации 34
Системный анализ предметной области 34
Пример системного анализа предметной области 35
Даталогическое проектирование для реляционной модели данных 36
Инфологическое проектирование 42
Модель "сущность-связь" 42
Переход к реляционной модели данных 44
Принципы поддержки целостности в реляционной модели данных 46
Операторы DDL в языке SQL с заданием ограничений целостности 48
Средства определения схемы базы данных 52
Средства изменения описания таблиц и средства удаления таблиц 53
Понятие представления операции создания представлений 54
Физические модели баз данных 56
Файловые структуры, используемые для хранения информации в БД 56
Индексные файлы 57
Модели безфайловой физической организации данных 64
Распределенная обработка данных 66
Архитектура и принципы распределенного подхода. Требования и критерии построения информационных систем на базе распределенных БД (РБД) 66
Многомерное представление данных. Хранилище данных и OLAP. Назначение. Основные характеристики 69
Основные элементы и операции OLAP 69
Типы OLAP. Преимущества и недостатки 70
Моделирование многомерных кубов в реляционной модели данных 71
Логическая модель РБД. Бизнес-логика файл-серверной, клиент-серверной и N-уровневой архитектуры 73
Логическая модель РБД 73
Понятие транзакции. Неявные и явные транзакции. Уровни изолированности транзакций. Понятие блокировок. Основные типы блокировок 74
Понятие транзакции. Неявные и явные транзакции 74
Уровни изолированности транзакций 75
Особенности реализации транзакций в Oracle и MS Sql Server 76
Понятие блокировок. Основные типы блокировок 77
Репликация данных. Виды репликации 79
Синхронная репликация 79
Асинхронная репликация 79
Процедурные расширения языка SQL 80
Основные характеристики PL/SQL и T-SQL 80
Хранимые процедуры и функции 80
Триггеры 81
Защита информации в базах данных 81
Проверка полномочий 86
Обобщенная архитектура СУБД 87
Оптимизация SQL-запросов 88
Методы синтаксической оптимизации запросов 88
Методы семантической оптимизации запросов 90
История развития вычислительной техники
Рис. 1. Основное использование вычислительной техники.
Файлы и файловые системы
Важным шагом в развитии автоматизированных информационных систем явился переход к использованию централизованных систем управления файлами. С точки зрения прикладной программы, файл — это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные.
Достоинства. Систем управления файлами управляет: - распределением внешней памяти, - отображением имен файлов в соответствующие адреса во внешней памяти - обеспечением доступа к данным.
Недостатки:
- структура записи файла была известна только программе, которая с ним работала,
- необходимость обеспечения централизованного управления доступа к одним и тем же файлам разным пользователям (впервые решена в OS UNIX – мандатный доступ),
- необходимость обеспечения параллельной работы с одними и теми же файлами разным пользователям (в том числе и модификацию)
Эти недостатки послужили толчком, который заставил разработчиков информационных систем предложить новый подход к управлению информацией. Этот подход был реализован в рамках новых программных систем, названных впоследствии Системами Управления Базами Данных (СУБД), а сами хранилища информации, которые работали под управлением данных систем, назывались базами или банками данных (БД и БнД).
Базы данных на больших эвм
В 1968 году была введена в эксплуатацию первая промышленная СУБД система IMS фирмы IBM. В 1975 году появился первый стандарт ассоциации по языкам систем обработки данных — Conference of Data System Languages (CODASYL), который определил ряд фундаментальных понятий в теории систем баз данных, которые и до сих пор являются основополагающими для сетевой модели данных. В 1981 году Э. Ф. Кодд получил за создание реляционной модели и реляционной алгебры престижную премию Тьюринга Американской ассоциации по вычислительной технике.
Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ и мини-ЭВМ типа PDP11 (фирмы Digital Equipment Corporation — DEC), разных моделях HP (фирмы Hewlett Packard).
Особенности этого этапа развития СУБД выражаются в следующем:
Все СУБД базируются на мощных мультипрограммных операционных системах (MVS, SVM, RTE, OSRV, RSX, UNIX), в основном поддерживается работа с централизованной базой данных в режиме распределенного доступа.
Поддерживаются языки низкого уровня манипулирования данными, ориентированные на навигационные методы доступа к данным.
Значительная роль отводится администрированию данных.
Проводятся работы по обоснованию и формализации реляционной модели данных, была создана первая система (System R), реализующая идеологию реляционной модели.
Проводятся теоретические работы по оптимизации запросов и управлению распределенным доступом к централизованной БД, введено понятие транзакции.
Базы данных на персональных компьютеров
Спрос на развитые удобные программы обработки данных заставлял поставщиков программного обеспечения поставлять все новые системы, которые принято называть настольными (desktop) СУБД. Наличие на рынке большого числа СУБД, выполняющих сходные функции, потребовало разработки методов экспорта-импорта данных для этих систем и открытия форматов хранения данных.
Все СУБД были рассчитаны на создание БД в основном с монопольным доступом.
Большинство СУБД имели развитый и удобный пользовательский интерфейс.
Большинство СУБД предлагали развитый и удобный инструментарий для разработки готовых приложений без программирования.
При наличии высокоуровневых языков манипулирования данными типа реляционной алгебры и SQL в настольных СУБД поддерживались низкоуровневые языки манипулирования данными на уровне отдельных строк таблиц.
В настольных СУБД отсутствовали средства поддержки ссылочной и структурной целостности базы данных.
Наличие монопольного режима работы фактически привело к вырождению функций администрирования БД.
Сравнительно скромные требования к аппаратному обеспечению со стороны настольных СУБД.
Представители этого семейства — очень широко использовавшиеся до недавнего времени СУБД Dbase (DbaseIII+, DbaseIV), FoxPro, Clipper, Paradox, MS Access.
