- •Ко Номер вопроса в списке, номер темы. Номер вопроса в теме.
- •1,1.1 Системы бд и их характеристики. Бд, банк бд, субд, ипс.
- •2,1.2 Субд (определение, функции)
- •3,1.3 Уровни классификации пользователей систем баз данных.
- •4,1.4 Определение данных в базах данных.
- •5,1.5 Языки запросов субд.
- •6,1.6 Манипулирование данными в субд.
- •7,1.7 Модификация баз данных.
- •Добавить новую запись в таблицу:
- •Модификация записей:
- •Удаление записей
- •8,1.8 Реструктуризация баз данных.
- •9,1.9 Понятие целостности баз данных.
- •11,1.11 Модели данных. Классификация моделей.
- •12,1.12 Объекты и отношения. Er-диаграммы, концептуальное проектирование.
- •13,1.13 Этапы проектирования баз данных.
- •14,1.14 Архитектура (общая схема) систем баз данных.
- •15,1.15 Сравнение реляционного, иерархического и сетевого подхода к форме моделей данных.
- •18. Сетевая модель баз данных
- •19,1.19 Логические структуры данных. (элемент, группа (кортеж), отношение, представление).
- •20,1.20 Организация физических записей. Способы выделения элементов в физической записи.
- •21,1.21 Последовательный файл, файл с указателем, индексирование по одному элементу.
- •22,1.22 Инвертированная организация файлов.
- •23,1.23 Списковые структуры (списки).
- •24,1.24 Хэш-адресация.
- •25,1.25 Иерархическая организация (структура хранения).
- •26,1.26 Бинарные деревья и их использование в субд.
- •28,2.1 Создание форм в субд Visual Foxpro
- •29,2.2 Создание меню в субд Visual Foxpro.
- •30,2.3 Создание отчетов в субд Visual Foxpro
- •7.3. Итоговые значения отчета
- •31,2.4 Создание этикеток (label) в субд Visual Foxpro
- •32,2.5 Создание форм "один-ко-многим" в субд Visual Foxpro. Установление отношения в форме.
- •33,2.6 Определение данных в системе Visual foxpro.
- •34,2.7 Объектно-ориентированное визуальное проектирование форм в субд Visual Foxpro
- •35,2.8 Характеристика субд Visual foxpro
- •36,2.9 Создание и ведение бд в Visual foxpro (основные команды).
- •37,2.10 Программирование в субд Visual foxpro.
- •38,2.11 Операторы доступа и поиска командного языка системы Visual foxpro.
- •39,2.12 Установление отношения в базе данных в субд Visual FoxPro.
- •45,3.3 Булевы операции над отношениями. Дополнение, активное дополнение, выбор, проекция, соединение.
- •46,3.4 Оператор деления. Постоянные отношения. Переименование атрибутов, эквисоединение. Деление
- •Постоянные отношения. Переименование атрибутов
- •Эквисоединение, естественное и -соединение
- •47,3.5 Расширение для сравнения на доменах. Расширение оператора выбора. Оператор о - соединения.
- •48,3.6 Оператор расщепления.
- •49,3.7 Оператор фактор.
- •50,3.8 Функциональные зависимости. Алгоритм проверки функциональной зависимости satisfies.
- •52,3.10 2-Ая нормальная форма. Примеры.
- •53,3.11 Транзитивная зависимость. 3-я нормальная форма. Примеры
- •54,3.12 Назначение языка баз данных sql. Основные принципы языка
- •55,3.13 Sql.: Управление таблицами: создание, удаление. Типы данных в таблицах.
- •56,3.14 Sql: Управление данными: добавление, удаление записей.
- •57,3.15 Sql: Команда select. Общая структура команды (блоки from, where и т.П.)
- •58,3.16 Sql: Команда select. Выборка из нескольких связанных таблиц.
- •59,3.17 Sql: Команда select. Вложенные запросы к таблицам.
- •60,3.18 Sql: Объединение таблиц (команда join). Общая структура команды.
- •61,3.19 Sql: Объединение таблиц (команда union). Общая структура команды. Отличие от команды join.
- •62,3.20 Sql: Представления (view). Создание, удаление, использование.
- •64,3.22 Аксиомы вывода. Аксиомы вывода
- •65,3.23 Нормализация.
- •66,2.31 Однородные и неоднородные системы распределенных бд. Архитектура распределенных систем бд.
- •67,2.32 Обработка запроса в распределенной системе бд.
- •68,2.33 Сетевая субд. Типы функциональных узлов в распределенной системе бд.
- •69,2.34 Справочники бд. Их распределение.
- •70,2.35 Стратегии распределения данных в распределенных бд.
- •71,2.36 Целостность распределенных бд.
- •72,2.37 Организация ввода и коррекции информации в распределенных бд. Журнализация изменений в бд.
- •73,2.38 Дифференцальные файлы.
- •74,2.39 Понятие транзакции.
- •75,2.40 Сериализация транзакций в распределенных субд. Двухфазная фиксация изменений. Многоверсионный вариант двухфазного протокола синхронизации
- •76,2.41 Сериализация транзакций в распределенных субд на основе временных меток. Временные метки
- •77,2.42 Уровни изоляции при чтении данных.
- •78,2.43 Многопользовательская система с файл-сервером(на примере субд foxpro).
- •79,2.44 Архитектура "клиент-сервер" для распределенных систем баз данных.
- •7.1.2.Модели взаимодействия клиент-сервер.
- •80,2.45 Безопасность распределенных бд.
- •81,2.29 Управление доступом, привилегии доступа.
- •82,2.30 Управление доступом, привилегии безопасности.
72,2.37 Организация ввода и коррекции информации в распределенных бд. Журнализация изменений в бд.
общей целью журнализации изменений баз данных является обеспечение возможности восстановления согласованного состояния базы данных после любого сбоя. Поскольку основой поддержания целостного состояния базы данных является механизм транзакций, журнализация и восстановление тесно связаны с понятием транзакции. Общими принципами восстановления являются следующие:
результаты зафиксированных транзакций должны быть сохранены в восстановленном состоянии базы данных;
результаты незафиксированных транзакций должны отсутствовать в восстановленном состоянии базы данных.
Это, собственно, и означает, что восстанавливается последнее по времени согласованное состояние базы данных.
Возможны следующие ситуации, при которых требуется производить восстановление состояния базы данных:
Индивидуальный откат транзакции. Тривиальной ситуацией отката транзакции является ее явное завершение оператором ROLLBACK. и.
Восстановление после внезапной потери содержимого оперативной памяти (мягкий сбой). Такая ситуация может возникнуть при аварийном выключении электрического питания, при возникновении неустранимого сбоя процессора (например, срабатывании контроля оперативной памяти) и т.д. Ситуация характеризуется потерей той части базы данных, которая к моменту сбоя содержалась в буферах оперативной памяти.
Восстановление после поломки основного внешнего носителя базы данных (жесткий сбой). Эта ситуация при достаточно высокой надежности современных устройств внешней памяти может возникать сравнительно редко, но тем не менее, СУБД должна быть в состоянии восстановить базу данных даже и в этом случае. Основой восстановления является архивная копия и журнал изменений базы данных.
Во всех трех случаях основой восстановления является избыточное хранение данных. Эти избыточные данные хранятся в журнале, содержащем последовательность записей об изменении базы данных.
Возможны два основных варианта ведения журнальной информации. В первом варианте для каждой транзакции поддерживается отдельный локальный журнал изменений базы данных этой транзакцией. Эти локальные журналы используются для индивидуальных откатов транзакций и могут поддерживаться в оперативной (правильнее сказать, в виртуальной) памяти. Кроме того, поддерживается общий журнал изменений базы данных, используемый для восстановления состояния базы данных после мягких и жестких сбоев. .
73,2.38 Дифференцальные файлы.
74,2.39 Понятие транзакции.
в СУБД вводится понятие транзакции - атомарного действия над БД, переводящего ее из одного целостного состояния в другое целостное состояние. Другими словами, транзакция - это последовательность операций, которые должны быть или все выполнены или все не выполнены (все или ничего).
Методом контроля за транзакциями является ведение журнала, в котором фиксируются все изменения, совершаемые транзакцией в БД. Если во время обработки транзакции происходит сбой, транзакция откатывается - из журнала восстанавливаеться состояние БД на момент начала транзакции.
В СУБД различных поставщиков начало транзакции может задаваться явно (например, командой BEGIN TRANSACTION), либо предполагаться неявным (так определено в стандарте SQL), т.е. очередная транзакция открывается автоматически сразу же после удачного или неудачного завершения предыдущей. Для завершения транзакции обычно используют команды SQL:
COMMIT - успешно завершить транзакцию
ROLLBACK - откатить транзакцию, т.е. вернуть БД в состояние, в котором она находилась на момент начала транзакции.
Стандарт SQL определяет, что транзакция начинается с первого SQL-оператора, инициируемого пользователем или содержащегося в прикладной программе. Все последующие SQL-операторы составляют тело транзакции. Транзакция завершается одним из возможных способов:
оператор COMMIT означает успешное завершение транзакции, все изменения, внесненные в базу данных делаются постоянными
оператор ROLLBACK прерывает транзакцию и отменяет все внесенные ею изменения
успешное заверешение программы, инициировавшей транзакцию, означает успешное завершение транзакции (как использование COMMIT)
ошибочное завершение программы прерывает транзакцию (как ROLLBACK)
Пример явно заданной транзакции:
BEGIN TRANSACTION; /* Начать транзакцию */
DELETE ...; /* Изменения */
UPDATE ...; /* данных */
if (обнаружена_ошибка) ROLLBACK;
else COMMIT; /* Завершить транзакцию */
Пример неявно заданной транзакции:
СOMMIT; /* Окончание предыдущей транзакции */
DELETE ...; /* Изменения */
UPDATE ...; /* данных */
if (обнаружена_ошибка) ROLLBACK;
else COMMIT; /* Завершить транзакцию */
К сожалению, описанный механизм транзакций гарантирует обеспечение целостного состояния базы данных только в том случае, когда все транзакции выполняются последовательно, т.е. в каждую единицу времени активна только одна транзакция. Если работу с данными ведут одновременно несколько пользователей, вряд ли их устроит такой способ организации обработки запросов, т.к. это приведет к увеличению времени реакции системы.
