
- •Конспект лекций
- •Раздел «бд. Субд. Основные понятия» 8
- •2. Жизненный цикл баз данных
- •3 Эксплуатационные характеристики базы данных
- •Раздел «бд. Субд. Основные понятия»
- •4. Управление параллельным доступом.
- •Раздел «бд. Субд. Основные понятия» Лекция №3 Место баз данных в архитектуре ис
- •1 Локальные ис
- •2 Ис в файл-серверной архитектуре
- •3 Ис в клиент-серверной архитектуре
- •4 Двухзвенные модели архитектуры
- •5 Трехзвенные модели
- •6 Монитор транзакций
- •7 Ис в Internet и intranet
- •Раздел «Концептуальный уровень проектирования бд» Лекция №4 Концептуальная модель данных. Сущности, атрибуты, ключи
- •1 Основные понятия
- •2 Задачи моделирования данных
- •3 Сущности
- •4 Атрибуты
- •5 Ключи
- •Раздел «Концептуальный уровень проектирования бд» Лекция №5 Концептуальная модель данных. Связи. Классы и подклассы. Концептуальная схема
- •1 Связи
- •2 Классы и подклассы
- •3 Источники данных для концептуального проектирования
- •4 Построение концептуальной схемы
- •5 Анализ концептуальной модели
- •Раздел «Логический уровень проектирования бд»
- •3.3 Реляционная модель
- •3.4 Объектно-реляционная модель
- •3.5 Объектно-ориентированная модель данных
- •3.6 Модель данных на основе xml
- •Раздел «Реляционная теория бд» Лекция №7 Реляционная модель данных. Основные понятия
- •1 Словарь терминов
- •2 Целостность реляционной модели
- •3 Математическое описание реляционной модели
- •Раздел «Реляционная теория бд» Лекция №8 Реляционная алгебра и реляционное исчисление
- •1 Реляционная алгебра. Теоретико-множественные операции
- •2 Реляционная алгебра. Специальные реляционные операции
- •3 Дополнительные реляционные операции
- •4 Примеры записи запросов
- •5 Реляционное исчисление
- •Раздел «Реляционная теория бд» Лекция №9 Нормализация реляционной модели. Функциональные зависимости
- •1 Что такое нормализация?
- •2 Функциональная зависимость
- •3 Теоремы о функциональных зависимостях
- •5 Алгоритм нормализации отношений. Метод декомпозиции
- •6 Другие нормальные формы
- •Раздел «Реляционная теория бд»
- •1.2 Связь частичная для одной из сущностей
- •1.3 Связь частичная для обеих сущностей
- •2 Реализация бинарной связи 1:m («один-ко-многим»)
- •2.1 Связь обязательная для m-связной сущности
- •2.2 Связь частичная для m-связной сущности
- •3 Бинарная связь n:m («многие-ко-многим»)
- •4 Связи более высокого порядка (n-арные)
- •5 Классы и подклассы
- •Раздел «Реляционная теория бд» Лекция №12 Стандарт idef1x
- •1 Стандарты моделирования данных
- •2 Основные понятия стандарта idef1x
- •3 Графический язык idef1x
- •Раздел «Физический уровень проектирования бд» Лекция №13 Физическая модель данных
- •1 Исходные данные для физического проектирования
- •2 Возможная методика перехода к физической модели на примере реляционной модели
- •2.1 Преобразование отношений в таблицы
- •2.2 Преобразование атрибутов в поля (столбцы) таблиц
- •2.3 Преобразование доменов в типы данных
- •2.4 Первичные ключи
- •2.5 Порядок расположения столбцов
- •2.6 Создание ссылочных ограничений
- •3 Факторы, влияющие на производительность бд
- •3.1 Индексы
- •3.2 Денормализация
- •Раздел «Язык sql» Лекция №14 Введение в язык sql. Команда Select
- •1 Стандарты
- •2 Возможности sql
- •3 Запросы на выборку данных
- •4 Примеры запросов
- •Раздел «Язык sql» Лекция №15 Команды определения данных
- •1 Команда create table
- •2 Команда alter table
- •3 Поддержка ограничений целостности
- •4. Редактирование записей в таблице
- •Раздел «Язык sql» Лекция №16 Дополнительные аспекты реляционной технологии
- •1 Проблемы, требующие решения
- •2 Запросы
- •3 Представления
- •4 Курсоры
- •5 Хранимые процедуры
- •6 Триггеры
- •7 Функции, определяемые пользователем
- •8 Транзакции
Раздел «бд. Субд. Основные понятия»
Лекция №2
Введение в СУБД
1 Функции СУБД
Рассмотрим основные функции СУБД, которые непосредственно оказывают влияние на решение задач, связанных с поддержкой жизненного цикла баз данных.
1. Поддержка модели данных.
СУБД различаются по моделям данных, на которых они базируются.
Модель данных – это набор понятий, использующихся для описания данных. Модель определяет способ хранения данных, способ манипулирования данными и способ поддержки целостности данных (корректности, правильности, актуальности данных).
Например, в реляционной модели данных способ хранения данных основан на математическом понятии отношение, способы манипулирования данными основаны на реляционной алгебре, исчислении кортежей и исчислении доменов, поддержка целостности базы данных основана на реляционной алгебре и реляционном исчислении.
Наиболее известны следующие модели данных:
иерархическая;
сетевая или CODASIL;
реляционная;
объектно-ориентированная;
постреляционная или объектно-реляционная;
модель на основе XML.
Большинство современных СУБД поддерживает постреляционную модель, а БД, с которыми они работают, часто называют SQL-БД.
В настоящее время в программной индустрии встречается термин NoSQL база данных. Более подробно об этом направлении можно посмотреть, например, в http://habrahabr.ru/post/152477/.
Обеспечение независимости данных и программ.
Любая СУБД предоставляет программистам API (Application Programming Interface) для работы с БД, что позволяет избегать изменения программ из-за изменения баз данных.
Основным API для реляционных БД является язык SQL. При внесении изменений в базу большинство операторов в SQL-программе изменять не требуется.
Обеспечение безопасности данных.
Запрет неавторизованным пользователям просматривать и обновлять базу данных и др.
4. Управление параллельным доступом.
Предоставление доступа множеству параллельно выполняющихся пользовательских программ.
5. Ведение журнала регистрации баз данных (журнал транзакций).
6. Поддержка целостности баз данных.
Обеспечение хранения правильных данных в базе данных.
7. Обеспечение доступа к данным.
СУБД предоставляют стандартный язык запросов, позволяющий интерактивно запрашивать данные и анализировать их.
Для реляционных баз данных этим стандартным языком является SQL – язык структурированных запросов.
Кроме SQL СУБД может предоставлять еще более простые инструменты доступа к данным.
Более подробно о функциях СУБД можно прочитать, например, в книгах Кристофера Дейта (Christopher J. Date).
2 Состояние рынка СУБД
Рынок СУБД активно развивается. Данные о программных продуктах и их владельцах быстро устаревают. Ситуация на 2010 г. [CNewsAnalytics] выглядит примерно так.
На мировом рынке систем управления базами данных (СУБД) доминирует "большая тройка" - IBM DB2, Microsoft SQL Server и Oracle. На их общую долю приходится почти 90% продаж.
Рынок СУБД представлен тремя основными группами продуктов:
СУБД и БД для выполнения онлайновых транзакций (Online transaction processing, OLTP);
хранилища данных;
специализированные СУБД.
Продукты первой группы используются в различных приложениях (ERP, CRM и др.) в режиме реального времени, что предполагает высокие требования к производительности, надёжности, безопасности и масштабируемости. В этой группе представлены продукты от CA, IBM, Microsoft, Oracle, Software AG и Sybase. В рамках открытых проектов в эту группу входят Ingres, MySQL и PostgreSQL.
Хранилища данных – это инструмент аналитической обработки информации (Online analytical processing, OLAP) в системах поддержки принятия решений (Decision Support System, DSS). На рынке представлены решения от IBM, Microsoft, Oracle, Ingres, Sybase и продукты от компаний, ориентированных, именно, на хранилища данных, Greenplum, Netezza и Teradata.
Специализированные БД используются, например, в мобильных устройствах, XML-приложениях и пр. СУБД этой группы выпускают как компании «большой тройки», так и менее крупные разработчики, например, Mark Logic, Progress, Software AG и другие.
Более подробно информацию о линейке продуктов можно посмотреть на сайтах основных поставщиков СУБД. Вернуться в содержание