Слайд 1БАЗЫ ДАННЫХ
Автор: Емельянов Н. Е.
Правка: Тригуб Н.А.
Слайд 2Литература
А. Д. Хомоненко, В. М. Цыганков, М. Г. Мальцев. Базы
данных. Учебник для ВУЗов. – Корона-принт. 2004. - 737 с.
К.
Дж. Дейт. Введение в Системы баз данных, 8-е издание – Вильямс. 2006 – 1315 с.
Джеймс Р. Грофф, Пол Н. Вайнберг, Эндрю Дж. Оппель. SQL: полный справочник, 3-е издание. Диалектика-Вильямс. 2010. - 960 c.
Роберт Виейра - Программирование баз данных MS SQL Server 2008. Базовый курс. Вильямс. 2009. – 816 с.
Емельянов Н.Е. Введение в СУБД ИНЕС // Наука, М., 1990, 256 с.
Структуры данных // МИСИС №958
Слайд 31.Основные понятия
Определение
Реляционная база данных –
совокупность изменяющихся во времени нормализованных отношений
(relation)
Главный постулат РСУБД –
все данные во всех отношениях
атомарны
Слайд 5По запросу
ВЫБРАТЬ КОЛИЧЕСТВО (Номер_рейса)
ИЗ ТАБЛИЦЫ Расписание
ГДЕ Пункт_отправления = 'Москва'
И Пункт_назначения
= 'Минск';
получим количество рейсов "Москва-Минск".
Слайд 6Основная особенность СУБД – это наличие процедур для ввода и
хранения
не только самих данных, но и описания их структуры. Файлы,
снабженные
описанием хранимых в них данных и находящиеся под
управлением СУБД, стали называть «банки данных» (БнД) и «базы данных» (БД).
Слайд 7СУБД должна предоставлять доступ к данным любым пользователям, включая и
тех, которые практически не имеют и/или не хотят иметь представления:
о физическом размещении данных в памяти ЭВМ и их
описаний;
о механизмах поиска запрашиваемых данных;
о проблемах, возникающих при одновременном запросе
одних и тех же данных многими пользователями
(прикладными программами);
о способах обеспечения защиты данных от некорректных обновлений и (или) несанкционированного доступа;
о поддержании баз данных в актуальном состоянии
о множестве других функций СУБД.
Слайд 9Языковые средства СУБД (две основные группы):
1. языки описания данных (Я0Д)
2.
языки работы с БД (ЯрБД).
ЯОД предназначены для описания структур данных
и отношений между ними, поддерживаемых СУБД.
ЯОД можно классифицировать на:
- языки описания БД
/* предназначены для описания состава и логической организации БД */
- языки описания внешних данных.
/* для описания внешней, по отношению к БД информации (входной, выходной, сообщений и т.д.). */
Слайд 10Среди лингвистических средств СУБД центральное место занимают ЯрБД.
Языки данной
группы позволяют не только организовывать запросы из БД нужной информации,
но и программировать БД-приложения.
ЯрБД по их функциональному назначению можно классифицировать по трем группам:
1. управления данными (ЯУД),
2. управления запросами (ЯУЗ),
3. организации диалоговых режимов.
Слайд 11Состав функционально полной СУБД
CASE - технологии
Генератор приложений
Система ввода
Описание данных
Система запросов
Генератор отчетов
Экспорт/ импорт
Метод доступа
Виртуальная память
Средства администратора БД
БД
Средства работы в сетях
Обеспечение целостности
Магн.лента
Библиотека DVD
Слайд 12Функционально-полную СУБД можно определять следующим составом функциональных характеристик:
1. Поддерживаемая системой
даталогическая модель;
2. Средства администратора БД;
3. Средства разработки БД-приложений;
4. Интерфейсы с
пользователями и другими БД-приложениями;
5. Интерфейсы с другими СУБД;
6. Средства обеспечения сетевой и распределенной обработки информации.
Слайд 132. Модели данных. Классификация СУБД
Модель данных (Data Model) =
структура данных + методы доступа
Слайд 14Классические модели
Иерархическая м. (1965 – 1970)
Сетевая м.
(1970 – 1975)
Реляционная м. (1975
– 1980)
Слайд 15Семантическая м. (1980 – 1985)
Типово-полная м. (1985 – 1990)
Объектно-ориент. (1990
– 1995)
Новые модели
Слайд 16Многомерная м.
XML-DB
(с ~ 2000 г.)
Новейшие модели
Слайд 172.1. Иерархическая модель
СУБД IMS (фирмы IBM)
ОКА (для ЕС ЭВМ)
Структура данных:
файлы с разнотипными записями
Обл. 1
Район 1.1
Город 1.1.1
Город 1.1.2.
……
Район 1.2
Слайд 182.2. Сетевая модель
СУБД IDMS (комитета CODASYL)
Рабочие группы по БД (РГБД
- DBTG)
СЕТЬ (для ЕС ЭВМ)
Структура данных: 1) файлы с однотипными
записями
Обл. 1, Обл. 2,…, Обл. N
Район 1.1, Район 1.2, …, Район N.Mi
Город 1.1.1, Город 1.1.2, …, Город N.Mi.Kj
Слайд 19Структура данных: 2) наборы (SET) содержащие ссылки на подчиненные записи
хозяин (OWNER) член набора (MEMBER)
Области
Районы
Города
Слайд 202.3. Реляционная модель
СУБД ORACLE (фирмы ORACLE), MS SQL (фирмы MicroSoft)
Автор
- математик Код (Codd)
Пальма (для ЕС ЭВМ)
Структура данных: файлы
с однотипными записями
Слайд 21Структура данных:
Области
Районы
Города
Слайд 22Понятия
Отношение (relation)
Кортеж
Домен
di Є D
Слайд 23Понятия
Отношение (relation)
Таблица (двумерный массив)
Кортеж
Запись
Домен
di Є D
Множество допустимых значений
Слайд 24Определение
Реляционная модель – совокупность изменяющихся во времени нормализованных отношений
Нормализованное отношение
– все данные атомарны
Слайд 26Методы доступа
Одноместные операции
F ( A )
B
A
B
Слайд 27Двуместные операции
G ( A,B )
C
A
B
C
Слайд 28Пример двуместной операции (JOIN):
A
B
1 2 …
i N
1 2 … j
M
1 2 … i N
1 2 … j M
@
@
@
@
C
Слайд 29Достоинства
Простая математическая модель
Недостатки
1) Утрачена семантика данных
Слайд 302.4. Семантическая модель
Возникла из описания семантики языков
Требования:
Все объекты в процессе
работы могут быть связаны
Логическая близость приводит к близкому расположению
В процессе
работы можно менять схему БД
Слайд 312.5. Типово-полная модель
Теоретический подход к описанию сложных структур
Основные понятия:
Простые типы
данных (TEXT, INT, REAL, DATA…)
Конструкторы новых типов из простых
и ранее описанных типов
Возможна любая суперпозиция типов
Слайд 32Конструктор агрегации
Анкета
ФИО
ГодРожд
Адрес
(Структура)
Слайд 33Конструктор ассоциации
Анкета
ФИО
ГодРожд
Адрес
Цех
(Массив)
Слайд 34Пример суперпозиции типов
Авто
Гос№
Марка
ГАИ
Тех. осмотры
Замены
Дата
Осмотр
№ п/п
Цена
Нет ограничений на ширину и глубину
Слайд 352.6. Объектно-ориентированная модель
На основе объектного программирования
Основные понятия:
Многократное использование типов
Иерархия
типов
Инкапсуляция – смесь описания данных (типов) и методов работы с
ними
Слайд 362.7. Машины БД
СУБД относятся к техническим наукам, так как
зависят от существующей техники
Всегда стояла задача разработки специального оборудования для
работы с БД.
Например. Можно ли за один оборот диска найти все записи, содержащие слово «сталь»?
БД
Оборот за 1/50 сек.
10 дисков
ДА. Можно!
Нужно поставить головки
с процессорами на все дорожки
всех дисков.
Слайд 37СУБД - Teradata (Фирма NCD)
Ориентирована на многопроцессорные комплексы
Основная проблема:
1
2 3 4
Производительность
Число процессоров
Слайд 382.8. Многомерный куб
Для систем оперативного анализа - OLAP (On
Line Analytical Processing)
База данных – многомерный куб
Время
Продукция
Фирма
Слайд 39Требования
Возможность агрегации (Например: Область, район, город)
Историчность (есть временная ось)
Статичность (данные
в многомерном кубе не изменяются во время проведения анализа)
Слайд 40Основные понятия
Измерение (dimension)
Ячейка (cell)
Срез (slice) подмножество - куб меньшей размерности
Время
Продукция
Фирма
2002
Объем
выпуска
Слайд 41Пример
Фирмы
BMW
Филиалы по странам
……
Ford
Филиалы по странам
……
2. Продукция
Грузовики
Легкие
Тяжелые
……
Автобусы
Микроавтобусы
……
3. Время
Год
Январь
Февраль
Март
Апрель
……
Слайд 42Пример
Ячейки (cell) – объем продаж в денежном выражении
Время
Фирма
2002
Объем продаж
Слайд 432.9. XML - DB
Для описания сложных структур данных на
языке XML (Extensible Markup Language)
База данных содержит XML-документы:
<имя подоб1.1>
<имя данного 1> данное 1 < /имя данного 1>
<имя данного 2> данное 2 < /имя данного 2>
……
< /имя подоб1.1>
……
< /имя объекта1>
Слайд 442.10. XML data type.
Революция в реляционных СУБД (2005 –
2006 гг.)
Слайд 45Что произошло?
Введен новый тип данных
XML data type
Теперь один реквизит
может содержать сколь угодно сложно структурированное данное - вплоть до
всей БД!
В один день устарели миллионы учебников по СУБД, написанные на всех языках мира
Слайд 46
Почему это случилось? Немного истории
Слайд 47
ADABAS
MS SQL
dBASE I - IV
Clipper
Clarion
DB2
Oracle
FOX
INFORMIX
Cashe
ИНЕС
НИКА
ОКА
СЕТЬ
SQL/DS
НИКА
ОКА
СЕТЬ
КОМПАС
ПАРМА
НАБОБ
ПАЛЬМА
1981
1982-1989
1997
1994
1969
1970-73
XML DB
ОКА
1969
2005 -06
IMS
ОКА
IDMS
1975 - 1977
Слайд 48Годы
Сложность
данных
1960
1970
2006
1980
1990
IMS-1969
IDMS-1970-е
SQL/DS-1981
«Развитие» СУБД в последние 30 лет
иерархические
сетевые
реляционные
Слайд 49Годы
Сложность
данных
1960
1970
2006
1980
1990
IMS-1969
IDMS-1970-е
SQL/DS-1981
ИНЕС-1977
НИКА-1990
XML-1998
SGML-1986
< - начало имени
> - конец
имени
/ - конец данного
Слайд 50Годы
Сложность
данных
1960
1970
2006
1980
1990
IMS-1969
IDMS-1970-е
SQL/DS-1981
ИНЕС-1977
НИКА-1990
XML-1998
SGML-1986
Слайд 51Что не нравилось пользователям и разработчикам?
Слайд 53Революция (контрреволюция)
в реляционных СУБД
(2005 – 2006 гг.)
Слайд 54XML хорош, если :
Данные разрежены
Структура данных может существенно изменяться
Возможна
рекурсия в описании данных
Если нет ни одного из этих условий,
то можно (но не обязательно) использовать РБД
XML Best Practices (http://msdn2.microsoft.com)
Слайд 55Годы
Сложность
данных
1960
1970
2006
1980
1990
IMS-1969
IDMS-1970-е
SQL/DS-1981
ИНЕС-1977
НИКА-1990
XML-1998
SGML-1986
Ника - технология
Раздвоение всех РСУБД
вслед за
Слайд 57Верстовые столбы ORACLE.
Возврат к семантике!