№ п/п Название темы и ее содержание Кол-во часов 1. Введение. Определение базы данных и системы управления базой данных. Системы управления файлами. Иерархические СУБД. Сетевые СУБД. Реляционные СУБД. Модель «Сущность-связь» или E/R модель. Основные понятия E/R модели (сущность, экземпляр сущности, атрибут сущности, связь). E/R диаграммы. Примеры. Множественность связи. Виды связи. Предствление связи на диаграмме. Атрибуты связи. Роли в связях. Подклассы. Ключи. Слабые сущности. Понятие об ограничениях и их изображение на диаграмме. Принципы разработки проекта базы данных. Пример разработки проекта базы данных на основе E/R модели. Реляционная модель. Основные понятия реляционной модели данных (отношение, кортеж, атрибут, кардинальность, степень, домен). Свойства отношений. Схема (структура) отношения, экземпляр отношения, схема (структура) базы данных. Проектирование реляционной модели на основе E/R модели. Пример разработки проекта базы данных на основе реляционной модели. Нормализация отношений. Понятие нормализации отношений и ее необходимость. 1НФ. Функцинальные зависимости (ФЗ). Правила ФЗ. Ключи. Вывод ФЗ. Нахождение всех возможных ФЗ. 2НФ. 3НФ. НФБК. Декомпозиция отношения для приведения к НФБК. Многозначные функциональные зависимости (МЗЗ). Правила МЗЗ. 4НФ. Декомпозиция отношения для приведения к 4НФ. Реляционная алгебра. Теоретико-множественные операции: объединение, пересечение, разность. Операции удаления частей отношения: селекция (отбор) и проекция. Операции комбинирования кортежей двух отношений: декартово произведение и несколько видов соединения. 2 2. 3. 4. 5. 6 4 4 4 6. 7. 8. 9. 10. 11. 12. Операция переименования. Способы построения выражений реляционной алгебры. Приоритеты операторов. Расширенная реляционная алгебра: операция устранения дублирования, расширенная проекция, операция сортировки, операция группировки-агрегирования, операция внешнего соединения. Примеры запросов на языке реляционной алгебры. Структурированный язык запросов (SQL) – язык баз данных. История развития языка SQL. Особенности SQL. Стандарты. Команда выборки данных языка SQL (SELECT). Общий вид команды для однотабличного запроса. Переименование столбца. Выражение в качестве значения столбца. Использование шаблонов в опции WHERE. Запросы к нескольким отношениям. Переименование таблиц. Подзапросы. Операторы IN, EXISTS, ALL, ANY. Подзапросы. Операторы UNION, INTERSECT, EXCEPT (MINUS). Выражения, содержащие JOIN. Опция GROUP BY. Функции агрегирования. Опция HAVING. Устранение дублирования: опция DISTINCT. Сортировка результата: опция ORDER BY. Примеры запросов на языке SQL. Команды модификации данных языка SQL. Добавление (вставка) данных – INSERT. Удаление данных – DELETE. Обновление данных – UPDATE. Команда определения схемы (структуры) отношения (CREATE TABLE). Типы данных. Свойства, которые можно назначать атрибутам (NOT NULL, DEFAULT). Определение первичных ключей. Команда модификации схемы(структуры) отношения (ALTER TABLE). Добавление столбца к отношению. Удаление столбца из отношения. Изменение типа и (или) длины столбца в отношении. Представления (VIEW) SQL. Создание представлений. Запросы к представлениям. Целостность данных (CONSTRAINT) SQL. Условия целостности данных. Внешние ключи. Условия на атрибуты. Условия на кортежи. SQL утверждения. Триггеры. 1 5 2 2 1 1 6 13. 14. 15. 16. 17. Встроенный процедурный язык программирования ORACLE PL/SQL. Общий вид программы на PL/SQL. Процедуры в PL/SQL. Присваивание. Ветвление. Циклы. Запросы в PL/SQL. Однострочный SELECT. Курсоры. Строчный тип. Примеры программ и процедур на PL/SQL. Объектно-реляционные возможности SQL. Типы, определяемые пользователями (ТОП). Типы кортежей отношений и типы атрибутов отношений. Доступ к атрибутам ТОП. Ссылки. Разименование. Методы ТОП. Вложенные таблицы. Запросы к вложенным таблицам. Операции над вложенными таблицами. Примеры. Встроенный (внедренный) SQL. Основные концепции встроенного SQL. Разработка программы на С(С++) со встроенным SQL. Выполнение программы со встроенным SQL. Операторы встроенного SQL. Разднляемые переменые. Обработка ошибок. Динамический SQL. Примеры программ на C и C++ с внедренным SQL. Понятие об интерфейсе вызовов (CLI). Понятие об ODBC. Некоторые системные аспекты SQL. Транзакции. Уровни изоляции. Команды COMMIT и ROLLBACK. Авторизация. Привилегии. Присвоение привилегий (GRANT). Отмена привилегий (REVOKE). Объектно-ориентированные СУБД. ODL – язык определения данных при ООП. Объявление классов в ODL. Объявление элементов. Ключи. Система типов в ODL. Связи в ODL. Классы ODL без связей. Роли в ODL. Подклассы в ODL. Методы в ODL. Перевод ODL-объявдений в отношения. Пример разработки проекта базы данных на основе ООП. OQL – язык запросов в ООСУБД. Выражения для доступа к объектам и атрибутам. OQL – SELECT-FROM-WHERE. Подзопросы в OQL. Примеры запросов на OQL. 4 6 4 4 8