
- •Базы данных: основные понятия и определения. Требования, предъявляемые к базам данных
- •Выбор хранимых данных
- •Реляционная модель данных
- •Реляционная алгебра
- •Операция выборка
- •Операция проекция
- •Операция естественное соединение
- •Операция соединение по условию (θ – соединение)
- •Операция деления
- •Методология проектирования баз данных. Основные задачи проектирования баз данных
- •Основные этапы проектирования баз данных
- •Концептуальное (инфологическое) проектирование бд
- •Логическое (даталогическое) проектирование бд
- •Принципы и средства структурного подхода к разработке по
- •Методология структурного анализа и проектирования sadt
- •Диаграммы потоков данных: внешние сущности, системы и подсистемы, процессы, хранилища данных, потоки данных. Нотация Гейна – Сарсона
- •Сравнительный анализ sadt-моделей и диаграмм потоков данных
- •Функциональные модели, используемые на стадии проектирования
- •14. Методология моделирования idef3: составные элементы, объекты ссылок, перекрестки.
- •15. Подходы к моделированию в базах данных
- •16. Анализ предметной области. Описание объектов и их свойств. Связи между элементами моделей данных. Описание сложных объектов
- •17. Проблема целостности базы данных
- •18. Даталогическое проектирование. Нотация Питера Чена. Нотация idef 1х
- •Нотация Питера Чена.
- •Нотация idef 1x
- •19. Проектирование реляционных баз данных на основе принципов нормализации. Правила технической нормализации
- •20. Алгоритм процесса нормализации схем отношений
- •21. Нормализация. Функциональная зависимость. Первая, вторая, нормальные формы
- •22. Нормализация. Функциональная зависимость. Третья нормальная форма
- •23. Нормализация. Функциональная зависимость. Нормальная форма Бойса – Кодда
- •24. Разработка реляционных баз данных на основе принципов нормализации
- •25. Основные аксиомы Армстронга. Замыкание
- •26. Нормальные формы высших порядков
- •27. Методологии проектирования
- •28. Инфологическое моделирование данных: модель «сущность-связь»
- •29. Принципы поддержки целостности в реляционной модели данных
- •30. Моделирование данных. Метод Баркера
- •31. Моделирование данных. Метод idef1x
- •32. Case-средство для концептуального моделирования данных на стадии формирования требований к ис – Silverrun
- •33. Нормализация. Функциональная зависимость. Первая, вторая, третья нормальные формы. Нормальная форма Бойса – Кодда
- •34. Инструментальные средства моделирования. Проектирование баз данных с использованием са erWin Data Modeler (erWin)
- •35. Алгоритм перехода от er – модели к реляционной схеме данных
- •36. Основные принципы объектно-ориентированного моделирования
- •37. Сущность методологии объектно-ориентированного анализа и проектирования
- •38. Язык объектного моделирования uml. Виды диаграмм uml. Последовательность построения диаграмм
- •Диаграмма состояний
- •Диаграмма последовательностей
- •Диаграмма активности
- •39. Модель прецедентов (вариантов использования, use-cases)
- •40. Моделирование статической структуры системы с помощью диаграммы классов: стереотипы классов
- •41. Моделирование статической структуры системы с помощью диаграммы классов: механизм пакетов
- •42. Моделирование статической структуры системы с помощью диаграммы классов: атрибуты
- •43. Моделирование статической структуры системы с помощью диаграммы классов: основные и вспомогательные операции
- •44. Моделирование статической структуры системы с помощью диаграммы классов: типы связей
- •45. Инкапсуляция, наследование, полиморфизм
- •46. Моделирование поведения системы
- •47. Использование диаграммы последовательностей для упорядочивания сообщений во времени
- •48. Использование диаграммы кооперации для описания структурной организации объектов
- •49. Моделирование физических аспектов функционирования системы с помощью диаграмм развертывания
- •50. Особенности построения физической модели базы данных
- •51. Ограничения ссылочной целостности
- •52. Моделирование процессов обработки данных
- •53. Индексирование
- •54. Методы совместного доступа к базам данных
- •55. Транзакции и блокировки
- •56. Типы параллелизма
- •57. Свойства транзакций. Способы завершения транзакций
- •58. Проблемы параллельного выполнения транзакций
- •59. Методы сериализации транзакций. Механизм блокировок. Типы конфликтов
- •60. Правила совместимости захватов. Проблема тупиковых ситуаций и ее решение
- •61. Уровни изолированности пользователей
- •62. Гранулированные синхронизационные захваты
- •63. Метод временных меток
- •64. Предикатные синхронизационные захваты
56. Типы параллелизма
Типы параллелизма:
· Горизонтальный
· Вертикальный
· Гибридный
Горизонтальный параллелизм - хранимая в БД информация распределяется по нескольким физическим устройствам хранения. При этом информация из одного отношения разбивается на части по горизонтали. Параллельность достигается путем выполнения одинаковых операций (например, фильтрации) над разными физическими хранимыми данными. Эти операции могут выполняться параллельно разными процессами, они независимы. Результат выполнения целого запроса складывается из результатов выполнения отдельных операций.
Вертикальный параллелизм - конвейерное выполнение операций, составляющих запрос. Подход предполагает декомпозицию запроса ядром СУБД, базируясь на его функциональных компонентах, и при этом ряд подзапросов выполняется параллельно, с минимальной связью между отдельными шагами выполнения запроса.
Выполнение запроса при вертикальном параллелизме:
Гибридный параллелизм – объединение вертикального и горизонтального.
Выполнение запроса при гибридном параллелизме:
57. Свойства транзакций. Способы завершения транзакций
Свойства:
· Свойство атомарности (Atomicity) - транзакция должна быть выполнена в целом или не выполнена вовсе.
· Свойство согласованности (Consistency) гарантирует: по мере выполнения транзакций данные переходят из одного согласованного состояния в другое — транзакция не разрушает взаимной согласованности данных.
· Свойство изолированности (Isolation) означает: конкурирующие за доступ к БД транзакции физически обрабатываются последовательно, изолированно друг от друга, но для пользователей это выглядит так, как будто они выполняются параллельно.
· Свойство долговечности (Durability) трактуется следующим образом: если транзакция завершена успешно, то те изменения в данных, которые были ею произведены, не могут быть потеряны ни при каких обстоятельствах (даже в случае последующих ошибок).
Способы завершения транзакции:
· Фиксация - действие, обеспечивающее запись изменений в базе данных, которые были сделаны в процессе выполнения транзакции.
· Откат транзакции - действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны операторами в теле текущей незавершенной транзакции. Если в процессе выполнения транзакции случилось нечто, что делает невозможным ее нормальное завершение, база данных должна быть возвращена в исходное состояние.
· Журнал транзакций - системная структура для обеспечения механизма реализации в СУБД принципа сохранения промежуточных состояний, подтверждения или отката транзакции.
Транзакция завершается одним из возможных путей:
1. оператор COMMIT - успешное завершение транзакции; его использование делает постоянными изменения, внесенные в базу данных в рамках текущей транзакции;
2. оператор ROLLBACK прерывает транзакцию, отменяя изменения в БД в рамках этой транзакции; новая транзакция начинается после использования ROLLBACK;
3. успешное завершение программы, в которой инициирована текущая транзакция, означает успешное завершение транзакции (как при операторе COMMIT);
4. ошибочное завершение программы прерывает транзакцию (как при операторе ROLLBACK).
Ситуации, при которых требуется производить восстановление состояния БД:
1. Индивидуальный откат транзакции. Должен быть применен в случаях:
· стандартной ситуацией отката транзакции является ее явное завершение оператором ROLLBACK;
· аварийное завершение работы прикладной программы, которое логически эквивалентно выполнению оператора ROLLBACK, но физически имеет иной механизм выполнения;
· принудительный откат транзакции в случае взаимной блокировки при параллельном выполнении транзакций. В подобном случае для выхода из тупика данная транзакция может быть выбрана в качестве "жертвы" и принудительно прекращено ее выполнение ядром СУБД.
2. Восстановление после внезапной потери содержимого оперативной памяти (мягкий сбой). Такая ситуация может возникнуть в следующих случаях:
· при аварийном выключении электрического питания;
· при возникновении неустранимого сбоя процессора (например, срабатывании контроля оперативной памяти) и т. д.
3. Восстановление после поломки основного внешнего носителя БД (жесткий сбой). При высокой надежности современных устройств внешней памяти может возникать сравнительно редко. Основой восстановления является архивная копия и журнализменений БД.