Цели и задачи дисциплины

Цель дисциплины – освоение принципов построения и использования программного обеспечения информационно-справочных систем в виде баз данных и банков данных.

Задачами дисциплины является изучение основных понятий теории баз данных, принципов их функционирования и проектирования, освоение языка запросов SQL, знакомство с методами разработки и задачами системного администрирования баз данных, а также изучение особенностей практической реализации перечисленных вопросов в реально существующих системах управления базами данных.

Краткое содержание разделов (тем, модулей)

1. Введение.

Необходимость специального вида прикладного программного обеспечения – систем управления базами данных (СУБД). Назначение СУБД и реализуемые ими функции. История создания СУБД, краткий обзор современных СУБД, ближайшие перспективы развития СУБД. Требования к программному обеспечению – надежность хранения, простота манипулирования, автоматический контроль целостности, конфиденциальность доступа и разграничение прав, многопользовательская и сетевая работа. Системы баз данных: назначение и основные компоненты.

2. Реляционная модель данных

Уровни представления баз данных. Ранние модели данных. Системы на инвертированных списках. Иерархические модели. Сетевые модели. Достоинства и недостатки ранних моделей. Характеристика реляционной модели. Основные понятия модели – тип, домен, кортеж, отношение. Фундаментальные свойства отношений. Схема базы данных, схема отношения. Структурная, манипуляционная и целостная часть реляционной модели. Целостность по сущностям и целостность по связям. Процедурный подход, основанный на реляционной алгебре, и декларативный подход реляционного исчисления предикатов. Состав операций реляционной алгебры: операции теоретико-множественного характера и специфически-реляционные операции. Совместимость отношений по различным операциям. Характеристика реляционного исчисления кортежей.

3. Язык SQL

Основы построения языка SQL. Проблемы стандартизации языка. Операторы структуризации данных, управления полномочиями, манипулирования и выборки данных. Оптимизация.

4. Проектирование баз данных

Задача проектирования структуры реляционной базы данных. Аномалии добавления, замещения и удаления данных. Функциональные, полные и транзитивные зависимости. Нормализация и декомпозиция отношений. Основные нормальные формы. Семантическое моделирование. Модель «Объект – отношение». Семантическая модель «Сущность – связь». ER-диаграммы и их основные элементы. Преобразование ER-диаграммы в реляционную схему. Системы автоматизированного проектирования баз данных на основе семантических моделей.

5. Целостность и защита данных

Понятие транзакции, операторы завершения и отмены транзакции. Проблемы одновременного доступа. Уровни изоляции транзакций. Функции СУБД по защите данных, обязательное и избирательное управление доступом. Понятие целостности данных. Ограничения целостности столбца, ограничения целостности отношения, ограничения целостности базы данных, ограничения состояния и перехода. Процедурная поддержка ограничений, триггеры.

6. Внутренняя организация баз данных  

Состав СУБД и функции ее компонент. Физическая организация данных. Индексы, хеширование и В-деревья.