- •Основные определения. Информация. Данные. База данных. Предметная область. Объект. Атрибут. Субд.
- •Функции субд
- •Трехуровневая архитектура бд. Уровни представления бд. Внешний, концептуальный, внутренний уровни. Теоретические основы проектирования бд. Этапы концептуального проектирования.
- •Модели представления данных. Сетевая и иерархическая модели. Преимущества и недостатки. Отношения между объектами.
- •Иерархическая
- •Сетевая
- •Модели представления данных. Реляционная модель. Основные понятия: атрибут, домен, кортеж (запись), ключ. Фундаментальные свойства отношений.
- •Основные операции реляционной алгебры – выборка, проекция, декартово произведение, объединение, разность.
- •Операция выборки
- •Операция проекции
- •Декартово произведение
- •Операция объединения
- •Операция разности
- •Дополнительные операции реляционной алгебры – – соединение, пересечение, деление.
- •Соединение
- •Операция пересечения
- •Операция деления
- •Функциональные зависимости и их свойства. Понятие реляционной целостности.
- •10. Нормализация отношений. Цель нормализации. Аномалии в отношениях. Ненормализованные отношения. Первая нормальная форма.
- •11. Нормализация отношений. Вторая и третья нормальные формы. Аномалии в отношениях.
- •12. Нормализация отношений. Нормальная форма Бойса - Кодда.
- •13. Нормализация отношений. Четвертая нормальная форма. Понятие многозначной зависимости.
- •14. Нормализация отношений. Пятая нормальная форма. Понятие зависимости соединения.
- •15. Предметная область информационной системы. Объекты и связи. Классификация связей. Теоретические основы проектирования бд. Этапы концептуального проектирования.
- •16. Семантическое моделирование данных. Семантическая модель Сущность - Связи(er).
- •6.2. Семантическое моделирование данных, er-диаграммы
- •6.2.1. Семантические модели данных
- •6.2.2. Основные понятия модели Entity-Relationship (Сущность-Связи)
- •6.2.3. Нормальные формы er-схем
- •6.2.4. Более сложные элементы er-модели
- •6.2.5. Получение реляционной схемы из er-схемы
- •17. Понятия транзакции в субд. Свойства асид. Проблемы параллельного выполнения транзакции. Понятие блокировки, методы управления параллельностью.
- •18. Язык структурированных запросов sql. Основные положения.
- •19. Язык структурированных запросов sql. Установка критериев выбора.
- •20. Язык структурированных запросов sql. Обобщение данных с помощью агрегатных функций.
- •21. Язык структурированных запросов sql. Формирование вывода запросов. Упорядочивание вывода полей.
- •Упорядочивание вывода полей
- •Упорядочивание с помощью многочисленных столбцов
- •Упорядочивание агрегатных групп
- •22. Язык структурированных запросов sql. Объединение таблиц.
- •23. Язык структурированных запросов sql. Соотнесенные подзапросы.
- •24. Язык структурированных запросов sql. Ввод, удаление и изменение значений в таблице. Создание таблицы.
- •25. Microsoft sql Server 2000. Основные концепции технологии «клиент-сервер», структура хранения данных, файлы и группы файлов. Основные объекты базы данных.
- •26. Microsoft sql Server 2000. Создание базы данных с помощью Enterprise Manager. Работа с таблицами. Ограничения целостности.
- •Ограничения целостности
- •26. Microsoft sql Server 2000. Создание базы данных с помощью Enterprise Manager. Работа с таблицами. Ограничения целостности.
- •Работа с таблицами
- •Ограничения целостности
- •27. Администрирование sql Server 2000. Терминология. Создание ролей и пользователей в бд.
- •Терминология
- •Системный администратор
- •Владелец базы данных
- •28. Microsoft sql Server 2000. Резервное копирование и восстановление. Экспорт и импорт данных.
- •29. Microsoft sql Server 2000. Создание и использование хранимых процедур и пользовательских функций.
- •31. Тенденции развития бд. Хранилища данных. Основные свойства. Архитектура, схемы хд. Понятие метаданных. Информационные потоки в хранилищах данных.
- •1. Современные информационные системы
- •Метаданные
17. Понятия транзакции в субд. Свойства асид. Проблемы параллельного выполнения транзакции. Понятие блокировки, методы управления параллельностью.
Транзакция – является логической единицей работы в БД и состоит из набора команд, которые выполняются обязательно все.
Любая транзакция переводит БД из одного согласованного состояния в другое. При успешном завершении результаты транзакции фиксируются. При неуспешном – транзакция отменяется полностью, БД откатывается назад. Зафиксированная транзакция не может быть отменена.
BEGIN TRANSACTION - начало
COMMIT - завершение
ROLLBACK – откатка
Свойства АСИД:
1- атомарность – любая транзакция может быть выполнена вся целиком или не выполнена.
2 – согласованность – переводит БД из одного согласованного состояния в другое.
3 – изолированность – все транзакции выполняются независимо друг от друга, и промежуточные результаты одной транзакции не должны быть доступны другим транзакциям.
4 – долговечность - результаты успешно завершенной (зафиксированной) транзакции должны сохраняться в базе данных постоянно и не должны быть утеряны в результате последующих сбоев.
Проблемы параллельного выполнения транзакции:
1) проблему потерянного обновления - Результаты вполне успешно завершенной операции обновления одной транзакции могут быть перекрыты результатами выполнения другой транзакции,
2) проблему зависимости от нефиксированных результатов - возникает в том случае, если одна из транзакций получит доступ к промежуточным результатам выполнения другой транзакции до того, как они будут зафиксированы в базе данных,
3) проблему несогласованной обработки - возникает в тех случаях, когда транзакция считывает несколько значений из базы данных, после чего вторая транзакция обновляет некоторые из этих значений непосредственно во время выполнения первой транзакции.
Блокировка - процедура, используемая для управления параллельным доступом к данным. Когда некоторая транзакция получает доступ к базе данных, механизм блокировки позволяет (с целью исключения получения некорректных результатов) отклонить попытки получения доступа к этим же данным со стороны других транзакций.
Блокировка для чтения - Если транзакция установила блокировку элемента данных для чтения, она сможет считать его, но не сможет обновить.
Блокировка для записи - Если транзакция установила блокировку элемента данных для записи, она может, как читать, так и обновлять этот элемент.
Метод использования временных отметок - Протокол управления параллельностью, основная цель которого состоит в установлении глобальной очередности выполнения транзакций, при которой более старые транзакции (транзакции с меньшим значением временной отметки) имеют более высокий приоритет при разрешении возникающих конфликтов.
Оптимистические технологии - основываются на предположении, что конфликты в системе возможны нечасто, поэтому эффективнее будет организовать выполнение транзакций, исключив все задержки, связанные с достижением гарантированной упорядоченности. Перед завершением работы транзакции выполняется проверка с целью определения, имел ли место конфликт. Если это так, транзакция откатывается и перезапускается. Поскольку исходно утверждается, что конфликты в данной системе — явление нечастое, то и откатов потребуется выполнять немного. Подобная технология потенциально позволяет достичь существенно более высокого уровня параллельности по сравнению с традиционными протоколами, поскольку она не требует использования механизма блокировок.
-Фаза чтения. Она охватывает транзакцию от ее начала и вплоть до момента непосредственного выполнения фиксации результатов. Транзакция считывает значения всех необходимых ей элементов данных и помещает их в локальные переменные. Любые обновления применяются только к локальной копии данных, но не к информации, сохраняемой в самой базе данных.
-Фаза проверки. Эта фаза следует за фазой чтения. Выполняются проверки, необходимые для получения гарантий отсутствия нарушения упорядоченности в случае переноса в базу данных изменений, выполненных транзакцией. Для транзакций, включающих только операции чтения, проверка состоит в подтверждении того, что использованные транзакцией значения по-прежнему остаются текущими значениями соответствующих элементов данных. Если нарушений не отмечено, транзакция завершает свое выполнение. Если найдены измененные значения, транзакция отменяется и перезапускается. Если в транзакции выполнялось обновление данных, то проверка включает выполнение контроля, сохранится ли база данных в согласованном состоянии после внесения в нее результатов данной транзакции, а также не будут ли нарушены условия упорядоченности. В случае обнаружения ошибки транзакция отменяется и перезапускается.
-Фаза записи. Эта фаза выполняется после успешного завершения фазы проверки, но только в отношении транзакций, включающих операции обновления. В этой фазе все изменения, внесенные в локальные копии данных, переносятся собственно в базу данных.