Цели и задачи дисциплины
Целью дисциплины является изучение основ технологий баз данных и практическое освоение современных методов разработки приложений баз данных.
Основные задачи дисциплины: ознакомить студента с основами технологий баз данных (реляционная модель данных, проектирование и нормализация баз данных, язык баз данных SQL и др.).
Краткое содержание дисциплины
Понятия базы данных, СУБД, системы баз данных. ANSI/SPARC архитектура систем баз данных. Сетевая архитектура систем баз данных. Структура и функции СУБД. Модель «сущность-связь». ER-диаграммы. Реляционная модель данных. Первичные и внешние ключи. Правила целостности внешних ключей. Реляционная алгебра. Традиционные (теоретико-множественные) операции над отношениями. Специальные операции реляционной алгебры (ограничение, проекция, естественное соединение, тэта-соединение, деление). Язык баз данных SQL. Простые запросы на языке SQL (проекция, выбор, работа со значениями NULL, упорядочение результатов и др.). Запросы к нескольким отношениям. Подзапросы. Операции над отношениями (удаление кортежей-дубликатов, группирование, агрегирование и др.). Запросы на вставку, удаление, обновление кортежей. Работа с представлениями. Интерфейс взаимодействия SQL и базового языка программирования. Динамический SQL. Понятие целостности данных. Ограничения целостности. Триггеры. Немедленная и отложенная проверка ограничений целостности. Понятие безопасности данных. Схема данных, права доступа к данным. Привилегии. Роли. Понятие транзакции. ACID транзакции. Поддержка транзакций в языке SQL. Управление параллельными транзакциями. Журнализация транзакций. Контрольные точки транзакции. Процедура восстановления базы данных. Фиксация распределенных транзакций. Резервное копирование базы данных.