36
База данных и СУБД: основные понятия

База данных и СУБД: основные понятия

  • Upload
    keelty

  • View
    41

  • Download
    5

Embed Size (px)

DESCRIPTION

База данных и СУБД: основные понятия. Информационная система. - PowerPoint PPT Presentation

Citation preview

Page 1: База данных и СУБД: основные понятия

База данных и СУБД: основные понятия

Page 2: База данных и СУБД: основные понятия

В самом широком смысле информационная система представляет собой программный комплекс, функции которого состоят в поддержке надежного хранения информации в памяти компьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса.

Информационная система

Page 3: База данных и СУБД: основные понятия

Эти системы главным образом ориентированы на хранение, выбор и модификацию постоянно существующей информации. Структура информации зачастую очень сложна, и хотя структуры данных различны в разных информационных системах, между ними часто бывает много общего.

На начальном этапе использования вычислительной техники для управления информацией проблемы структуризации данных решались индивидуально в каждой информационной системе. Производились необходимые надстройки над файловыми системами (библиотеки программ), подобно тому, как это делается в компиляторах, редакторах и т.д.

Потребности информационных систем

Page 4: База данных и СУБД: основные понятия

Но поскольку информационные системы требуют сложных структур данных, эти дополнительные индивидуальные средства управления данными являлись существенной частью информационных систем и практически повторялись от одной системы к другой. Стремление выделить и обобщить общую часть информационных систем, ответственную за управление сложно структурированными данными, явилось, на наш взгляд, первой побудительной причиной создания СУБД. Очень скоро стало понятно, что невозможно обойтись общей библиотекой программ, реализующей над стандартной базовой файловой системой более сложные методы хранения данных.

Обобщение управлением сложно структурированными данными

Page 5: База данных и СУБД: основные понятия

Понятие согласованности данных является ключевым понятием баз данных.

Если же некоторая вспомогательная система управления данными позволяет работать с несколькими файлами, обеспечивая их согласованность, можно назвать ее системой управления базами данных. Уже только требование поддержания согласованности данных в нескольких файлах не позволяет обойтись библиотекой функций: такая система должна иметь некоторые собственные данные (метаданные) и даже знания, определяющие целостность данных.

Но это еще не все, что обычно требуют от СУБД. Необходимо, чтобы СУБД позволяла сформулировать некоторый запрос к данным на близком пользователям языке. Такие языки называются языками запросов к базам данных.

Page 6: База данных и СУБД: основные понятия

Базовые понятия

База данных (БД) – это структура, содержащая данные, их описания и связи. БД представляет собой самостоятельный информационный ресурс, который может многократно использоваться различными приложениями.

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

Page 7: База данных и СУБД: основные понятия

База данных: общее понятие

База данных:

• хранилище информации

• отражает объект реального мира

• имитирует деятельность объекта реального мира

Page 8: База данных и СУБД: основные понятия

Функции СУБД.

Непосредственное управление данными во внешней памяти

Управление буферами оперативной памяти

Управление транзакциями

Журнализация

Поддержка языков БД

Page 9: База данных и СУБД: основные понятия

Модели построения баз данных

1.1. ИерархическаяИерархическая, основанная на древовидной структуре, которая поддерживает отношение данных типа «один ко многим».

2.2. Сетевая Сетевая в виде графа, поддерживающая отношение данных типа «многие ко многим».

3.3. РеляционнаяРеляционная с представлением данных в виде взаимосвязанных двумерных таблиц.

4.4. ПостреляционнаяПостреляционная более сложной структуры, например, со вложением одной таблицы в другую таблицу.

5.5. Объектно-ориентированнаяОбъектно-ориентированная.

6.6. Многомерная Многомерная с таблицами в виде гиперкуба.

Page 10: База данных и СУБД: основные понятия

База данных: пример

База данных школы №1:

• Преподаватели: Иванов, Кузнецов

• Ученики: Петров, Сидоров, Федоров, Семенов, Алексеев

• Обучение:

Петров, Сидоров, Федоров - преподаватель Иванов

Петров, Семенов, Алексеев - преподаватель Кузнецов

Page 11: База данных и СУБД: основные понятия

Двумерный файл

Школа Преподаватели Ученики №1 Иванов Петров №1 Иванов Сидоров №1 Иванов Федоров №1 Кузнецов Семенов №1 Кузнецов Петров №1 Кузнецов Алексеев

Page 12: База данных и СУБД: основные понятия

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

• База данных - файл

• Записи логически организованы в виде дерева

• Жесткое отношение подчиненности: каждая ветвь имеет не более одного корня

Page 13: База данных и СУБД: основные понятия

Иерархическая модель: пример

Школа №1

Ученик Петров

Преподаватель Иванов Преподаватель Кузнецов

Ученик Сидоров

Ученик Семенов

Ученик Петров

Ученик Федоров

Ученик Алексеев

Page 14: База данных и СУБД: основные понятия

Сетевая модель

• База данных - файл

• Записи логически организованы в виде сети

• Произвольное отношение подчиненности: ветвь может иметь более одного корня

Page 15: База данных и СУБД: основные понятия

Сетевая модель: пример

Школа №1

Ученик Сидоров

Преподаватель Иванов Преподаватель Кузнецов

Ученик Петров

Ученик Семенов

Ученик Федоров

Ученик Алексеев

Page 16: База данных и СУБД: основные понятия

Реляционная база данных

Реляционная модель БД , предложенная Е. Коддом в 1970-х гг., основана на математической теории отношений и опирается на систему понятий реляционной алгебры, важнейшими из которых являются:

- двумерная таблица (отношение);

- строка-запись (кортеж);

- столбец-поле (атрибут);

- множество значений столбца (домен);

- первичный и внешний ключи.

В целом реляционная БД – это несколько связанных между собой плоских таблиц.

Page 17: База данных и СУБД: основные понятия

Реляционная модель: структура

Преподаватели№ Фамилия № школы

1 Иванов 12 Кузнецов 1

Ученики№ Фамилия № школы

1 Петров 12 Сидоров 13 Федоров 14 Семенов 15 Алексеев 1

Обучение № преподавателя № ученика

1 11 21 32 12 42 5

Школы

1

Page 18: База данных и СУБД: основные понятия

Реляционная модель: целостность

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

• Первичный ключ (Primary key) - уникальный идентификатор каждой строки в таблице, предотвращает избыточность данных

• Внешний ключ (Foreign key) - ссылка на первичный ключ в той же самой или другой таблице, обеспечивает непротиворечивость и целостность данных

Page 19: База данных и СУБД: основные понятия

Реляционная модель: целостность

Обучение № преподавателя№ ученика

Ученики№ Фамилия№ школы

Преподаватели№ Фамилия№ школы

Школы

№ преподавателя

№ ученика

№ школы

№ школы

Page 20: База данных и СУБД: основные понятия

Реляционная модель: манипулирование

Формальные языки запросов:

• Реляционная алгебра

• Реляционное исчисление кортежей

• Реляционное исчисление доменов

• Табло запросов

Page 21: База данных и СУБД: основные понятия

Реализация формальных языков запросов:

• ISBL

• QUEL

• SQL

• QBE

Реляционная модель: манипулирование

Page 22: База данных и СУБД: основные понятия

SQL ANSI 92 (Structured Query Language)

• Стандартизированный язык запросов для доступа к базам данных

• Теоретическая основа - реляционное исчисление кортежей

• Поддерживается всеми современными СУБД

• Взаимодействие между различными СУБД при помощи протокола ODBC

Page 23: База данных и СУБД: основные понятия

SQL ANSI 92

• Язык определения данных (DDL)

• Язык манипулирования данными (DML)

• Язык управления данными (DCL)

• Язык управления транзакциями

Page 24: База данных и СУБД: основные понятия

SQL ANSI 92: пример запроса

SQL> select id,last_name,salary 2 from s_emp 3 where title = 'Stock Clerk' 4 order by 3,2 desc;

Page 25: База данных и СУБД: основные понятия

ID LAST_NAME SALARY--------- ------------------------- --------- 20 Newman 750 19 Patel 795 23 Patel 795 22 Chang 800 21 Markarian 850 24 Dancs 860 17 Smith 940 25 Schwartz 1100 18 Nozaki 1200

16 Maduro 1400

SQL ANSI 92: ответ на запрос

Page 26: База данных и СУБД: основные понятия

Система управления базой данных (СУБД)

• Языки запросов

• Процедурные языки

• Средства создания экранных форм

• Средства генерации отчетов

• Средства графического представления информации

• Средства организации работы с базой данных через WWW

Page 27: База данных и СУБД: основные понятия

Типы СУБД• Корпоративные: (Oracle, MS SQL Server)

архитектура клиент-сервер

работа в сети (включая Internet)

подключение тысяч пользователей

• СУБД для небольших рабочих групп и индивидуальной работы (Access, FoxPro)

локальное хранение информации

подключение небольшого количества пользователей

Page 28: База данных и СУБД: основные понятия

Архитектура клиент-сервер СУБД

СЕРВЕР

КЛИЕНТ КЛИЕНТ КЛИЕНТ

Хранение информацииПолучение запросовОтвет на запросы

Запрашивание сервераПолучение ответовХранение ответовзап

рос

ответ

Page 29: База данных и СУБД: основные понятия

Интерфейс базы данных

Экранная форма:

• Форма для локальной работы с базой данных (приложение СУБД)

• Форма в виде Web-страницы для работы с базой данных удаленно (Web-интерфейс)

Page 30: База данных и СУБД: основные понятия

Открытый интерфейс к базам данных

• Свободный доступ к базе данных

• Выполнение транзакций базы данных

• Примеры: Электронный магазин

Гостевая книга

Конференции, форумы

Page 31: База данных и СУБД: основные понятия

Средства организации работы с базой данных через WWW

• Языки программирования

PERL

JAVA

PHP

• Драйверы (обработчики)

DBI

JDBC

Page 32: База данных и СУБД: основные понятия

Схема доступа к базе данных из службы WWW

Page 33: База данных и СУБД: основные понятия

Схема доступа к базе данных из службы WWW

Драйвер

Web-браузер

Web-сервер

Page 34: База данных и СУБД: основные понятия

Технологии доступа к базе данных из службы WWW

MS SQL Server

Page 35: База данных и СУБД: основные понятия

Технологии доступа к базе данных из службы WWW

Page 36: База данных и СУБД: основные понятия

Заключение

• База данных, реляционная модель

• SQL ANSI 92

• СУБД, архитектура клиент-сервер в СУБД

• Работа с базой данных через WWW