Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML
Год выпуска: 2010 Автор: Токмаков Г.П. Издательство: УлГТУ ISBN: 978-5-9795-0762-0 Формат: PDF Качество: Изначально компьютерное (набор и верстка) Количество страниц: 193
Описание: Учебное пособие подготовлено по материалам лекционных курсов, посвященных основам теории баз данных, языку SQL, хранимым процедурам и триггерам, которые читались автором в последние десять лет. В пособии также рассмотрены вопросы взаимодействия технологии баз данных с Web-технологиями.
ОГЛАВЛЕНИЕ ГЛАВА 1. ФАЙЛОВЫЕ СИСТЕМЫ И БАЗЫ ДАННЫХ .................................... 9 1.1. ФАЙЛОВЫЕ СИСТЕМЫ ............................................................................................................ 9 1.1.1. История систем управления данными ................................................................ 9 1.1.2. Файловая система как способ отделения логической и физической структуры данных ......................................................................................................... 13 1.1.3. Последовательный и ассоциативный доступ в файловых системах ............. 16 1.2. СТАНОВЛЕНИЕ КОНЦЕПЦИИ БАЗ ДАННЫХ.................................................................... 18 1.2.1. Структуры данных .............................................................................................. 18 1.2.2. Целостность данных ........................................................................................... 21 1.2.3. Язык запросов SQL ............................................................................................. 22 1.2.4. Метаданные, унифицированные процедуры и язык SQL ............................... 25 1.3. СУБД КАК НЕЗАВИСИМЫЙ СИСТЕМНЫЙ КОМПОНЕНТ ......................................... 26 1.3.1. СУБД как средство обеспечения логической и физической независимости данных ......................................................................... 27 1.3.2. СУБД в составе информационной системы ..................................................... 28 1.3.3. Выделение СУБД в качестве отдельного компонента информационной системы ........................................................................................................................... 29 ГЛАВА 2. ЛОГИЧЕСКИЕ СТРУКТУРЫ РЕЛЯЦИОННОЙ МОДЕЛИ ........ 31 2.1. ОСНОВЫ РЕЛЯЦИОННОЙ АЛГЕБРЫ .................................................................................. 31 2.1.1. Объекты и их определения ................................................................................. 32 2.1.2. Операторы ............................................................................................................ 35 2.2. ОСНОВНЫЕ ПОНЯТИЯ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ ................................................. 39 2.2.1. Учебная база данных .......................................................................................... 39 2.2.2. Первичные ключи ............................................................................................... 39 2.2.3. Отношение предок/потомок ............................................................................... 42 2.2.4. Внешние ключи ................................................................................................... 43 2.2.5. Индексы ................................................................................................................ 44 2.3. ЦЕЛОСТНОСТЬ ДАННЫХ ....................................................................................................... 45 2.3.1. Условия целостности данных ............................................................................ 46 2.3.2. Изменения, способные нарушить ссылочную целостность ........................... 47 2.3.3. Правила ссылочной целостности ...................................................................... 47 2.4. НОРМАЛИЗАЦИЯ ДАННЫХ .................................................................................................. 49 2.4.1. Понятие функциональной зависимости ........................................................... 50 2.4.2. Первая нормальная форма: атомарные атрибуты ............................................ 51 2.4.3. Вторая нормальная форма: отсутствие зависимостей частичного ключа .... 52 2.4.4. Третья нормальная форма: устранение транзитивных зависимостей ........... 54 2.5. СИСТЕМНЫЙ КАТАЛОГ ......................................................................................................... 54 2.5.1. Назначение системного каталога ...................................................................... 55 2.5.2. Структура системного каталога ........................................................................ 55 2.5.3. Информация о таблицах ..................................................................................... 56 – 4 – 2.5.4. Информация о столбцах ..................................................................................... 56 2.5.5. Информация о представлениях ......................................................................... 56 2.5.6. Информация об отношениях между таблицами .............................................. 57 2.5.7. Информация о пользователях ............................................................................ 57 2.5.8. Информация о привилегиях ............................................................................... 57 ГЛАВА 3. DDL – ЯЗЫК ОПРЕДЕЛЕНИЯ ДАННЫХ РЕЛЯЦИОННОЙ МОДЕЛИ ....................................................................................................................... 60 3.1. СОЗДАНИЕ БАЗЫ ДАННЫХ ................................................................................................... 60 3.1.1. Общий формат оператора CREATE DATABASE ........................................... 60 3.1.2. Определение пароля ........................................................................................... 61 3.1.3. Указание размера страницы БД ......................................................................... 61 3.1.4. Указание национальной кодировки символов ................................................. 62 3.1.5. Типы данных ........................................................................................................ 62 3.2. СОЗДАНИЕ ДОМЕНОВ ............................................................................................................ 64 3.2.1. Общий формат оператора CREATE DOMAIN ................................................ 64 3.2.2. Ограничения на значения столбцов, ассоциированных с доменом ............... 64 3.2.3. Изменение определения домена ........................................................................ 65 3.3. СОЗДАНИЕ ТАБЛИЦ ................................................................................................................ 67 3.3.1. Инструкция CREATE TABLE............................................................................ 67 3.3.2. Инструкция ALTER TABLE .............................................................................. 71 3.4. СОЗДАНИЕ ПРЕДСТАВЛЕНИЙ (VIEW) ............................................................................... 73 3.4.1. Общий формат оператора CREATE VIEW ...................................................... 75 3.4.2. Горизонтальное представление ......................................................................... 75 3.4.3. Вертикальное представление ............................................................................. 75 3.4.4. Удаление представления .................................................................................... 76 3.4.5. Недостатки представлений ................................................................................ 77 3.5. СОЗДАНИЕ ИНДЕКСОВ .......................................................................................................... 77 3.5.1. Общий формат оператора CREATE INDEX .................................................... 77 3.5.2. Необходимость создания индексов ................................................................... 77 3.5.3. Удаление индекса ................................................................................................ 78 ГЛАВА 4. DML – ЯЗЫК МАНИПУЛИРОВАНИЯ ДАННЫМИ РЕЛЯЦИОННОЙ МОДЕЛИ ..................................................................................... 79 4.1. ОПЕРАТОР ВЫБОРКИ SELECT .............................................................................................. 79 4.1.1. Общий формат оператора SELECT ................................................................... 79 4.1.2. Предложение SELECT ........................................................................................ 80 4.1.3. Предложение FROM ........................................................................................... 81 4.1.4. Предложение WHERE ........................................................................................ 82 4.1.5. Правила выполнения запроса SELECT ............................................................. 87 4.2. АГРЕГАТНЫЕ ФУНКЦИИ ....................................................................................................... 87 4.2.1. Вычисление среднего значения столбца .......................................................... 88 4.2.2. Вычисление суммы значений столбца .............................................................. 88 4.2.3. Вычисление экстремумов ................................................................................... 88 – 5 – 4.2.4. Вычисление количества значений в столбце ................................................... 89 4.2.5. Правила выполнения запросов, в котором участвуют агрегатные функции 89 4.3. ЗАПРОСЫ С ГРУППИРОВКОЙ ............................................................................................... 90 4.3.1. Предложение GROUP BY .................................................................................. 90 4.3.2. Предложение HAVING ....................................................................................... 90 4.3.3. Предложение ORDER BY − определение сортировки.................................... 91 4.3.4. Правила выполнения запросов с группировкой .............................................. 91 4.4. ВЛОЖЕННЫЕ ЗАПРОСЫ ......................................................................................................... 92 4.4.1. Определение подчиненных запросов ................................................................ 93 4.4.2. Условия отбора в подчиненном запросе .......................................................... 95 4.4.3. Подчиненные запросы в предложении HAVING ............................................ 99 4.4.4. Правила выполнения вложенных запросов ...................................................... 99 4.5. МНОГОТАБЛИЧНЫЕ ЗАПРОСЫ ......................................................................................... 101 4.5.1. Алгоритм выполнения многотабличного запроса ......................................... 101 4.5.2. Внутреннее объединение таблиц ..................................................................... 101 4.5.3. Внешнее объединение таблиц ......................................................................... 105 4.6. ОПЕРАТОРЫ ОБНОВЛЕНИЯ ДАННЫХ ............................................................................. 109 4.6.1. Оператор INSERT ............................................................................................ 109 4.6.2. Оператор UPDATE ............................................................................................ 111 4.6.3. Оператор DELETE ............................................................................................ 112 ГЛАВА 5. DDS – СРЕДСТВА АДМИНИСТРИРОВАНИЯ БАЗ ДАННЫХ .. 113 5.1. НАЗНАЧЕНИЕ И ЛИКВИДАЦИЯ ПРАВ ............................................................................. 113 5.1.1. Команда GRANT ............................................................................................... 113 5.1.2. Команда REVOKE ............................................................................................. 115 5.2. НАЗНАЧЕНИЕ ПРАВ ИСПОЛНЕНИЯ ХРАНИМЫХ ПРОЦЕДУР .................................. 115 5.3. СОЗДАНИЕ ГРУППЫ УПРАВЛЕНИЯ ПРАВАМИ – РОЛИ .............................................. 116 5.3.1. Команда CREATE ROLE .................................................................................. 116 5.3.2. Команда DROP ROLE ....................................................................................... 116 5.3.3. Формирование списка прав, связанных с ролью ........................................... 116 5.3.4. Формирование прав пользователей на основе ролей .................................... 117 5.3.5. Связывание пользователей с ролями .............................................................. 117 ГЛАВА 6. ИНФОРМАЦИОННЫЕ СИСТЕМЫ С АКТИВНЫМ СЕРВЕРОМ БАЗ ДАННЫХ .................................................................................... 118 6.1. ХРАНИМЫЕ ПРОЦЕДУРЫ ИЛИ ФУНКЦИИ ..................................................................... 119 6.1.1. Структура языка ................................................................................................ 120 6.1.2. Команды и выражения ...................................................................................... 121 6.1.3. Переменные ....................................................................................................... 122 6.1.4. Возвращение переменных ................................................................................ 129 6.1.5. Атрибуты ............................................................................................................ 129 6.1.6. Конкатенация ..................................................................................................... 131 6.1.7. Передача управления ........................................................................................ 132 6.1.8. Обработка ошибок и исключений ................................................................... 142 – 6 – 6.1.9. Вызов функций .................................................................................................. 144 6.2. ТРИГГЕРЫ ................................................................................................................................ 145 6.2.1. Создание триггера ............................................................................................. 145 6.2.2. Получение информации о триггерах .............................................................. 147 6.2.3. Удаление триггера ............................................................................................ 148 6.2.4. PL/pgSQL и триггеры ........................................................................................ 149 ГЛАВА 7. XML КАК СПОСОБ ЛОГИЧЕСКОГО ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ ........................................................................................................ 154 7.1. ЯЗЫК HTML И ЕГО НЕДОСТАТКИ ..................................................................................... 155 7.2. ЯЗЫК XML И ЕГО ОСНОВЫ ................................................................................................. 156 7.2.1. Объявление XML .............................................................................................. 157 7.2.2. Элементы и теги ................................................................................................ 157 7.2.3. Атрибуты ............................................................................................................ 159 7.2.4. Иерархичность структуры XML-документа .................................................. 159 7.2.5. Комментарии ..................................................................................................... 159 7.3. XML СХЕМЫ И МЕТАДАННЫЕ .......................................................................................... 160 7.3.1. Структурирование данных и схема XML ....................................................... 160 7.3.2. Типы данных в схеме XML .............................................................................. 162 7.3.3. Элементы и атрибуты в XML Схеме .............................................................. 165 7.3.4. Пространство имен ........................................................................................... 166 7.4. СТИЛИ И ФОРМАТИРОВАНИЕ ДАННЫХ XML ............................................................... 167 7.4.1. Основы XSL ....................................................................................................... 168 7.4.2. Структура таблицы стилей XSL ...................................................................... 170 ГЛАВА 8. SQL И XML .............................................................................................. 172 8.1. XML КАК СРЕДСТВО ПРЕДСТАВЛЕНИЯ СТРУКТУРИРОВАННЫХ ДАННЫХ ....... 173 8.1.1. Представление структурированных данных в XML ..................................... 173 8.1.2. Сравнение XML и SQL ..................................................................................... 174 8.2. ИСПОЛЬЗОВАНИЕ XML С БАЗАМИ ДАННЫХ ................................................................ 176 8.2.1. Хранение данных в формате XML .................................................................. 176 8.2.2. Вывод в формате XML ..................................................................................... 178 8.2.3. Ввод в формате XML ........................................................................................ 180 8.2.4. Обмен данными в формате XML ..................................................................... 181 8.2.5. Интеграция данных в формате XML .............................................................. 182 БИБЛИОГРАФИЧЕСКИЙ СПИСОК .................................................................. 186 ПРИЛОЖЕНИЕ ......................................................................................................... 187 УЧЕБНАЯ БАЗА ДАННЫХ .................................................................................... 187