Базы данных

Содержание

Слайд 2

Литература А. Д. Хомоненко, В. М. Цыганков, М. Г. Мальцев. Базы

Литература

А. Д. Хомоненко, В. М. Цыганков, М. Г. Мальцев. Базы данных.

Учебник для ВУЗов. – Корона-принт. 2004. - 737 с.
К. Дж. Дейт. Введение в Системы баз данных, 8-е издание – Вильямс. 2006 – 1315 с.
Джеймс Р. Грофф, Пол Н. Вайнберг, Эндрю Дж. Оппель. SQL: полный справочник, 3-е издание. Диалектика-Вильямс. 2010. - 960 c.
Роберт Виейра - Программирование баз данных MS SQL Server 2008. Базовый курс. Вильямс. 2009. – 816 с.
Емельянов Н.Е. Введение в СУБД ИНЕС // Наука, М., 1990, 256 с.
Структуры данных // МИСИС №958
Слайд 3

1.Основные понятия Определение Реляционная база данных – совокупность изменяющихся во времени

1.Основные понятия

Определение Реляционная база данных – совокупность изменяющихся во времени нормализованных отношений (relation)
Главный

постулат РСУБД – все данные во всех отношениях атомарны
Слайд 4

Слайд 5

По запросу ВЫБРАТЬ КОЛИЧЕСТВО (Номер_рейса) ИЗ ТАБЛИЦЫ Расписание ГДЕ Пункт_отправления =

По запросу
ВЫБРАТЬ КОЛИЧЕСТВО (Номер_рейса)
ИЗ ТАБЛИЦЫ Расписание
ГДЕ Пункт_отправления = 'Москва'
И Пункт_назначения =

'Минск';
получим количество рейсов "Москва-Минск".
Слайд 6

Основная особенность СУБД – это наличие процедур для ввода и хранения

Основная особенность СУБД – это наличие процедур для ввода и
хранения не

только самих данных, но и описания их структуры. Файлы,
снабженные описанием хранимых в них данных и находящиеся под
управлением СУБД, стали называть «банки данных» (БнД) и «базы данных» (БД).
Слайд 7

СУБД должна предоставлять доступ к данным любым пользователям, включая и тех,

СУБД должна предоставлять доступ к данным любым пользователям, включая и тех,

которые практически не имеют и/или не хотят иметь представления:
о физическом размещении данных в памяти ЭВМ и их
описаний;
о механизмах поиска запрашиваемых данных;
о проблемах, возникающих при одновременном запросе
одних и тех же данных многими пользователями
(прикладными программами);
о способах обеспечения защиты данных от некорректных обновлений и (или) несанкционированного доступа;
о поддержании баз данных в актуальном состоянии
о множестве других функций СУБД.
Слайд 8

Слайд 9

Языковые средства СУБД (две основные группы): 1. языки описания данных (Я0Д)

Языковые средства СУБД (две основные группы):
1. языки описания данных (Я0Д)
2. языки

работы с БД (ЯрБД).
ЯОД предназначены для описания структур данных и отношений между ними, поддерживаемых СУБД.
ЯОД можно классифицировать на:
- языки описания БД
/* предназначены для описания состава и логической организации БД */
- языки описания внешних данных.
/* для описания внешней, по отношению к БД информации (входной, выходной, сообщений и т.д.). */
Слайд 10

Среди лингвистических средств СУБД центральное место занимают ЯрБД. Языки данной группы

Среди лингвистических средств СУБД центральное место занимают ЯрБД.
Языки данной группы

позволяют не только организовывать запросы из БД нужной информации, но и программировать БД-приложения.
ЯрБД по их функциональному назначению можно классифицировать по трем группам:
1. управления данными (ЯУД),
2. управления запросами (ЯУЗ),
3. организации диалоговых режимов.
Слайд 11

Состав функционально полной СУБД CASE - технологии Генератор приложений Система ввода

Состав функционально полной СУБД

CASE - технологии

Генератор приложений

Система ввода

Описание данных

Система

запросов

Генератор отчетов

Экспорт/ импорт

Метод доступа

Виртуальная память

Средства администратора БД

БД

Средства работы в сетях

Обеспечение целостности

Магн.лента

Библиотека DVD

Слайд 12

Функционально-полную СУБД можно определять следующим составом функциональных характеристик: 1. Поддерживаемая системой

Функционально-полную СУБД можно определять следующим составом функциональных характеристик:
1. Поддерживаемая системой даталогическая

модель;
2. Средства администратора БД;
3. Средства разработки БД-приложений;
4. Интерфейсы с пользователями и другими БД-приложениями;
5. Интерфейсы с другими СУБД;
6. Средства обеспечения сетевой и распределенной обработки информации.
Слайд 13

2. Модели данных. Классификация СУБД Модель данных (Data Model) = структура данных + методы доступа

2. Модели данных. Классификация СУБД
Модель данных (Data Model) =
структура

данных + методы доступа
Слайд 14

Классические модели Иерархическая м. (1965 – 1970) Сетевая м. (1970 –

Классические модели

Иерархическая м. (1965 – 1970)
Сетевая м. (1970 – 1975)
Реляционная м.

(1975 – 1980)
Слайд 15

Семантическая м. (1980 – 1985) Типово-полная м. (1985 – 1990) Объектно-ориент. (1990 – 1995) Новые модели

Семантическая м. (1980 – 1985)
Типово-полная м. (1985 – 1990)
Объектно-ориент. (1990 –

1995)

Новые модели

Слайд 16

Многомерная м. XML-DB (с ~ 2000 г.) Новейшие модели

Многомерная м.
XML-DB (с ~ 2000 г.)

Новейшие модели

Слайд 17

2.1. Иерархическая модель СУБД IMS (фирмы IBM) ОКА (для ЕС ЭВМ)

2.1. Иерархическая модель

СУБД IMS (фирмы IBM)
ОКА (для ЕС ЭВМ)
Структура данных: файлы

с разнотипными записями
Обл. 1
Район 1.1
Город 1.1.1
Город 1.1.2.
……
Район 1.2
Слайд 18

2.2. Сетевая модель СУБД IDMS (комитета CODASYL) Рабочие группы по БД

2.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) содержащие ссылки на подчиненные записи хозяин

Структура данных: 2) наборы (SET) содержащие ссылки на подчиненные записи хозяин

(OWNER) член набора (MEMBER)

Области

Районы

Города

Слайд 20

2.3. Реляционная модель СУБД ORACLE (фирмы ORACLE), MS SQL (фирмы MicroSoft)

2.3. Реляционная модель

СУБД ORACLE (фирмы ORACLE), MS SQL (фирмы MicroSoft)
Автор -

математик Код (Codd)
Пальма (для ЕС ЭВМ)
Структура данных: файлы с однотипными записями
Слайд 21

Структура данных: Области Районы Города

Структура данных:

Области

Районы

Города

Слайд 22

Понятия Отношение (relation) Кортеж Домен di Є D

Понятия

Отношение (relation)
Кортеж
Домен di Є D

Слайд 23

Понятия Отношение (relation) Таблица (двумерный массив) Кортеж Запись Домен di Є D Множество допустимых значений

Понятия

Отношение (relation)
Таблица (двумерный массив)
Кортеж
Запись
Домен di

Є D
Множество допустимых значений
Слайд 24

Определение Реляционная модель – совокупность изменяющихся во времени нормализованных отношений Нормализованное отношение – все данные атомарны

Определение

Реляционная модель – совокупность изменяющихся во времени нормализованных отношений
Нормализованное отношение –

все данные атомарны
Слайд 25

* dij – атомарное данное

*

dij –

атомарное данное

Слайд 26

Методы доступа Одноместные операции F ( A ) B A B

Методы доступа

Одноместные операции

F ( A )

B

A

B

Слайд 27

Двуместные операции G ( A,B ) C A B C

Двуместные операции

G ( A,B )

C

A

B

C

Слайд 28

Пример двуместной операции (JOIN): A B 1 2 … i N

Пример двуместной операции (JOIN):

A

B

1 2 … i N

1 2 … j

M

1 2 … i N

1 2 … j M

@

@

@

@

C

Слайд 29

Достоинства Простая математическая модель Недостатки 1) Утрачена семантика данных

Достоинства
Простая математическая модель
Недостатки
1) Утрачена семантика данных

Слайд 30

2.4. Семантическая модель Возникла из описания семантики языков Требования: Все объекты

2.4. Семантическая модель

Возникла из описания семантики языков
Требования:
Все объекты в процессе работы

могут быть связаны
Логическая близость приводит к близкому расположению
В процессе работы можно менять схему БД
Слайд 31

2.5. Типово-полная модель Теоретический подход к описанию сложных структур Основные понятия:

2.5. Типово-полная модель

Теоретический подход к описанию сложных структур
Основные понятия:
Простые типы данных

(TEXT, INT, REAL, DATA…)
Конструкторы новых типов из простых и ранее описанных типов
Возможна любая суперпозиция типов
Слайд 32

Конструктор агрегации Анкета ФИО ГодРожд Адрес (Структура)

Конструктор агрегации

Анкета

ФИО

ГодРожд

Адрес

(Структура)

Слайд 33

Конструктор ассоциации Анкета ФИО ГодРожд Адрес Цех (Массив)

Конструктор ассоциации

Анкета

ФИО

ГодРожд

Адрес

Цех

(Массив)

Слайд 34

Пример суперпозиции типов Авто Гос№ Марка ГАИ Тех. осмотры Замены Дата

Пример суперпозиции типов

Авто

Гос№

Марка

ГАИ

Тех. осмотры

Замены

Дата

Осмотр

№ п/п

Цена

Нет ограничений на ширину и глубину

Слайд 35

2.6. Объектно-ориентированная модель На основе объектного программирования Основные понятия: Многократное использование

2.6. Объектно-ориентированная модель

На основе объектного программирования
Основные понятия:
Многократное использование типов
Иерархия типов
Инкапсуляция

– смесь описания данных (типов) и методов работы с ними
Слайд 36

2.7. Машины БД СУБД относятся к техническим наукам, так как зависят

2.7. Машины БД

СУБД относятся к техническим наукам, так как зависят

от существующей техники
Всегда стояла задача разработки специального оборудования для работы с БД.
Например. Можно ли за один оборот диска найти все записи, содержащие слово «сталь»?

БД

Оборот за 1/50 сек.

10 дисков

ДА. Можно!

Нужно поставить головки
с процессорами на все дорожки
всех дисков.

Слайд 37

СУБД - Teradata (Фирма NCD) Ориентирована на многопроцессорные комплексы Основная проблема:

СУБД - Teradata (Фирма NCD)

Ориентирована на многопроцессорные комплексы
Основная проблема:

1 2

3 4

Производительность

Число процессоров

Слайд 38

2.8. Многомерный куб Для систем оперативного анализа - OLAP (On Line

2.8. Многомерный куб

Для систем оперативного анализа - OLAP (On Line

Analytical Processing)
База данных – многомерный куб

Время

Продукция

Фирма

Слайд 39

Требования Возможность агрегации (Например: Область, район, город) Историчность (есть временная ось)

Требования

Возможность агрегации (Например: Область, район, город)
Историчность (есть временная ось)
Статичность (данные в

многомерном кубе не изменяются во время проведения анализа)
Слайд 40

Основные понятия Измерение (dimension) Ячейка (cell) Срез (slice) подмножество - куб

Основные понятия

Измерение (dimension)
Ячейка (cell)
Срез (slice) подмножество - куб меньшей размерности

Время

Продукция

Фирма

2002

Объем выпуска

Слайд 41

Пример Фирмы BMW Филиалы по странам …… Ford Филиалы по странам

Пример

Фирмы
BMW
Филиалы по странам
……
Ford
Филиалы по странам
……

2. Продукция
Грузовики
Легкие
Тяжелые
……
Автобусы
Микроавтобусы
……

3. Время
Год
Январь
Февраль
Март
Апрель
……

Слайд 42

Пример Ячейки (cell) – объем продаж в денежном выражении Время Фирма 2002 Объем продаж

Пример

Ячейки (cell) – объем продаж в денежном выражении

Время

Фирма

2002

Объем продаж

Слайд 43

2.9. XML - DB Для описания сложных структур данных на языке

2.9. XML - DB

Для описания сложных структур данных на языке

XML (Extensible Markup Language)
База данных содержит XML-документы:

<имя объекта1>
<имя подоб1.1>
<имя данного 1> данное 1 < /имя данного 1>
<имя данного 2> данное 2 < /имя данного 2>
……
< /имя подоб1.1>
……
< /имя объекта1>

Слайд 44

2.10. XML data type. Революция в реляционных СУБД (2005 – 2006 гг.)

2.10. XML data type. Революция в реляционных СУБД (2005 – 2006

гг.)
Слайд 45

Что произошло? Введен новый тип данных XML data type Теперь один

Что произошло?

Введен новый тип данных
XML data type
Теперь один реквизит может

содержать сколь угодно сложно структурированное данное - вплоть до всей БД!
В один день устарели миллионы учебников по СУБД, написанные на всех языках мира
Слайд 46

Почему это случилось? Немного истории

 

 

Почему это случилось? Немного истории

Слайд 47

ADABAS MS SQL dBASE I - IV Clipper Clarion DB2 Oracle

 

 

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

Годы

Сложность
данных

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

Годы

Сложность
данных

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

Годы

Сложность
данных

1960

1970

2006

1980

1990

IMS-1969

IDMS-1970-е

SQL/DS-1981

ИНЕС-1977

НИКА-1990

XML-1998

SGML-1986

Слайд 51

Что не нравилось пользователям и разработчикам?

Что не нравилось пользователям и разработчикам?

Слайд 52

Слайд 53

Революция (контрреволюция) в реляционных СУБД (2005 – 2006 гг.)

Революция (контрреволюция) в реляционных СУБД

(2005 – 2006 гг.)

Слайд 54

XML хорош, если : Данные разрежены Структура данных может существенно изменяться

XML хорош, если :

Данные разрежены
Структура данных может существенно изменяться
Возможна рекурсия

в описании данных
Если нет ни одного из этих условий,
то можно (но не обязательно) использовать РБД
XML Best Practices (http://msdn2.microsoft.com)
Слайд 55

Годы Сложность данных 1960 1970 2006 1980 1990 IMS-1969 IDMS-1970-е SQL/DS-1981

Годы

Сложность
данных

1960

1970

2006

1980

1990

IMS-1969

IDMS-1970-е

SQL/DS-1981

ИНЕС-1977

НИКА-1990

XML-1998

SGML-1986

Ника - технология

Раздвоение всех РСУБД
вслед за MS

Слайд 56