База данных и СУБД: основные понятия
База данных: общее понятие База данных: хранилище информации отражает объект реального мира имитирует деятельность объекта реального мира
Модели баз данных: историческое развитие Двумерный файл Иерархическая модель Сетевая модель Реляционная модель Объектно-реляционная модель
База данных: пример База данных школы 1: Преподаватели: Иванов, Кузнецов Ученики: Петров, Сидоров, Федоров, Семенов, Алексеев Обучение: Петров, Сидоров, Федоров - преподаватель Иванов Петров, Семенов, Алексеев - преподаватель Кузнецов
Двумерный файл
Иерархическая модель База данных - файл Записи логически организованы в виде дерева Жесткое отношение подчиненности: каждая ветвь имеет не более одного корня
Иерархическая модель: пример Школа 1 Ученик Петров Преподаватель Иванов Преподаватель Кузнецов Ученик Сидоров Ученик Семенов Ученик Петров Ученик Федоров Ученик Алексеев
Сетевая модель База данных - файл Записи логически организованы в виде сети Произвольное отношение подчиненности: ветвь может иметь более одного корня
Сетевая модель: пример Школа 1 Ученик Сидоров Преподаватель Иванов Преподаватель Кузнецов Ученик Петров Ученик Семенов Ученик Федоров Ученик Алексеев
Реляционная модель Структура: данные хранятся в виде совокупности двумерных таблиц (отношений) Целостность: Существуют ограничения - структуры для обеспечения непротиворечивости и целостности базы данных Манипулирование: Существует набор операторов для воздействия на отношения (обновление содержимого отношений, создание новых отношений)
База данных - файл; набор файлов; сервер Таблица - основная структура хранения данных, состоит из строк и столбцов (количество столбцов - более одного, количество строк - не ограничено) В столбце содержатся данные одного типа Строки должны быть уникальными Поле находится на пересечении строки и столбца, содержит данные Реляционная модель: структура
Реляционная модель: целостность Ограничения, направленные на обеспечение целостности: Первичный ключ (Primary key) - уникальный идентификатор каждой строки в таблице, предотвращает избыточность данных Внешний ключ (Foreign key) - ссылка на первичный ключ в той же самой или другой таблице, обеспечивает непротиворечивость и целостность данных
Реляционная модель: целостность преподавателя ученика школы
Реляционная модель: манипулирование Формальные языки запросов: Реляционная алгебра Реляционное исчисление кортежей Реляционное исчисление доменов Табло запросов
Реализация формальных языков запросов: ISBL QUEL SQL QBE Реляционная модель: манипулирование
SQL ANSI 92 (Structured Query Language) Стандартизированный язык запросов для доступа к базам данных Теоретическая основа - реляционное исчисление кортежей Поддерживается всеми современными СУБД Взаимодействие между различными СУБД при помощи протокола ODBC
SQL ANSI 92 Язык определения данных (DDL) Язык манипулирования данными (DML) Язык управления данными (DCL) Язык управления транзакциями
SQL ANSI 92: пример запроса SQL> select id,last_name,salary 2 from s_emp 3 where title = 'Stock Clerk' 4 order by 3,2 desc;
ID LAST_NAME SALARY Newman Patel Patel Chang Markarian Dancs Smith Schwartz Nozaki Maduro 1400 SQL ANSI 92: ответ на запрос
Система управления базой данных (СУБД) Языки запросов Процедурные языки Средства создания экранных форм Средства генерации отчетов Средства графического представления информации Средства организации работы с базой данных через WWW
Типы СУБД Корпоративные: (Oracle, MS SQL Server) архитектура клиент-сервер работа в сети (включая Internet) подключение тысяч пользователей СУБД для небольших рабочих групп и индивидуальной работы (Access, FoxPro) локальное хранение информации подключение небольшого количества пользователей
Архитектура клиент-сервер СУБД СЕРВЕР КЛИЕНТ Хранение информации Получение запросов Ответ на запросы Запрашивание сервера Получение ответов Хранение ответов запрос ответ
Разработка структуры базы данных Сбор информации Проектирование 1. Метод декомпозиции - определение таблиц и ограничений на основе функциональных зависимостей 2. Метод ER-моделирования - определение таблиц и ограничений на основе выделения сущностей, атрибутов и связей.
Метод декомпозиции Составление универсального отношения Декомпозиция универсального отношения: выделение в отдельные таблицы функционально зависимых столбцов Создание первичных ключей для столбцов, функционально независимых Создание внешних ключей для столбцов, содержащих данные, идентичные по смыслу данным первичных ключей
Метод ER-моделирования Сущность - существенный объект или факт, дискретная категория или совокупность взаимосвязанных данных, информацию о которых необходимо хранить Атрибут - характеристика, которая описывает или классифицирует сущность Связь - двунаправленная ассоциация между двумя сущностями
Проектирование на основе метода ER-моделирования Преобразование сущностей в таблицы Преобразование атрибутов в столбцы Выделение уникальных идентификаторов сущностей и преобразование их в первичные ключи Преобразование связей во внешние ключи
Проект базы данных: пример преподавателя ученика школы
Интерфейс базы данных Экранная форма: Форма для локальной работы с базой данных (приложение СУБД) Форма в виде Web-страницы для работы с базой данных удаленно (Web-интерфейс)
Открытый интерфейс к базам данных Свободный доступ к базе данных Выполнение транзакций базы данных Примеры: Электронный магазин Гостевая книга Конференции, форумы
Средства организации работы с базой данных через WWW Языки программирования PERL JAVA Драйверы (обработчики) DBI JDBC
Схема доступа к базе данных из службы WWW
Драйвер Web-браузер Web-сервер
Технологии доступа к базе данных из службы WWW MS SQL Server
Технологии доступа к базе данных из службы WWW
Заключение База данных, реляционная модель SQL ANSI 92 СУБД, архитектура клиент-сервер в СУБД Проектирование базы данных Работа с базой данных через WWW