- •1. Информация о дисциплине
- •1.1. Предисловие
- •Место дисциплины в учебном процессе
- •1.2. Содержание дисциплины и виды учебной работы Содержание дисциплины по гос
- •1.1. Субд – основа информационных систем (8 часов)
- •1.2. Современные архитектуры ис (4 часа)
- •1.2.1. Объем дисциплины и виды учебной работы
- •1.2.2. Перечень видов практических занятий и контроля:
- •2. Рабочие учебные материалы
- •2.1. Рабочая программа (объем дисциплины 140 часов)
- •Раздел 1. Назначение и основные компоненты системы баз данных (12 часов)
- •Раздел 2. Архитектура банка данных(20 часов)
- •2.1. Уровни представления баз данных (5 часов)
- •2.2. Категории пользователей банков данных (5 часов)
- •2.3. Концепции и этапы проектирования баз данных (10 часов)
- •Раздел 3. Модели и типы данных в бд (24 часа)
- •3.1. Представление концептуальной модели средствами субд (14 часов)
- •3.2. Типовые модели данных субд (10 часов)
- •Раздел 4. Базовые элементы реляционных бд (25 часов)
- •4.1. Проектирование реляционной базы данных (9 часов)
- •4.2. Нормализация отношений в бд (16 часов)
- •Раздел 5. Язык структурированных запросов sql (28 часов)
- •5.1. Язык манипулирования данными для реляционной модели (8 часов)
- •5.2. Реализация запросов в языке sql (20 часов)
- •Раздел 6. Использование баз данных (28 часов)
- •2.2. Тематические планы дисциплины
- •2.2.1. Тематический план дисциплины для студентов очной формы обучения
- •2.2.2. Тематический план дисциплины для студентов очно-заочной формы обучения
- •2.2.3. Тематический план дисциплины для студентов заочной формы обучения
- •2.3. Структурно-логическая схема дисциплины
- •2.4. Временной график изучения дисциплины
- •2.5. Практический блок Практические занятия (очная форма обучения)
- •Практические занятия (очно-заочная)
- •Практические занятия (заочная формы обучения)
- •Лабораторные работы (очная форма обучения)
- •Лабораторные работы (очно-заочная форма обучения)
- •Лабораторные работы (заочная форма обучения)
- •2.6. Балльно-рейтинговая система
- •3. Информационные ресурсы дисциплины
- •3.1. Библиографический список
- •3.2. Опорный конспект введение
- •Раздел 1. Назначение и основные компоненты системы баз данных
- •1.1. Субд – основа информационных систем
- •1.1.1. Эволюция развития систем управления данными
- •1.1.2. Локальная технология
- •1.1.3. Архитектура с сетью и файловым сервером
- •1.2. Современные архитектуры ис
- •1.2.1. Архитектура "клиент – сервер"
- •1.2.2. Трехзвенная архитектура "клиент – сервер"
- •1.2.3. Архитектура Intranet-приложений
- •Вопросы для самопроверки по теме 1.2
- •Раздел 2. Архитектура банка данных
- •2.1. Уровни представления баз данных
- •2.1.1. Основная терминология
- •2.1.2. Архитектура базы данных.
- •2.1.3. Процесс прохождения пользовательского запроса в субд
- •2.2. Категории пользователей банков данных
- •2.2.1. Классификация пользователей БнД
- •2.2.2. Основные функции группы администратора бд
- •2.3. Концепции и этапы проектирования баз данных
- •2.3.1. Жизненный цикл бд
- •2.3.2. Общая структура процесса проектирования бд
- •Раздел 3. Модели и типы данных в бд
- •3.1. Представление концептуальной модели средствами субд
- •3.1.1. Общие представления о моделях данных субд
- •3.1.2. Классификация моделей данных
- •3.2. Типовые модели данных субд
- •3.2.1. Иерархическая и сетевая модель данных
- •3.2.2. Реляционная и постреляционная модель данных
- •3.2.3. Многомерная модель данных
- •Раздел 4. Базовые элементы реляционных бд
- •4.1. Проектирование реляционной базы данных
- •4.1.1. Свойства и виды отношений
- •4.1.2. Реляционная алгебра
- •4.2. Нормализация отношений в бд
- •4.2.1. Понятие о нормальных формах
- •4.2.2. Формальные методы синтеза и декомпозиции нормальных форм
- •4.2.3. Проектирование с использованием метода сущность – связь
- •Раздел 5. Язык структурированных запросов sql
- •5.1. Язык манипулирования данными для реляционной модели
- •5.1.1. Назначение и история языка sql
- •5.1.2. Операторы языка sql
- •5.1.3. Модификация хранимых отношений в субд
- •5.2. Реализация запросов в языке sql
- •5.2.1. Примеры запросов
- •5.2.2. Агрегатные функции
- •5.2.3. Хранимые запросы
- •Области применения триггеров и хранимых процедур
- •Раздел 6. Использование бд
- •6.1. Программирование и управление транзакциями
- •6.1.1. Управление транзакциями в системах баз данных
- •6.1.2. Менеджеры транзакций
- •6.1.3. Параллельное выполнение транзакций
- •6.1.4. Методы сериализации транзакций.
- •6.1.5. Уровни изолированности пользователей.
- •6.2. Защита баз данных. Целостность и сохранность баз данных
- •6.2.1. Методы обеспечения безопасности
- •6.2.2. Программно-технический аспект информационной безопасности
- •6.2.3. Избирательное и мандатное управление доступом
- •6.3. Современные субд. Тенденции построения и использования баз данных
- •6.3.1. Объектная и реляционная технология
- •6.3.2. Объектно-реляционные субд
- •6.3.3. Критерии сравнения субд
- •Заключение
- •3.3 Глоссарий
- •3.4. Учебное пособие
- •3.5. Методические указания к выполнению лабораторных работ
- •3.5.1. Общие указания
- •3.6. Методические указания к выполнению практических занятий
- •3.6.1. Задания на практические занятия
- •3.6.2. Методические указания к выполнению практических заданий
- •4. Блок контроля освоения дисциплины
- •4.1. Общие указания
- •4.2. Задание на курсовой проект и методические указания к его выполнению
- •Тематика курсовых проектов
- •Рекомендуемые государственные стандарты
- •Пример оформления титульного листа
- •Задание на курсовой проект по дисциплине
- •4.3. Текущий контроль Тренировочные тесты Тест № 1 (по разделу 1)
- •8. Информационная система (ис) – это …
- •Тест №2 (по разделу 2)
- •Тест № 3 (по разделу 3)
- •8. При создании схемы таблицы бд следует описать:
- •Тест № 4 (по разделу 4)
- •Тест № 5 (по разделу 5)
- •Тест № 6 (по разделу 6)
- •3. Согласованность транзакции означает…
- •4. Изоляция транзакции означает…
- •5. Сохранность транзакции означает…
- •6. Транзакция продолжается до тех пор, пока не произойдет одно из следующих событий:
- •7. Оператор commit означает…
- •8. Оператор rollback означает…
- •Правильные ответы на тренировочные тесты
- •4.4. Итоговый контроль Вопросы для подготовки к экзамену
- •Приложение 1. Определение данных в sql.
- •Приложение 2. Журнализация изменений базы данных
- •Приложение 3. Система безопасности в субд
- •1. Информация о дисциплине 3
- •2. Рабочие учебные материалы 6
- •3. Информационные ресурсы дисциплины 23
- •4. Блок контроля освоения дисциплины 143
- •191186, Санкт-Петербург, ул. Миллионная, 5
6.1.5. Уровни изолированности пользователей.
При соблюдении двухфазного протокола синхронизации захватов обеспечивается полная сериализация транзакций. Однако если приложению, которое выполняет транзакцию, важнее скорость выполнения транзакции, а не точность самих данных (например, в ИС по электронных торгам важно иметь просто представление об общей картине торгов), то для смягчения требований сериализации транзакций вводится понятие уровня изолированности пользователя.
Уровни изолированности пользователей связаны с проблемами, которые возникают при параллельном выполнении транзакций и которые были рассмотрены ранее. Существуют 4 уровня изолированности пользователей.
Самый высокий уровень изолированности соответствует протоколу сериализации транзакций, что обеспечивает полную изоляцию транзакций и полную корректную обработку параллельных запросов.
Следующий уровень изолированности называется уровнем подтвержденного чтения. На этом уровне транзакция не имеет доступа к промежуточным или окончательным результатам других транзакций, поэтому такие проблемы как пропавшие обновления, промежуточные или несогласованные данные, возникнуть не могут. Однако во время выполнения своей транзакции можно увидеть строку, добавленную в базу данных другой транзакцией, т.е. сохраняется проблема строк-призраков.
Третий уровень изолированности также связан с подтвержденным чтением. На этом уровне изолированности транзакция не имеет доступа к промежуточным результатам других транзакций, поэтому проблемы пропавших обновлений и промежуточных данных возникнуть не могут. Однако, окончательные данные, полученные в ходе выполнения других транзакций, могут быть доступны текущей транзакции. При этом уровне изолированности транзакция не может обновлять строку, уже обновленную другой транзакцией. При попытке выполнить подобное обновление транзакция будет отменена автоматически, во избежание возникновения проблемы пропавшего обновления.
Самый низкий уровень изолированности называют уровнем неподтвержденного, или «грязного» чтения. При этом уровне изолированности текущая транзакция видит промежуточные и несогласованные данные, и также ей доступны строки-призраки (фантомы). Однако даже на этом уровне изолированности СУБД предотвращает пропавшие обновления.
В SQL2 существует оператор выбора уровня изолированности выполнения транзакции. В разных коммерческих СУБД могут быть реализованы не все уровни изолированности, и в каждой из них они реализуются по своему. Поэтому перенос информационной базы из одной СУБД в другую автоматически невозможен, т.к. пользовательские приложения будут работать некорректно.
Вопросы для самопроверки по теме 6.1
1. Что такое транзакция?
2. Какими свойствами должна обладать транзакция?
3. Что такое eXclusive и Shared блокировка?
4. Являются ли термины захват ресурса и блокировка взаимозаменяемыми?
5. Перечислите основные проблемы модифицирующих транзакций.
6. Чем различаются методы снхронизированных захватов и временных меток?
7. Что такое уровень изолированности пользователей?
8. С помощью какого оператора оповещается СУБД об окончании транзакции?
9. Что такое откат транзакции?
10. Что может являться объектом синхронизационного захвата?
