Программа курса “Базы данных” 2007
Введение в базы данных (БД).
Связь с другими курсами. Файлы и БД. Определение БД. Исторический обзор
Моделирование данных.
Инфологическая модель.
Модель “Сущность-связь” (ER-модель). Элементы модели: сущность, атрибут, связь, идентификатор. Типы связей. Степень связи. Минимальная и максимальная кардинальности связей. Слабые сущности. Подтипы сущностей.
Семантическая объектная модель. Семантические объекты. Атрибуты: простые, групповые и семантические объектные. Максимальные и минимальные кардинальные числа атрибутов. Домены атрибутов. Типы семантических объектов: простой, композитный, составной, гибридный, ассоциативный, родитель/подтип, архетип/версия.
Сравнение ER-модели и семантической объектной модели.
Проектирование и построение БД
Реляционная модель. Основные понятия: таблица (отношение), кортеж, домен, первичный ключ. 12 правил доктора Кодда.
Преобразование ER-модели в реляционную модель.
Преобразование семантической объектной модели в реляционную модель.
Реляционная алгебра. Операции: проекция, выбор, соединение, объединение, пересечение, вычитание, произведение, деление. Основные и производные операции, выражение производных операций через основные. Оптимизация запросов.
Реляционное исчисление на кортежах. Язык Альфа.
Реляционное исчисление на доменах. QBE (запрос по примеру).
Теория нормализации. Полная декомпозиция. Основные задачи теории нормализации. Функциональная зависимость. Полная функциональная зависимость. Теорема Хита. Первая, вторая, третья, Бойса-Кодда, четвертая, пятая нормальные формы. Примеры нарушения нормальных форм при неправильном проектировании реляционной модели из ER-модели.
Язык SQL (язык структурированных запросов):
DDL (язык описания данных);
DML (язык манипулирования данными);
DQL (язык запросов к данным), его связь с реляционной алгеброй;
CCL (язык управления курсорами);
TPL (язык управления транзакциями);
DCL (язык управления доступом к данным).
Хранимые процедуры. Триггеры. Политики ссылочной целостности.
Многопользовательские БД.
Администрирование БД.
Управление структурой БД. Конфигурирование. Документирование.
Управление параллельной обработкой. Транзакции. Проблема потерянного обновления. Блокировки: монопольные. коллективные, двухфазные, взаимные (deadlock), оптимистические, пессимистические. Свойства транзакций (ACID – атомарность, согласованность, изолированность, устойчивость). Уровни изоляции транзакций: сериализуемость, воспроизводимое чтение, завершенное чтение, незавершенное чтение и связанные с ними проблемы: “грязное” чтение, невоспроизводимое чтение, фантомное чтение.
Управление транзакциями в SQL Server. Типы транзакций. Типы блокировок. Команды создания, завершения, отката транзакции. Команды управления транзакциями.
Безопасность БД. Права доступа. Учетные записи, роли, пользователи, полномочия. Управление безопасностью в SQL Server.
Восстановление БД. Восстановление через откат-накат. Журнал транзакций. Резервное копирование и восстановление в SQL Server.
Управление СУБД.
Поддержание репозитория БД.
Физическая организация БД.
Плоские файлы (последовательные и с прямым доступом).
Хэш-файлы. Свойства хэш-функций. Операции поиска, добавления, удаления элемента. Способы организации области переполнения.
Индексно-последовательные файлы. Структура индекса. Операции поиска, добавления, удаления элемента. Область переполнения.
B-деревья. Структура B-дерева. Свойства B-дерева. Операции поиска, добавления, удаления элемента. Изменение количества уровней B-дерева.
Индексы. Категории индексов (прямые, косвенные, плотные, разреженные, простые, составные, уникальные, неуникальные, кластерные, некластерные, полнотекстовые). Создание индексов – явное и неявное. Коэффициент заполнения. Использование индексов в запросах.
Проектирование клиентских приложений (в экзамен не включается).
Представления. Меню. Формы. Отчеты.
Интерфейс ODBC для доступа к БД. |