Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
2008 г.

Базы данных. Вводный курс

Сергей Кузнецов

Содержание

Предисловие
Лекция 1. Эволюция устройств внешней памяти и программных систем управления данными
1.1. Введение
1.2. Устройства внешней памяти
1.3. Файловые системы
1.3.1. Структуры файлов
1.3.2. Логическая структура файловых систем и именование файлов
1.3.3. Авторизация доступа к файлам
1.3.4. Синхронизация многопользовательского доступа
1.3.5. Области разумного применения файлов
1.4. Потребности информационных систем
1.4.1. Структуры данных
1.4.2. Целостность данных
1.4.3. Языки запросов
1.4.4. Транзакции, журнализация и многопользовательский режим
1.4.5. СУБД как независимый системный компонент
1.5. Заключение
Лекция 2. Понятие модели данных. Обзор разновидностей моделей данных
2.1. Введение
2.2. Модель данных
2.3. Ранние модели данных
2.3.1. Модель данных инвертированных таблиц
2.3.2. Иерархическая модель данных
2.3.3. Сетевая модель данных
2.4. Неформальное введение в реляционную модель данных
2.4.1. Реляционные структуры данных
2.4.2. Манипулирование реляционными данными
2.4.3. Целостность в реляционной модели данных
2.5. Современные модели данных
2.5.1. Объектно-ориентированная модель данных
2.5.2. Модель данных SQL
2.5.3. Истинная реляционная модель
2.6. Заключение
Лекция 3. Введение в реляционную модель данных
3.1. Введение
3.2. Основные понятия реляционных баз данных
3.2.1. Тип данных
3.2.2. Домен
3.2.3. Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
3.2.4. Первичный ключ и интуитивная интерпретация реляционных понятий
3.3. Фундаментальные свойства отношений
3.3.1. Отсутствие кортежей-дубликатов, первичный и возможные ключи отношений
3.3.2. Отсутствие упорядоченности кортежей
3.3.3. Отсутствие упорядоченности атрибутов
3.3.4. Атомарность значений атрибутов, первая нормальная форма отношения
3.4. Реляционная модель данных
3.4.1. Общая характеристика
3.4.2. Целостность сущности и ссылок
3.5. Заключение
Лекция 4. Базисные средства манипулирования реляционными данными: реляционная алгебра Кодда
4.1. Введение
4.2. Обзор реляционной алгебры Кодда
4.2.1. Общая интерпретация реляционных операций
4.2.2. Замкнутость реляционной алгебры и операция переименования
4.3. Особенности теоретико-множественных операций реляционной алгебры
4.3.1. Операции объединения, пересечения, взятия разности. Совместимость по объединению
4.3.2. Операция расширенного декартова произведения и совместимость отношений относительно этой операции
4.4. Специальные реляционные операции
4.4.1. Операция ограничения
4.4.2. Операция взятия проекции
4.4.3. Операция соединения отношений
4.4.4. Операция деления отношений
4.5. Заключение
Лекция 5. Базисные средства манипулирования реляционными данными: алгебра A Дейта и Дарвена
5.1. Введение
5.2. Базовые операции Алгебры A
5.2.1. Операция реляционного дополнения
5.2.2. Операция удаления атрибута
5.2.3. Операция переименования
5.2.4. Операция реляционной конъюнкции
5.2.5. Операция реляционной дизъюнкции
5.3. Полнота Алгебры A
5.3.1. Выводимость операции взятия разности
5.3.2. Интерпретация операции ограничения
5.3.3. Соединения общего вида
5.3.4. Реляционное деление
5.4. Избыточность Алгебры A
5.4.1. Реляционные аналоги штриха Шеффера и стрелки Пирса
5.4.2. Избыточность операции переименования
5.5. Заключение
Лекция 6. Базисные средства манипулирования реляционными данными: реляционное исчисление
6.1. Введение
6.2. Исчисление кортежей
6.2.1. Правильно построенные формулы
6.2.2. Целевые списки и выражения реляционного исчисления
6.3. Исчисление доменов
6.3.1. Условия членства
6.3.2. Выражения исчисления доменов
6.4. Заключение
Лекция 7. Элементы теории реляционных баз данных: функциональные зависимости и декомпозиция без потерь
7.1. Введение
7.2. Функциональные зависимости
7.2.1. Общие определения
7.2.2. Замыкание множества функциональных зависимостей. Аксиомы Армстронга. Замыкание множества атрибутов
7.2.3. Минимальное покрытие множества функциональных зависимостей
7.3. Декомпозиция без потерь и функциональные зависимости
7.3.1. Корректные и некорректные декомпозиции отношений. Теорема Хита
7.3.2. Диаграммы функциональных зависимостей
7.4. Заключение
Лекция 8. Проектирование реляционных баз данных на основе принципов нормализации: первые шаги нормализации
8.1. Введение
8.2. Минимальные функциональные зависимости и вторая нормальная форма
8.2.1. Аномалии обновления, возникающие из-за наличия неминимальных функциональных зависимостей
8.2.2. Возможная декомпозиция
8.2.3. Вторая нормальная форма
8.3. Нетранзитивные функциональные зависимости и третья нормальная форма
8.3.1. Аномалии обновлений, возникающие из-за наличия транзитивных функциональных зависимостей
8.3.2. Возможная декомпозиция
8.3.3. Третья нормальная форма
8.3.4. Независимые проекции отношений. Теорема Риссанена
8.4. Перекрывающиеся возможные ключи и нормальная форма Бойса-Кодда
8.4.1. Аномалии обновлений, связанные с наличием перекрывающихся возможных ключей
8.4.2. Нормальная форма Бойса-Кодда
8.4.3. Всегда ли следует стремиться к BCNF?
8.5. Заключение
Лекция 9. Проектирование реляционных баз данных на основе принципов нормализации: дальнейшая нормализация
9.1. Введение
9.2. Многозначные зависимости и четвертая нормальная форма
9.2.1. Аномалии обновлений при наличии многозначных зависимостей и возможная декомпозиция
9.2.2. Многозначные зависимости. Теорема Фейджина. Четвертая нормальная форма
9.3. Зависимости проекции/соединения и пятая нормальная форма
9.3.1. N-декомпозируемые отношения
9.3.2. Зависимость проекции/соединения
9.3.3. Аномалии, вызываемые наличием зависимости проекции/соединения
9.3.4. Устранение аномалий обновления в 3-декомпозиции
9.3.5. Пятая нормальная форма
9.4. Заключение
Лекция 10. Проектирование реляционных баз данных с использованием семантических моделей: ER-диаграммы
10.1. Введение
10.1.1. Ограниченность реляционной модели при проектировании баз данных
10.1.2. Семантические модели данных
10.2. Семантическая модель Entity-Relationship (Сущность-Связь)
10.2.1. Основные понятия ER-модели
10.2.2. Уникальные идентификаторы типов сущности
10.3. Нормальные формы ER-диаграмм
10.3.1. Первая нормальная форма ER-диаграммы
10.3.2. Вторая нормальная форма ER-диаграммы
10.3.3. Третья нормальная форма ER-диаграммы
10.4. Более сложные элементы ER-модели
10.4.1. Наследование типов сущности и типов связи
10.4.2. Взаимно исключающие связи
10.5. Получение реляционной схемы из ER-диаграммы
10.5.1. Базовые приемы
10.5.2. Представление в реляционной схеме супертипов и подтипов сущности
10.5.3. Представление в реляционной схеме взаимно исключающих связей
10.6. Заключение
Лекция 11. Проектирование реляционных баз данных с использованием семантических моделей: диаграммы классов языка UML
11.1. Введение
11.2. Основные понятия диаграмм классов UML
11.2.1. Классы, атрибуты, операции
11.2.2. Категории связей. Связь-зависимость
11.2.3. Связи-обобщения и механизм наследования классов в UML
11.2.4. Связи-ассоциации: роли, кратность, агрегация
11.3. Ограничения целостности и язык OCL
11.3.1. Общая характеристика языка OCL
11.3.2. Инвариант класса
11.3.3. Операции над множествами, мультимножествами и последовательностями
11.3.4. Примеры инвариантов
11.3.5. Плюсы и минусы использования языка OCL при проектировании реляционных баз данных
11.4. Получение схемы реляционной базы данных из диаграммы классов UML
11.5. Заключение
Лекция 12. Пример общей организации СУБД. Физическое представление реляционных баз данных во внешней памяти. Индексные структуры
12.1. Введение
12.2. Основные понятия, цели и общая организация System R
12.2.1. Используемая терминология
12.2.2. Цели System R и их связь с общей организацией системы
12.2.3. Организация внешней памяти в базах данных System R
12.2.4. Интерфейс RSS
12.3. Общие принципы организации данных во внешней памяти в SQL-ориентированных СУБД
12.3.1. Хранение таблиц
12.3.2. Индексы
12.3.3. Журнальная информация
12.3.4. Служебная информация
12.4. Заключение
Лекция 13. Методы управления транзакциями. Сихронизационные блокировки, временные метки и версии
13.1. Введение
13.2. Общее понятие транзакции и основные характеристики транзакций
13.2.1. Атомарность транзакций
13.2.2. Транзакции и целостность баз данных
13.2.3. Изолированность транзакций
13.2.4. Сериализация транзакций
13.3. Методы сериализации транзакций
13.3.1. Синхронизационные блокировки
13.3.2. Синхронизационные тупики, их распознавание и разрушение
13.3.3. Метод временных меток
13.3.4. Методы сериализации транзакций на основе поддержки версий объектов базы данных
13.4. Заключение
Лекция 14. Средства журнализации и восстановления баз данных
14.1. Введение
14.2. Буферизация блоков базы данных в основной памяти и ее связь с журнализацией
14.2.1. Управление буферным пулом базы данных
14.2.2. Физическая синхронизация
14.2.3. Протокол упреждающей записи в журнал и его связь с буферизацией
14.3. Индивидуальный откат транзакции
14.4. Восстановление после мягкого сбоя
14.4.1. Схема восстановления от точки физической согласованности
14.4.2. Восстановление физической согласованности базы данных
14.5. Восстановление базы данных после жесткого сбоя
14.6. Заключение
Лекция 15. Общее введение в SQL, типы данных и средства определения доменов
15.1. Введение
15.1.1. Краткая история языка SQL
15.1.2. Структура языка SQL
15.2. Типы данных SQL
15.2.1. Tочные числовые типы
15.2.2. Приближенные числовые типы
15.2.3. Типы символьных строк
15.2.4. Типы битовых строк
15.2.5. Типы даты и времени
15.2.6. Булевский тип
15.2.7. Типы коллекций
15.2.8. Анонимные строчные типы
15.2.9. Типы, определяемые пользователем
15.2.10. Ссылочные типы
15.3. Средства определения, изменения определения и отмены определения доменов
15.3.1. Определение домена
15.3.2. Примеры определений доменов
15.3.3. Изменение определения домена
15.3.4. Примеры изменения определения домена
15.3.5. Отмена определения домена
15.4. Неявные и явные преобразования типа или домена
15.4.1. Неявные преобразования типов в SQL
15.4.2. Явные преобразования типов или доменов и оператор CAST
15.5. Заключение
Лекция 16. Средства определения базовых таблиц и ограничений целостности
16.1. Введение
16.2. Средства определения, изменения и ликвидации базовых таблиц
16.2.1. Определение базовой таблицы
16.2.2. Определение табличного ограничения
16.3. Средства определения и отмены общих ограничений целостности
16.3.1. Определение общих ограничений целостности
16.3.2. Отмена определения общего ограничения целостности
16.3.3. Немедленная и откладываемая проверка ограничений
16.4. Заключение
Лекция 17. Общая характеристика оператора SELECT и организация списка ссылок на таблицы в разделе FROM
17.1. Введение
17.2. Скалярные выражения
17.2.1. Общие синтаксические правила построения скалярных выражений
17.2.2. Численные выражения
17.2.3. Выражения, значениями которых являются символьные или битовые строки
17.2.4. Выражения даты-времени
17.2.5. Булевские выражения
17.2.6. Выражения с переключателем
17.3. Общая структура оператора выборки в языке SQL
17.3.1. Семантика оператора выборки
17.3.2. Ссылки на таблицы раздела FROM
17.3.3. Табличное выражение, спецификация запроса и выражение запросов
17.3.4. Раздел WITH выражения запросов
17.3.5. Конструкторы значения строки и таблицы
17.3.6. Ссылки на базовые, представляемые и порождаемые таблицы
17.3.7. Представляемые таблицы, или представления (VIEW)
17.4. Заключение
Лекция 18. Предикаты раздела WHERE оператора SELECT
18.1. Введение
18.2. Логические выражения раздела WHERE
18.2.1. Предикат сравнения
18.2.2. Предикат between
18.2.3. Предикат is null
18.2.4. Предикат in
18.2.5. Предикат like
18.2.6. Предикат similar
18.2.7. Предикат exists
18.2.8. Предикат unique
18.2.9. Предикат overlaps
18.2.10. Предикат сравнения с квантором
18.2.11. Предикат match
18.2.12. Предикат is distinct
18.3. Заключение
Лекция 19. Группировка и условия раздела HAVING, порождаемые и соединенные таблицы
19.1. Введение
19.1.1. Внешние соединения
19.2. Агрегатные функции, группировка и условия раздела HAVING
19.2.1. Семантика агрегатных функций
19.2.2. Результаты запросов и агрегатные функции
19.2.3. Логические выражения раздела HAVING
19.3. Ссылки на порождаемые таблицы в разделе FROM
19.3.1. Еще один способ формулировки запросов
19.3.2. Случаи, в которых без порождаемых таблиц обойтись невозможно
19.4. Более сложные конструкции оператора выборки
19.4.1. Соединенные таблицы
19.4.2. Порождаемые таблицы с горизонтальной связью (lateral_derived_table)
19.5. Заключение
Лекция 20. Средства формулировки аналитических и рекурсивных запросов
20.1. Введение
20.2. Возможности формулирования аналитических запросов
20.2.1. Раздел GROUP BY ROLLUP
20.2.2. Агрегатная функция GROUPING
20.2.3. Раздел GROUP BY CUBE
20.3. Рекурсивные запросы
20.3.1. Определения, относящиеся к рекурсии
20.3.2. Рекурсивные запросы с разделом WITH
20.3.3. Рекурсивные представления
20.4. Заключение
Лекция 21. Средства манипулирования данными
21.1. Введение
21.2. Базовые средства манипулирования данными
21.2.1. Оператор INSERT для вставки строк в существующие таблицы
21.2.2. Оператор UPDATE для модификации существующих строк в существующих таблицах
21.2.3. Оператор DELETE для удаления строк в существующих таблицах
21.3. Представления, над которыми возможны операции обновления
21.3.1. Представления, допускающие применение операций обновления, в стандарте SQL/92
21.3.2. Представления, допускающие применение операций обновления, в стандарте SQL:1999
21.3.3. Раздел WITH CHECK OPTION определения представления
21.3.4. Исторический очерк
21.4. Операции обновления баз данных и механизм триггеров
21.4.1. Понятие триггера в SQL:1999
21.4.2. Синтаксис определения триггеров и типы триггеров
21.4.3. Выполнение триггеров
21.4.4. Триггеры и ссылочные действия
21.5. Заключение
Лекция 22. Средства языка SQL для обеспечения авторизации доступа к данным, управления транзакциями, сессиями и подключениями
22.1. Введение
22.2. Поддержка авторизации доступа к данным в языке SQL
22.2.1. Пользователи и роли
22.2.2. Применение идентификаторов пользователей и имен ролей
22.2.3. Создание и ликвидация ролей
22.2.4. Передача привилегий и ролей
22.2.5. Изменение текущих идентификаторов пользователей и имен ролей
22.2.6. Аннулирование привилегий и ролей
22.3. Управление транзакциями в SQL
22.3.1. ACID-транзакция
22.3.2. Порождение транзакций в SQL:1999
22.3.3. Уровни изоляции SQL-транзакции
22.3.4. Завершение транзакций
22.3.5. Транзакции и ограничения целостности
22.3.6. Точки сохранения
22.4. Подключения и сессии
22.4.1. Установление соединений
22.4.2. Операторы SQL для управления соединениями
22.5. Заключение
Лекция 23. Объектные расширения
23.1. Введение
23.1.1. Истоки и краткая история объектно-реляционных баз данных
23.1.2. Объектная модель SQL
23.1.3. Цели лекции
23.2. Определяемые пользователями типы
23.2.1. Индивидуальные типы
23.2.2. Определение структурных типов
23.3. Типизированные таблицы
23.3.1. Определение типизированной таблицы
23.3.2. Ссылочные значения и REF-типы
23.3.3. Выборка данных из типизированных таблиц
23.3.4. Типизированные представления
23.4. Заключение
Рекомендуемая литература
1. Книги на русском языке:
2. Классические статьи в русских переводах.
3. Неклассические статьи и другие материалы, доступные в Internet
4. Лучшие (в основном, не переведенные на русский язык) книги про SQL, модель данных ODMG и «истинную» реляционную модель
5. Статьи про System R, доступные в Internet

Содержание Вперёд

Новости мира IT:

Архив новостей

Последние комментарии:

Loading

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...