 
        
        - •Серверы баз данных Курс лекций
- •Предисловие
- •Серверы баз данных. Основные понятия
- •История развития субд
- •Перспективы развития субд
- •Трехуровневая архитектура бд. Ее назначение
- •Пользователи бд
- •Разработчики и администраторы приложений.
- •Контрольные вопросы
- •Модели клиент- сервер в технологии бд
- •Двухуровневые модели
- •Модель удаленного доступа к данным
- •Удаленная презентация (Модель сервера бд)
- •Модель распределенной бд
- •Модель сервера приложений
- •Проектирование баз данных
- •Этапы разработки базы данных
- •Критерии оценки качества логической модели данных
- •Алгоритм нормализации (приведение к 3нф)
- •Элементы модели "сущность-связь"
- •Основные понятия er-диаграмм
- •Пример разработки er-модели
- •Описание предметной области
- •Описание сущностей и типов связей
- •П ереход к реляционной модели
- •Концептуальные и физические er-модели
- •Контрольные вопросы
- •Языки бд. Язык определения данных
- •Создание бд. Способы создания бд
- •Создание таблиц базы данных
- •Декларативные ограничения при создании таблиц
- •Задание ограничений ссылочной целостности
- •Изменение таблиц
- •Создание индексов в системе sql-сервер
- •Кластеризованный индекс
- •Контрольные вопросы
- •Языки бд. Язык управления данными
- •Выборка данных
- •Сортировка результатов запроса
- •Вложение запросов
- •Создание таблицы из набора результатов
- •Использование оператора union
- •Запросы на модификацию данных
- •Запросы на удаление
- •Запросы на добавление
- •Вставка записей из другой таблицы
- •Добавление данных в указанные поля
- •Values(‘31.03.03’,’согласен’,3000,4)
- •Запросы на обновление
- •Контрольные вопросы
- •Создание представлений
- •Создание, удаление и обновление представлений
- •Модифицируемые и немодифицируемые представления
- •Контрольные вопросы
- •Хранимые процедуры
- •Элементы Transact sql
- •Оператор условия
- •Циклическое выполнение операций
- •Функции
- •Создание хранимых процедур
- •Выполнение хранимой процедуры.
- •Контрольные вопросы
- •Триггеры
- •Назначение триггеров
- •Создание триггеров
- •Принцип работы триггеров
- •Включение и отключение триггера. Удаление триггера, Просмотр информации о триггерах
- •Контрольные вопросы
- •Транзакции и блокировки
- •Понятие транзакции
- •Свойства транзакций. Способы завершения транзакций
- •Операторы Transact sql для работы с транзакциями
- •Журнал транзакций.
- •Блокировки.
- •Сериалиация транзакций
- •Переопределение блокировок на уровне запроса. Типы блокировок
- •Контрольные вопросы
- •Безопасность данных и привилегии
- •Принципы защиты баз данных от несанкционированного доступа
- •Защита данных в системе ms sql Server
- •Контрольные вопросы
- •Организация доступа к бд из прикладных программ
- •Понятие курсора
- •Интерфейс прикладного программирования
- •Архитектура odbc
- •Архитектура odbc
- •Контрольные вопросы
- •Файловые структуры, используемые для хранения информации в бд.
- •Файлы прямого и последовательного доступа
- •Индексные файлы
- •Файлы с плотным индексом
- •Файлы с неплотным индексом
- •Моделирование отношений 1:м на файловых структурах
- •Моделирование отношений 1:м с использованием однонаправленных указателей
- •Структура записи подчиненного файла.
- •Алгоритм удаление записи из цепочки подчиненного файла.
- •Инвертированные списки
- •К Рисунок 14 онтрольные вопросы
- •Литература
- •Содержание
Министерство образования Республики Беларусь
Учреждение образования «Витебский государственный университет им. П.М. Машерова»
Серверы баз данных Курс лекций
Витебск
Издательство УО «ВГУ им. П.М. Машерова»
2005
УДК 681.3(075)
ББК 32.973.26-018.2я73
Автор: доцент кафедры информатики и ИТ УО «ВГУ им. П.М. Машерова», кандидат педагогических наук Адаменко Н.Д.
Рецензенты: кафедра прикладной математики и механики УО “ВГУ им. П.М. Машерова”, заведующий кафедрой прикладной математики и механики УО “ВГУ им. П.М. Машерова”, кандидат физико-математических наук, доцент Л.В. Маркова
Научный редактор: доцент
Адаменко Н.Д
Серверы баз данных: Курс лекций / Н.Д. Адаменко.– Витебск: Издательство УО «ВГУ им. П.М. Машерова», 2005, - с.
В учебном пособии рассмотрены теоретические основы, на которых базируется практика разработки современных многопользовательских систем управления базами данных на базе технологии клиент-сервер. Основное внимание уделено созданию объектов базы – таблиц, запросов, хранимых процедур, триггеров с использованием языка SQL.
Предназначается для студентов математического факультета по специальности «Прикладная математика». Материалы пособия могут найти применение при изучении курсов, связанных с освоением способов разработки информационных систем на основе баз данных.
УДК 681.3(075)
ББК 32.973.26-018.2я73
ISBN © Адаменко Н.Д.,2005©УО «ВГУ им. П.М. Машерова», 2005
Предисловие
В связи с широким распространением многопользовательских информационных систем актуальной становится задача подготовки специалистов в области распределенной обработки данных. В пособии рассмотрены теоретические основы, на которых базируется практика разработки современных cистем обработки информации с применением современных серверов баз данных. Основное внимание уделено способам создания объектов базы – таблиц, запросов, хранимых процедур, триггеров с использованием языка SQL. Рассматриваются программные средства поддержания целостности данных.
В технологии разработки многопользовательских информационных систем значительное внимание уделяется безопасности данных при их совместной обработке, поэтому в пособии рассматриваются такие фундаментальные понятия БД как транзакции, блокировки, вопросы, связанные с администрирования баз данных. В частности – управление правами доступа и привилегиями, а также резервное копирование данных и восстановление после сбоев.
В пособии представлены основные способы доступа к базам даных из прикладных программ.
Предлагаемый курс лекций прошел успешную экспериментальную проверку на математическом ВГУ при изучении спецкурса “Серверы баз данных”.
- Серверы баз данных. Основные понятия- История развития субд
 
История развития СУБД насчитывает > 30 лет. В 1968 году была введена в эксплуатацию первая промышленная СУБД – система IMS фирмы IBM.
1-й этап развития СУБД связан с организацией БД на больших машинах типа IBM360/370. БД хранились во внешней памяти центральной ЭВМ. Программы доступа к БД писались на различных языках. Интерактивный доступ обеспечивался с помощью консольных терминалов, которые не обладали собственными вычислительными ресурсами, и служили только устройствами ввода- вывода для центральной ЭВМ.
На втором этапе - с появлением ПК начали развиваться настольные СУБД с монопольным доступом. Большинство СУБД имели удобный пользовательский интерфейс. В них был предусмотрен интерактивный режим работы с БД, как для описания БД, так и для проектирования запросов. Многие СУБД имели развитый и удобный инструментарий для разработки готовых приложений без программирования. Инструментальная среда состояла из готовых элементов приложения в виде шаблонов экранных форм, отчетов, конструкторов запросов, которые достаточно просто могли быть собраны в единый комплекс. Наличие монопольного режима работы, фактически, привело к вырождению функций администрирования БД, и в связи с этим в них отсутствовали инструментальные средства администрирования БД. Яркие представители этого семейства СУБД, – очень широко использовавшиеся до недавнего времени СУБД DBASE(III+,IV),FoxPro, Clipper, Paradox.
Третий этап развития СУБД связан с широким развитием локальных сетей. Работа на изолированном компьютере с небольшой БД в настоящее время становится нехарактерной для большинства приложений. Компьютеры объединяются в сети и необходимость распределения приложений, работающих с единой БД совершенно очевидна.
БД при этом становится доступна одновременно многим пользователям. Поэтому важной является проблема согласованности данных, хранящихся и обрабатывающихся в разных местах, но логически друг с другом связанных. Возникают задачи, связанные с параллельной обработкой транзакций – последовательности операций над БД, переводящих ее из одного непротиворечивого состояния в другое непротиворечивое состояние. Успешное решение этих задач приводит к появлению распределенных БД и баз данных с распределенной обработкой, позволяющих организовать параллельную обработку информации и поддержку целостности БД.
Параллельный доступ нескольких пользователей к одной БД, расположенной на одном компьютере, соответствует режиму распределенного доступа к централизованной БД. Такие системы называются системами распределенной обработки данных.
Если БД распределена по нескольким компьютерам, расположенным в сети, и к ней возможен параллельный доступ, то мы имеем дело с параллельным доступом к распределенной БД. Такие системы называют системами распределенных БД.
Большинство современных СУБД рассчитаны на многоплатформенную архитектуру. Они могут работать на компьютерах разной архитектуры и под разными ОС. При этом для пользователей доступ к данным, управляемым СУБД на разных платформах, практически неразличим. Необходимость поддержки многопользовательской работы с БД и возможность децентрализованного хранения данных потребовали развития средств администрирования БД с реализацией общей концепции средств защиты данных.
Для того чтобы не потерять клиентов, которые ранее работали, с настольными СУБД, практически все современные СУБД имеют средства подключения клиентских приложений, и средства экспорта данных из форматов настольных СУБД.
К этому же этапу относится разработка ряда стандартов языков описания и манипулирования данными, начиная с SQL 89, SQL92, SQL99 и технологий обмена данными между различными СУБД, к которым можно отнести протокол ODBC, предложенный фирмой Microsoft. В этот же период были начаты работы, связанные с концепцией объектно-ориентированных БД, к числу которых относятся MS Access и все современные серверы БД: Oracle 7.3, Oracle 8.4, MS SQL 7.0, SYSTEM10, SYSTEM11, SQL Base и др.
