| Базы данных. Курс лекций 
 СОДЕРЖАНИЕ
 
 
 
            Аннотация программы учебной дисциплины «Базы данных» 5
 
 Цели и задачи дисциплины 5
 
 В результате изучения дисциплины студент должен: 5
 
 Содержание дисциплины. Основные разделы 6
 
 Тема 1. Введение в базы данных (БД). Основные понятия 8
 
 1. Данные. Базы данных. Системы управления базами данных (СУБД) 8
 
 Данные и ЭВМ 8
 
 Концепция баз данных (БД) 9
 
 База данных. Банк данных. СУБД. 10
 
 Системы управления базами данных (СУБД) 11
 
 Архитектура и компоненты СУБД (архитектура ANSI/SPARC) 12
 
 Инфологическая, концептуальная, физическая модели БД 13
 
 О проектировании базы данных 14
 
 2. Предметная область (ПО) 16
 
 3. Информационная система 17
 
 Пользователи информационной системы 18
 
 4. Уровни абстракции данных 18
 
 Понятие абстракции. 18
 
 Уровни абстракции при проектировании БД 18
 
 Тема 2: Модели данных. Реляционная модель данных 20
 
 1. Модели данных. 20
 
 1.1. Структуры данных 21
 
 1.2. Ограничения целостности. 21
 
 1.3. Операции. 22
 
 2. Три вида моделей данных 22
 
 2.1. Сетевая модель данных. 22
 
 2.2. Иерархическая модель данных. 22
 
 2.3. Реляционная модель данных. 22
 
 Детализация реляционной модели данных. 23
 
 2.4. Основные понятия. 23
 
 2.5. Реляционная алгебра 24
 
 2.6. Операции над отношениями. 24
 
 - Теоретико-множественные операции (объединение, пересечении, разность, декартово произведение) 25
 
 - Специальные операции (выбор, проекция, соединение, деление) 26
 
 2.6. Структуры данных 29
 
 2.7. Ограничения целостности. 29
 
 Целостность сущностей. 30
 
 Целостность ссылок 30
 
 Целостность значений 30
 
 Тема 3: Нормализация отношений 32
 
 1. Нормальные формы. Основные понятия. 32
 
 Избыточность данных и нормализация 32
 
 Нормальные формы 33
 
 2. Первая нормальная форма 33
 
 3. Вторая нормальная форма 33
 
 4. Третья нормальная форма 34
 
 5. Нормальная форма Бойса-Кодда 35
 
 6. Четвертая нормальная форма 36
 
 7. Пятая нормальная форма 36
 
 Тема 4: Модель «Сущность-Связь» 38
 
 1. Введение 38
 
 2. История 38
 
 3. ER-диаграммы, основные понятия (нотация Баркера) 38
 
 4. Типы связей 39
 
 5. Пример разработки простой ER-модели 40
 
 6. Концептуальные и физические ER-модели 42
 
 7. Выводы 42
 
 Тема 5: О механизмах доступа к БД. Индексы 44
 
 Введение 44
 
 Обновление базы данных 44
 
 Удаление записей из базы данных (логическое и физическое удаление) 44
 
 Ввод и запоминание новых записей 44
 
 Корректировка значений элементов данных. 44
 
 Доступ к записям БД. 45
 
 Доступ по КБД 45
 
 Доступ по первичному ключу. 45
 
 Индексы 45
 
 B-деревья 45
 
 Хеширование 47
 
 Тема 6: Язык запросов SQL. История, стандарты, терминология. СУБД 48
 
 Введение 48
 
 История языка SQL 48
 
 Этапы стандартизации SQL 49
 
 Особенности текущих реализаций 49
 
 Важность применения стандартов SQL при разработке прикладных систем 50
 
 Тема 7: SQL – операции определения данных (DDL) 52
 
 Введение 52
 
 Типы данных 52
 
 Целые типы данных 52
 
 Действительные числа 52
 
 Типы даты и времени 53
 
 Строковые типы данных 53
 
 Перечисление. Перечисляемый тип данных. 54
 
 Операторы манипулирования схемой базы данных (DDL) 54
 
 Синтаксис оператора CREATE DATABASE 54
 
 Синтаксис оператора DROP DATABASE 55
 
 Синтаксис оператора CREATE TABLE – создание таблицы 55
 
 Синтаксис оператора ALTER TABLE 60
 
 Синтаксис оператора RENAME TABLE 63
 
 Синтаксис оператора DROP TABLE 63
 
 Синтаксис оператора CREATE INDEX 63
 
 Синтаксис оператора DROP INDEX 64
 
 Тема 8: SQL – операции манипулирования данными (DML). Добавление, удаление, изменение записей таблицы 65
 
 Синтаксис оператора INSERT – добавление записи 65
 
 Синтаксис оператора INSERT ... SELECT 66
 
 Синтаксис оператора UPDATE – изменение записей 67
 
 Синтаксис оператора DELETE – удаление записей 67
 
 Синтаксис оператора TRUNCATE 68
 
 Синтаксис оператора REPLACE 68
 
 Тема 9: SQL – операции манипулирования данными (DML)-2. Выборка данных - оператор SELECT 70
 
 Оператор SELECT (стандартный синтаксис) 70
 
 Предложение SELECT 70
 
 Построение вычисляемых полей 70
 
 Предложение FROM 71
 
 Предложение WHERE 71
 
 Сравнение 71
 
 Диапазон 72
 
 Принадлежность множеству 72
 
 Соответствие шаблону 72
 
 Значение NULL 72
 
 Предложение ORDER BY 72
 
 Вычисления и подведение итогов в запросах 73
 
 Использование итоговых функций 73
 
 Предложение GROUP BY 73
 
 Предложение HAVING 75
 
 Оператор SELECT (реализация в СУБД MySQL) 76
 
 Синтаксис блока JOIN в операторе SELECT 78
 
 Тема 10: SQL – администрирование СУБД 80
 
 Синтаксис команд GRANT и REVOKE 80
 
 Глобальный уровень 80
 
 Уровень базы данных 80
 
 Уровень таблицы 80
 
 Уровень столбца 80
 
 Имена пользователей MySQL и пароли 83
 
 Тема 11: ACID Транзакции 85
 
 Введение 85
 
 Транзакции и целостность баз данных 85
 
 ACID-свойства транзакций 85
 
 Изолированность пользователей 85
 
 Первый уровень - отсутствие потерянных изменений. 86
 
 Второй уровень - отсутствие чтения "грязных данных". 86
 
 Третий уровень - отсутствие неповторяющихся чтений. 86
 
 Четвертый уровень – запрет фантомов. 86
 
 Сериализация транзакций 86
 
 Методы сериализации транзакций 87
 
 Синхронизационные захваты 87
 
 Гранулированные синхронизационные захваты 88
 
 Предикатные синхронизационные захваты 88
 
 Тупики, распознавание и разрушение 89
 
 Метод временных меток 90
 
 Операторы SQL реализующие транзакции 90
 
 Тема 12: Триггеры 91
 
 Введение 91
 
 Создание триггера 91
 
 Триггеры в MySQL 92
 
 Тема 13: Представления 94
 
 Введение 94
 
 Синтаксис оператора ALTER VIEW. 94
 
 Синтаксис оператора CREATE VIEW 94
 
 Пример создания представления 95
 
 Синтаксис оператора DROP VIEW 95
 
 Ограничения представлений в MySQL 96
 
 Обновляемость представлений 96
 
 Тема 14: Хранимые процедуры и функции. Курсоры 97
 
 Введение 97
 
 Реализация хранимых процедур 97
 
 Назначение и преимущества хранимых процедур 97
 
 Возможности программирования 97
 
 Безопасность 97
 
 Хранимые процедуры и функции в MySQL 98
 
 Синтаксис операторов CREATE PROCEDURE и CREATE FUNCTION 98
 
 Синтаксис операторов ALTER PROCEDURE и ALTER FUNCTION 98
 
 Синтаксис операторов DROP PROCEDURE и DROP FUNCTION 98
 
 Синтаксис оператора CALL 98
 
 Операторы, используемые в процедурах и функциях 99
 
 BEGIN ... END – составной оператор 99
 
 SET – присваивание значений переменным 99
 
 DECLARE Conditions – определение состояний (условий) 99
 
 DECLARE Handlers – определение обработчика состояний 99
 
 Объявление курсоров 99
 
 Открытие курсора 99
 
 Оператор считывания данных из курсора 99
 
 Закрытие курсора 99
 
 Конструкции ветвления и циклов 99
 
 Конструкция IF 100
 
 Конструкция CASE 100
 
 Конструкция LOOP 100
 
 Конструкция  REPEAT 100
 
 Конструкция WHILE 100
 
 Тема 15: Постреляционные СУБД 101
 
 Активные базы данных 101
 
 Дедуктивные базы данных 101
 
 Темпоральные базы данных 101
 
 Интегрированные или федеративные системы и мультибазы данных 102
 
 Объектно-ориентированные базы данных 103
 
 Зарождение объектно-ориентированных баз данных 103
 
 Общие понятия объектно-ориентированного подхода и их внедрение в ООБД 103
 
 Литература 105
 
 Основная 105
 
 Дополнительная 105
 
 ДОПОЛНЕНИЯ 106
 
 Аномалии в реляционных базах данных 106
 
 Аномалии и нормализация схем отношений 106
 
 Аномалии по Фейджину 106
 
 Обобщенное понятие аномалии в РБД 108
 
 Заключение 110
 
 Литература 110
 
 Управление транзакциями в SQL 111
 
 22.3.1. ACID-транзакция 111
 
 
 Курс лекций по дисциплине «Базы данных»
 
 
 
 
 |