
- •«Базы данных»
- •(Для студентов очной и заочной формы обучения)
- •1. Организационно-методическая часть (Программа дисциплины)
- •1.1. Цели и задачи дисциплины
- •1.2. Требования к уровню освоения содержания дисциплины
- •1.3. Объем дисциплины и виды учебной работы (в часах)
- •1.4. Содержание дисциплины
- •1.4.1. Разделы дисциплин и виды занятий
- •1.4.2. Содержание разделов дисциплины
- •Тема 1. Введение.
- •Тема 2. Основные понятия. Модели данных.
- •Тема 3. Язык sql. Формирование запросов к бд.
- •Тема 4. Основы проектирования баз данных.
- •1.5. Перечень практических занятий
- •1.6. График выполнения самостоятельных работ студентами
- •1.7. Рекомендуемая литература
- •2. Конспект лекций (семестр 5)
- •2.1. Введение в базы данных
- •2.2. Классификация моделей данных
- •2.3. Язык sql
- •2.4. Проектирование баз данных
- •2.5.Физические модели баз данных
- •2.6. Распределённая обработка данных
- •2.7. Обеспечение безопасности в бд
- •2.8. Современные направления исследований и разработок
- •3. Конспект лекций (семестр 6)
- •3.1. Представления
- •3.2. Компоненты языка Transact-sql
- •3.3. Курсоры
- •3.4. Хранимые процедуры
- •3.5. Триггеры
- •4. Задания для проведения семинарских занятий
- •Create table Salespeople - - продавцы
- •Create table Customers - - покупатели
- •Create table Orders - - заказы
- •2. Ввод данных
- •3. Компиляция table Offices без ограничения внешнего ключа
- •4. Ввод данных
- •5. Компиляция table Salesreps без ограничения внешнего ключа
- •11. Компиляция table Orders
- •12. Ввод данных
- •5. Контрольные и самостоятельные работы
- •I. Создать и описать 3 таблицы базы данных «Студенты»
- •II. Внести данные в каждую из таблиц, например:
- •III. Выполнить запросы:
- •Задание на «Курсоры»
- •Задание на «Хранимые процедуры»
- •Задание на «Триггеры»
- •6. Вопросы к экзамену (семестр 5)
- •Классификация моделей данных.
- •Распределённая обработка данных.
- •Практическое задание к билету № 1
- •7. Вопросы к зачёту(семестр 6)
- •8. Форма итогового контроля
Тема 2. Основные понятия. Модели данных.
База данных, СУБД, банк данных. Предметная область. Объекты и атрибуты, связи между объектами и атрибутами объектов. Уровни представления БД. Архитектура БД. Физическая и логическая независимость. Понятие схемы и подсхемы. Типы моделей данных. Иерархическая, сетевая, реляционная модели данных. Основные определения: отношения, домены, кортежи, атрибуты. Схема отношения, его степень и мощность. Реляционная БД. Первичный ключ. Свойства отношений реляционной БД. Операции над отношениями. Реляционная алгебра.
Тема 3. Язык sql. Формирование запросов к бд.
Структура SQL. Типы данных. Создание, изменение и удаление таблиц. Ограничения значений данных. Поддержка ссылочной целостности. Ввод, изменение и удаление данных. Структура оператора SELECT. Запросы к нескольким таблицам. Агрегатные функции и вложенные запросы. Использование операторов подзапросов. Объединение запросов.
Тема 4. Основы проектирования баз данных.
Цели проектирования. Этапы проектирование БД. Системный анализ предметной области. Инфологическое проектирование. Даталогическое проектирование. ER – моделирование (модель “сущность - связь”). Сущности, связи и их свойства. Нотации Чена и “птичья лапка”. Нормализация таблиц БД. Декомпозиция отношений. Функциональные зависимости. Транзитивные зависимости. Многозначные зависимости. Нормальные формы 1НФ - 5НФ, нормальная форма Бойса-Кодда.
Тема 5. Физические модели баз данных.
Классификация файлов, используемых в системах баз данных. Индексирование базы данных. Индексные файлы. Типы индексных файлов. Организация файлов в виде В-деревьев. Понятие хеширования. Инвертированные списки. Страничная организация.
Тема 6. Распределённая обработка данных.
Понятие и свойства транзакции. Параллельное выполнение транзакций. Основные проблемы параллелизма и их решение. Журнал транзакций. Модели “клиент - сервер” в технологии баз данных. Группы функций приложения в модели “клиент - сервер”. Двухуровневые модели (файлового сервера, удалённого доступа, активного сервера БД). Трёхуровневые модели (сервера приложений). Модели серверов баз данных.
Тема 7. Обеспечение безопасности в БД.
Защита БД. Пользователи и привилегии. Типы привилегий. Операторы GRANT и REVOKE – операторы предоставления и отмены привилегий. Использование представлений для фильтрации табличных привилегий. Целостность и сохранность БД.
Тема 8. Современные направления развития БД и СУБД.
Обзор современных систем управления базами данных. Ориентация на расширенную реляционную модель. Абстрактные типы данных. Генерация систем баз данных, ориентированных на приложения. Оптимизация запросов, управляемая правилами. Поддержка исторической информации и темпоральных запросов. Объектно-ориентированные базы данных. Сходства и различия с предыдущими моделями. Преимущества и недостатки. Возможные направления исследований в области теории баз данных.
СЕМЕСТР 6
Тема 9. Введение в представления.
Представление как виртуальная таблица. Оператор создания представления CREATE VIEW. Модификация содержимого представлений. Запросы к представлениям. Ограничения представлений. Изменение данных через представления. Индексы.
Тема 10. Программирование в СУБД.
Основные элементы языка программирования баз данных. Переменные, локальные и глобальные переменные. Использование переменных. Операторы условного выполнения. Циклы. Функции преобразования. Функции работы с датами и временем.
Тема 11. Курсоры.
Понятие о курсорах. Характеристики курсоров. Типы курсоров (статические, ключевые, динамические, курсоры быстрого доступа). Создание, открытие, закрытие курсоров. Оператор FETCH. Мониторинг курсоров.
Тема 12. Хранимые процедуры.
Понятие о хранимых процедурах. Системные процедуры. Пользовательские процедуры. Создание и использование хранимых процедур. Входные и выходные параметры. Возврат значений из хранимой процедуры.
Тема 13. Триггеры и пользовательские функции.
Понятие о триггерах. Триггеры AFTER, INSTEAD OF, BEFORE. Создание и использование триггеров. Понятие о пользовательских функциях. Скалярные функции. Табличные функции. Создание и применение пользовательских функций.
Тема 14. Методы и модели анализа данных.
Необходимость анализа информации. Системы поддержки решений. Хранилища данных. Двенадцать правил для хранилища данных. Оперативный анализ данных (OLAP). Определение OLAP – систем. Архитектура OLAP – систем. Интеллектуальный анализ данных. Добыча данных – Data Mining. Практическое применение Data Mining.