
- •Определение бд и БнД. Состав и структура БнД. Назначение основных компонентов БнД.
- •Понятие хорошо и слабо структурированных данных. Основные характеристики документальных и фактографических бд.
- •Понятие ключа и индекса. Прямая и инвертированная формы индекса. Примеры.
- •Характерные свойства и отличия линейных и нелинейных структур данных. Примеры.
- •Типология простых запросов. Примеры.
- •Сходство и отличие процессов обработки данных средствами файловой системы и субд.
- •Логические модели данных.
- •Реляционная модель данных
- •Операции реляционной алгебры. Определение операций соединения и пересечения через пять базовых операций.
- •Основные этапы эволюции систем обработки данных. Основные отличия в концепциях обработки данных разных этапов.
- •Назначение и особенности этапов проектирования бд.
- •Системный анализ предметной области. Методика сбора фактов. Методика интеграции представлений.
- •Концептуальные модели данных. Модель «сущность-связь». Сущности, атрибуты, связи. Сущность-связи и мощности связей. Примеры.
- •Номер брони*
- •Номер билета*
- •15. Получение реляционной схемы из er-диаграммы. Примеры.
- •16. Функциональная зависимость. Детерминант функциональной зависимости. Полная и частичная функциональная зависимость. Примеры.
- •17. Понятие функциональной, транзитивной и многозначной зависимости. Примеры.
- •18. Нормализация отношений. Первая, вторая, третья нормальные формы. Примеры.
- •19. Нормализация отношений. Нормальная форма Бойса-Кодда. Примеры.
- •20. Нормализация отношений. Четвертая и пятая нормальные формы. Примеры.
- •21. Нормализация отношений. Процедура нормализации. Примеры применения процедуры нормализации к универсальному отношению.
- •22. Языки определения данных и манипулирования данными. Назначение. Функциональные возможности (на примере sql).
- •23. Sql. Основные понятия и компоненты.
- •24. Sql. Ограничения целостности. Примеры.
- •25. Sql. Команда изменения структуры таблицы. Примеры.
- •1. Добавление столбца.
- •2. Модификация столбца.
- •3. Удаление столбца.
- •4. Добавление ограничений на уровне таблицы.
- •2. Изменение данных – команда update
- •Удаление данных – команда delete
- •27. Sql. Команда создания таблицы. Примеры.
- •28. Sql. Извлечение данных (команда select). Примеры.
- •29. Sql. Типы соединений таблиц в команде select.
- •30. Sql. Команда select с группировкой данных. Групповые операции. Примеры.
- •31. Представление операций реляционной алгебры с помощью sql.
- •32. Целостность бд. Понятие транзакции. Модели транзакций.
- •33. Виды конфликтов при параллельном выполнении транзакций. Сериализация транзакций. Захват и освобождение объекта.
- •34. Технологии обработки данных. Функции «типового» приложения обработки данных.
- •35. Архитектуры распределенной обработки данных.
- •36. Архитектуры обслуживания клиентских запросов. Достоинства и недостатки.
- •37. Хранилища данных. Основные отличия olap и oltp-систем.
- •38. Трехуровневая архитектура схем баз данных в субд.
- •39. Физические модели баз данных. Типы индексов.
- •40. Интеграция xml-документов и реляционных бд на примере Transact-sql.
33. Виды конфликтов при параллельном выполнении транзакций. Сериализация транзакций. Захват и освобождение объекта.
При параллельной обработке данных (несколько пользователей) СУБД должна гарантировать, что пользователи не будут мешать друг другу.
Виды конфликтов:
Пропавшие обновления – две транзакции одновременно изменяют одну и ту же запись в БД.
Чтение промежуточных данных (1 диспетчер отложил заказ, у 2 диспетчера показано, что заказ оформлен)
Чтение несогласованных данных. Пусть 1 оператор продает 30 мониторов и COMMIT транзакцию. 2 оператор видит, что состояние БД изменилось. Он считает, что нарушена целостность его транзакции, 2 состояния получил в течение одной работы. Программа 1 оператора изменила кортеж с данными, который уже прочитала 2-ая программа.
Строки-призраки. Получаем два отсчета в одном приложении с разными цифрами (печать). Печать выполнила два одинаковых запроса и получила разные результаты.
Сериализация транзакций – результат совместного выполнения транзакций эквивалентен результату некоторого последовательного выполнения этих транзакций.
Захват и освобождение объекта.
Транзакция захватывает объект (файл, таблица, страница данных, запись), что приводит его к блокировке для других транзакций. Захваты объектов несколькими транзакциями на чтение совместимы, на запись нет.
Два режима захватов:
Совместный режим – разделяемый захват, для чтения.
Монопольный режим – на запись, модификация, удаление.
В СУБД двухфазный протокол захватов. Захват объекта транзакцией -> накопление захватов -> освобождение захватов.
34. Технологии обработки данных. Функции «типового» приложения обработки данных.
1) Модель «Клиент-сервер»
2) Распределенная обработка данных
Системы распределенной обработки данных
Пользователь имеет возможность обращаться по сети к записям БД, размещенных на других компьютерах. Отражают структуру и свойства многопользовательских ОС с БД, размещенной на центральном компьютере.
Системы распределенных баз данных
Обеспечивают обработку распределенных запросов, когда при обработке одного запроса используются ресурсы базы, размещенные на различных ЭВМ сети. Состоит из узлов, каждый узел – СУБД. БД любого узла доступна пользователю как локальная. Используются в сети разнотипных компьютеров.
Функции «типового» приложения обработки данных
1)Ввод и отображение данных
2) Функциональная обработка, реализующая алгоритм решения задач пользователя. Соответствующие «бизнес-правила» реализуются высокоуровневыми ЯП или расширенного языка манипулирования данными (ADABAS NATURAL,4GL)
3) Манипулирование данными БД в рамках приложения (SQL).
4) Управление данными и другими ресурсами БД, реализуемое внутренними средствами СУБД в рамках файловой системы ОС.
5) Управление процессами обработки: связывание и синхронизация процессов обработки данных разного уровня.
35. Архитектуры распределенной обработки данных.
Модель клиент-сервер.
Клиентская часть – обработка данных, взаимодействие с пользователем.
Серверная часть - хранение данных, обработка запросов и отсылка пользователю результатов.
Архитектура «файл-сервер»
Архитектура «выделенный сервер БД»
Снижает сетевой трафик и повышает эффективность обработки за счет оптимизации и буферизации ввода-вывода
Архитектура «активный сервер БД»
Значимые
функции оформляются в виде хранимых
процедур. Вводится механизм отслеживания
событий БД – триггеры. Существенно
возрастает нагрузка на сервера. Модель
с тонким клиентом, большинство функций
на стороне сервера.
Архитектура «сервер приложений»