Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы экзамена / вопросы к экзамену 2017 — копия.docx
Скачиваний:
56
Добавлен:
09.12.2018
Размер:
498.33 Кб
Скачать
  1. Этапы проектирования многопользовательских баз данных

Ответ:

Этапы проектирования многопользовательских БД:

  1. Разработка концептуальной модели.

  • Определение цели создания ИС.

  • Установление состава пользователей БД.

  • Разработка концептуальной модели БД.

  • Разработка ТЗ на проектирования локальных СУБД.

  • Определение трудовых и материальных ресурсов для разработки БД.

  1. Разработка проекта субд в соответствие с тз.

  • Сбор, анализ и подготовка исходной информации об объектах предметной обл.

  • Разработка оптимального состава и структуры таблиц БД.

  • Установление логических связей между таблицами.

  • Разработка необходимого числа запросов для реализации поставленной задачи.

  • Разработка необходимого числа отчетов.

  • Разработка форм пользовательского интерфейса.

  • Разработка модулей, автоматизирующих работу пользователей.

  1. Реализация проекта и разработка технической документации.

  • Заполнение таблиц БД данными.

  • Проверка функционирования СУБД.

  • Разработка инструкция для пользователя.

  1. Основные компоненты систем управления реляционными базами данных

Ответ:

Основные компоненты систем управления реляционными базами данных:

  1. Таблицы – объекты БД, которые содержат данные предметной области.

  1. Запросы – объекты БД, представляющие собой некий набор команде, предназначенных для поиска и обработки данных в таблицах по заданным условиям.

Существуют запросы:

  • на выборку;

  • обновление;

  • добавление;

  • удаление

  • создание таблиц.

  1. Формы – объекты БД, предназначенные для организации интерфейса между пользователем и компьютером.

По назначению формы бывают:

  • формы для ввода данных в таблицу;

  • формы для вывода условий выполнения запросов;

  • формы для автоматического управления работой системы.

  1. Отчеты – объекты БД, представляющие собой вид документов для вывода результатов обработки информации.

  1. Управляющие программы предназначены для автоматизации работы с компонентами БД.

  1. Управление транзакциями и защита баз данных

Ответ:

Транзакция – это группа SQL-инструкций, используемых как едином целое, невыполнение хотя бы одной из их ведет к откату всей транзакции.

Свойство транзакций:

  • Атомарность – обеспечивает неделимость набора инструкций, который модифицирует данные в БД и является частью транзакции. Это означает, что или выполняются все изменения данных в транзакции, или в случае любой ошибки осуществляется откат всех выполненных изменений.

  • Согласованность или непротиворечивость – обеспечивает, что в результате выполнения транзакции БД не будет содержать несогласованных данных. Иными словами, выполняемые транзакцией трансформации данных переводят БД из одного согласованного состояния в другое.

  • Изолированностьотделяет все параллельные транзакции друг от друга. Иными словами, активная транзакция не может видеть модификации данных в параллельной или незавершенной транзакции. Это означает, что для обеспечения изоляции для некоторых транзакций может потребоваться выполнить откат.

  • Долговечностьобеспечивает сохраняемость данных. Иными словами, эффект транзакции должен оставаться действенным даже в случае системной ошибки. По этой причине, если в процессе выполнения транзакции происходит системная ошибка, то осуществляется откат для всех выполненных инструкций этой транзакции.

Типы транзакций:

  • Неявная транзакция – задает любую отдельную инструкцию INSERT, UPDATE или DELETE как единицу транзакции.

  • Явная транзакция — обычно это группа инструкций языка SQL, начало и конец которой обозначаются такими инструкциями, как BEGIN TRANSACTION, COMMIT и ROLLBACK.

  • Автоматические транзакции.

  • Вложенные транзакции.

  • Распределенные транзакции.

Проблемы одновременного доступа к данным:

  1. Потери обновлений – несколько транзакций одновременно могут считывать и обновлять одни и те же данные. При этом теряются все обновления данных, за исключением обновлений, выполненных последней транзакцией.

  2. Грязное чтение (проблема незафиксированной зависимости) – несколько транзакций одновременно могут считывать и изменять одни и те же данные. При этом одна транзакция будет работать с данными, которых раньше не было (грязные данные).

  3. Неповторяемое чтение – одна транзакций считывает данные несколько раз, а другая изменяет эти данные между двумя операциями чтения первой транзакций. В таком случае значения двух чтений будут разными.

  4. Фантомы (фантомное считывание) - одна транзакций считывает данные несколько раз, а другая добавляет значения, теме самым первая транзакция считывает разного числа строк при каждом чтении. Дополнительные строки называются фантомами и вставляются другими транзакциями.

Принципы решения проблем:

  1. Согласованные состояния – доступны только согласованные данные, зафиксированные оператором commit.

  2. Гарантированный результат – параллельное выполнение 2х транзакция приводит к одному и тому же результату, не зависимо от их реализаций.

  3. Сериализация транзакций – гарантирует, что каждый пользователь работает с БД, так как будто не существует других программ, обращающихся в БД.

Блокировка транзакций – это временно накладываемое ограничение на выполнение некоторых операций обработки данных.

Уровни блокировок:

  • Уровень 0запрет на «загрязнение» данных – изменять данные может только одна транзакция. Если другой транз. нужно изменить данные, то она должна дождаться завершения работы 1-ой транзакции.

  • Уровень 1запрет на «грязное» чтение – если транз. начала изменять данные, то другая не может прочитать этим данным, пока не завершиться 1-ая транз.

  • Уровень 2запрет неповторимого чтения – если одна транз. считывает данные, то другая не может их изменить.

  • Уровень 3 – запрет фантомов – если транз. обращается к данным, то другая транз. не может удалить/вставить данные.

Типы блокировок:

  • S – блокировка – блокировка с взаимным доступом. Устанавливается при чтении данных. Она разрешает чтение данных нескольким транзакциям одновременно, но данные защищены от изменений.

  • X – блокировка – блокировка без взаимного доступа. Никакая другая транзакция не может прочитать данные или изменить их.