- •Серверы баз данных Курс лекций
- •Предисловие
- •Серверы баз данных. Основные понятия
- •История развития субд
- •Перспективы развития субд
- •Трехуровневая архитектура бд. Ее назначение
- •Пользователи бд
- •Разработчики и администраторы приложений.
- •Контрольные вопросы
- •Модели клиент- сервер в технологии бд
- •Двухуровневые модели
- •Модель удаленного доступа к данным
- •Удаленная презентация (Модель сервера бд)
- •Модель распределенной бд
- •Модель сервера приложений
- •Проектирование баз данных
- •Этапы разработки базы данных
- •Критерии оценки качества логической модели данных
- •Алгоритм нормализации (приведение к 3нф)
- •Элементы модели "сущность-связь"
- •Основные понятия er-диаграмм
- •Пример разработки er-модели
- •Описание предметной области
- •Описание сущностей и типов связей
- •П ереход к реляционной модели
- •Концептуальные и физические er-модели
- •Контрольные вопросы
- •Языки бд. Язык определения данных
- •Создание бд. Способы создания бд
- •Создание таблиц базы данных
- •Декларативные ограничения при создании таблиц
- •Задание ограничений ссылочной целостности
- •Изменение таблиц
- •Создание индексов в системе sql-сервер
- •Кластеризованный индекс
- •Контрольные вопросы
- •Языки бд. Язык управления данными
- •Выборка данных
- •Сортировка результатов запроса
- •Вложение запросов
- •Создание таблицы из набора результатов
- •Использование оператора union
- •Запросы на модификацию данных
- •Запросы на удаление
- •Запросы на добавление
- •Вставка записей из другой таблицы
- •Добавление данных в указанные поля
- •Values(‘31.03.03’,’согласен’,3000,4)
- •Запросы на обновление
- •Контрольные вопросы
- •Создание представлений
- •Создание, удаление и обновление представлений
- •Модифицируемые и немодифицируемые представления
- •Контрольные вопросы
- •Хранимые процедуры
- •Элементы Transact sql
- •Оператор условия
- •Циклическое выполнение операций
- •Функции
- •Создание хранимых процедур
- •Выполнение хранимой процедуры.
- •Контрольные вопросы
- •Триггеры
- •Назначение триггеров
- •Создание триггеров
- •Принцип работы триггеров
- •Включение и отключение триггера. Удаление триггера, Просмотр информации о триггерах
- •Контрольные вопросы
- •Транзакции и блокировки
- •Понятие транзакции
- •Свойства транзакций. Способы завершения транзакций
- •Операторы Transact sql для работы с транзакциями
- •Журнал транзакций.
- •Блокировки.
- •Сериалиация транзакций
- •Переопределение блокировок на уровне запроса. Типы блокировок
- •Контрольные вопросы
- •Безопасность данных и привилегии
- •Принципы защиты баз данных от несанкционированного доступа
- •Защита данных в системе ms sql Server
- •Контрольные вопросы
- •Организация доступа к бд из прикладных программ
- •Понятие курсора
- •Интерфейс прикладного программирования
- •Архитектура odbc
- •Архитектура odbc
- •Контрольные вопросы
- •Файловые структуры, используемые для хранения информации в бд.
- •Файлы прямого и последовательного доступа
- •Индексные файлы
- •Файлы с плотным индексом
- •Файлы с неплотным индексом
- •Моделирование отношений 1:м на файловых структурах
- •Моделирование отношений 1:м с использованием однонаправленных указателей
- •Структура записи подчиненного файла.
- •Алгоритм удаление записи из цепочки подчиненного файла.
- •Инвертированные списки
- •К Рисунок 14 онтрольные вопросы
- •Литература
- •Содержание
Перспективы развития субд
Развивается новая технология доступа к данным – Intranet. Основное отличие этой технологии от технологии клиент-сервер заключается в том, что отпадает необходимость разработки специального клиентского программного обеспечения. Для работы с удаленной БД используется стандартный браузер Интернета. При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языке Java, Java-script, Perl и других языках, отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к БД, выполняя, таким образом, ту работу, которую в технологии клиент-сервер выполняет клиентская программа. Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к базе данных, но и для локальной сети предприятий. Простые задачи обработки данных, не связанные со сложными алгоритмами, которые требовали бы согласованного изменения данных во многих взаимосвязанных объектах, достаточно просто и эффективно могут быть реализованы в данной архитектуре.
Трехуровневая архитектура бд. Ее назначение
Основная цель системы управления БД заключается в том, чтобы предоставить пользователю абстрактное представление данных, скрыв конкретные особенности хранения и управления данными. Следовательно, отправной точкой при проектировании БД должно быть общее описание информационных потребностей организации, которые должны найти отражение в создаваемой БД.
Кроме того, поскольку БД является общим ресурсом, то каждому пользователю может потребоваться свое, отличное от других представление о характеристиках информации, представленной в БД. Для удовлетворения этих потребностей структура большинства современных коммерческих СУБД в той или иной степени строится на базе так называемой архитектуры ANSI-SPARC.
Трехуровневая архитектура ANSI-SPARC
А
Рисунок 1
В
нешний
уровень – представление данных с
точки зрения пользователей. Он состоит
из нескольких различных внешних
представлений БД.
Каждый пользователь имеет дело с представлением “реального мира” в наиболее удобной для него форме. Внешнее представление данного пользователя содержит только те сущности, атрибуты и связи, которые ему интересны. Он может ничего не знать о других сущностях, содержащихся в базе. Кроме того, различные представления могут по-разному отображать одни и те же данные (например, форматы дат). Некоторые представления могут содержать производные или вычисляемые данные, которые не хранятся в БД, а создаются по мере надобности.
Концептуальный уровень – обобщающее представление БД. Описывает то, какие данные содержатся в БД, а также связи между ними. Этот уровень содержит логическую структуру БД с точки зрения администратора БД. На концептуальном уровне представлены следующие компоненты:
все сущности, их атрибуты и связи;
ограничения, накладываемые на данные;
семантическая информация о данных;
информация о мерах обеспечения безопасности и поддержки целостности данных.
Концептуальный уровень поддерживает каждое внешнее представление. Однако этот уровень не содержит никаких сведений о методах хранения данных. Например, описание сущности должно содержать сведения о типах данных, их длине или максимальном количестве символов, но не должно содержать сведений об организации хранения, например об объеме пространства, в байтах.
Внутренний уровень. Физическое представление БД в памяти компьютера. Этот уровень описывает, как информация хранится в базе данных. Он содержит описание структур данных и организации отдельных файлов, используемых для хранения данных на запоминающих устройствах. На этом уровне осуществляется взаимодействие СУБД с методами доступа ОС. На внутреннем уровне хранится следующая информация:
распределение дискового пространства для хранения данных и индексов.
сведения о размещении записей.
сведения о сжатии данных и выбранных методах их шифрования.
Эта архитектура позволяет обеспечить логическую и физическую независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же БД. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с этими данными.
