- •Оглавление
- •Глава 1. Модели данных 8
- •Глава 2. Теоретические основы реляционных баз данных 31
- •Глава 8. Администрирование баз данных на примере sql Server 99
- •Введение. Понятие баз данных. Виды баз данных. Средства реализации баз данных. Основные этапы создания баз данных
- •Глава 1. Модели данных
- •1.1 Уровни представления данных. Понятия схемы и подсхемы данных
- •1.2 Модели концептуального уровня представления данных
- •1.3 Модели данных логического уровня представления данных
- •1.4 Методология idef1x построения логических моделей реляционных баз данных
- •1.5 Case-средства проектирования баз данных
- •Глава 2. Теоретические основы реляционных баз данных
- •2.1 Основные понятия. Операции обновления и реляционной алгебры
- •2.2 Реляционное исчисление кортежей и доменов
- •2.3. Языки манипулирования данными в реляционных системах
- •2.4. Понятие ключа и функциональных зависимостей
- •2.5 Нормализация отношений. 1, 2, 3, 4, 5 нормальные формы отношений
- •2.6 Описание формального алгоритма приведения отношений к третьей нормальной форме
- •2.7 Пример анализа отношений базы данных на третью нормальную форму
- •Глава 3. Физическое проектирование баз данных
- •3.1 Формат и размещение физических (хранимых) записей
- •3.2 Методы доступа к данным
- •Глава 4. Свойства баз данных
- •4.1 Целостность данных
- •4.2 Свойство безопасности и секретности баз данных
- •4.3 Восстанавливаемость, согласованность и эффективность баз данных
- •4.4 Реорганизация баз данных. Администратор баз данных. Словарь данных
- •Глава 5. Язык sql. Стандарт языка sql
- •5.1 История sql. История стандарта sql. Уровни соответствия. Классы инструкций sql
- •5.2 Идентификаторы. Константы. Операторы. Типы данных. Ограничения
- •Глава 6. Теоретические основы распределенных баз данных
- •6.1 Основные понятия систем с распределенной обработкой данных
- •6.2 Изолированность пользователей в многопользовательских системах
- •6.3 Сериализация транзакций. Методы сериализации транзакций
- •6.4 Журнализация и буферизация изменений в базах данных
- •Глава 7. Пример реализации распределённых баз данных. Ms sql Server
- •7.1. Основные характеристики ms sql Server. Системные базы данных, таблицы и хранимые процедуры. Базы данных и файлы
- •7.2 Таблицы баз данных. Создание, удаление, изменение
- •7.3 Индексы баз данных
- •7.4 Программирование на Transact sql. Комментарии. Переменные. Команды управления
- •7.5 Курсоры. Типы курсоров. Работа с курсорами
- •7.6 Правила, значения по умолчанию, представления
- •7.7 Хранимые процедуры и функции
- •7.8. Управление триггерами и транзакциями
- •7.9 Диагностика и сбор данных. Оптимизация запросов
- •7.10 Удаленный доступ к данным
- •Глава 8. Администрирование баз данных на примере sql Server
- •8.1. Система безопасности. Аутентификация. Учетные записи и роли. Планирование разрешений
- •8.2. Репликация данных. Типы репликаций
- •8.3. Перемещение данных
- •8.4. Резервное копирование и восстановление баз данных
- •8.5 Автоматизация решения административных задач. Система оповещений
- •Заключение
- •Приложение
- •Список рекомендуемой литературы
4.4 Реорганизация баз данных. Администратор баз данных. Словарь данных
Реорганизация базы данных – изменение концептуальной, или логической, или физической структуры данных. Изменение концептуальной и логической структуры – реконструирование. Изменение физической структуры – реформатирование.
Реконструирование включает, например, добавление нового типа элементов в структуру записи, изменение атрибута записи, изменение связей между отношениями.
Реформатирование – изменение методов доступа к данным, изменение форматов записи, способов кодирования записей, изменение функции хеширования идентификатора при произвольном методе доступа к данным.
Администратор базы данных – лицо или группа лиц, осуществляющих управление в базе данных и решающих все вопросы по реорганизации базы данных. К вопросам управления в базе данных относятся:
Определение необходимости реорганизации.
Состав изменения.
Способ реорганизации.
Время проведения реорганизации.
Определения уровня доступа к данным.
На первом этапе проектирования базы данных необходимо собрать сведения о предметной области, в том числе о назначении, способов использования и о структуре данных, а по мере развития системы необходимо накопление информации о концептуальной, логической и внутренней моделях данных, для этой цели и используется словарь данных.
Словарь данных содержит информацию об источниках, форматах и взаимосвязях между данными, их описания, сведения о характере использования и распределения ответственности. Словарь сам по себе является базой «данных о данных», руководством по базе данных.
Назначение словаря:
Документирование данных.
Обеспечение эффективного взаимодействия между различными категориями разработчиков и пользователей.
Словарь данных может быть автоматизированным и неавтоматизированным. Последний не может обеспечить получение по-разному отсортированных списков элементов данных, которым пользуется разработчик. Все большое распространение получают автоматизированные словари, средства создания и ведения которых заложены в СУБД. Для эффективности словаря данных необходимо определить следующие составные элементы базы данных:
элемент данных должен иметь уникальное имя;
групповой элемент данных (объект-сущность, отношение);
выводимый элемент данных (формула для его определения);
синонимы, омонимы;
описание концептуальной модели, логических и внешних моделей, физической модели (структура данных, методы доступа, коэффициенты блокирования).
Глава 5. Язык sql. Стандарт языка sql
5.1 История sql. История стандарта sql. Уровни соответствия. Классы инструкций sql
В начале семидесятых годов был создан программный продукт для работы с реляционной моделью данных SEQUEL (Structured English Query Language) – структурированный английский язык для запросов, который в настоящее время называют SQL (Structured Query Language). Хотя компания IBM первая разработала теорию реляционных баз данных, первой на рынок с этой технологией вышла компания Oracle. Через некоторое время SQL завоевал на рынке популярность и привлек внимание Американского национального института по стандартизации (American National Standards Institute, ANSI), который в 1986, 1989, 1992, 1999 и 2003 годах выпустил стандарты языка SQL. Стандарт 1992 года имеет обозначение SQL92 или SQL2, стандарт 1999 года SQL99 или обозначают SQL3, сейчас используется промышленный стандарт SQL2003, который по сравнению с SQL3 имеет расширения, касающиеся объектно-ориентированных типов и базовых функций OLAP. Уровни соответствия стандарту были впервые предложены в 1992 году. Были введены три категории соответствия: начальный уровень, средний и полный (Entry, Intermediate, Full). Чтобы соответствовать стандарту производитель SQL должен был выпустить продукт не ниже уровня Entry.
В стандарте SQL2003 существуют семь основных классов инструкций - инструкции для установления связи, для управления, для работы с данными, для диагностики, для работы со схемами, для работы с сеансами, для работы с транзакциями. Постоянное развитие стандарта способствовало появлению среди разных производителей и платформ многочисленных диалектов SQL. Кроме перечисленных инструкций в диалектах обычно вводятся процедурные команды (условные, циклические, средства работы с массивами, переменными и другие). Наиболее распространены следующие диалекты: PL/SQL (Oracle), Transact/SQL (MS SQL Server), PL/pgSQL (PostgreSQL), SQLPL (DB2).
Отличительной особенностью языка SQL является тот факт, что это язык работы с множествами, представленными в реляционной форме. На основе теории множеств в терминологии ANSI используются кластеры, содержащие множество каталогов, каталоги содержат множество схем, схемы содержат множество объектов, объекты содержат подобъекты и так далее. Для доступа к подобъекту – полю таблицы нужно выполнить следующее разыменование: каталог.схема.объект.подобъект. Далее в следующих пунктах данного раздела пособия будут рассмотрены основные инструкции стандарта SQL2003, а также введены понятия основных объектов реляционных баз данных.
