Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы_билеты_31-42.doc
Скачиваний:
3
Добавлен:
16.04.2019
Размер:
526.34 Кб
Скачать

ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 31.

  1. Проблемы, возникающие при параллельном доступе, и пути их решения.

1) проблема утраченных обновлений

Суть – пользователи параллельно обрабатывают одни и те же данные, поэтому запоминается только то обновление, которое было проведено последним.

2) проблема незафиксированности обновлений (преждевременного чтения)

Суть – первый пользователь может увидеть данные, которые уже были обновлены вторым пользователем, но эти обновления еще не были окончательно зафиксированы. Теперь в случае проведения отката вторым пользователем первый будет работать с ошибочными несуществующими данными.

3) неповторяющееся чтение и фантомная вставка возникают в случае проведения пользователем групповой обработки данных.

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

Пути решения

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

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

Протокол двухфазной фиксации (блокировки) управляет процессом выполнения транзакций, затрагивающих несколько узлов БД. Главный принцип: исключение ситуации, в которой транзакция, охватывающая несколько узлов, на одних узлах завершается, а на других нет (т.е. вся транзакция целиком либо завершается, либо отменяется).

Обеспечивает

- согласованное и синхронное изменение распределенной БД параллельными транзакциями

- поддержку целостности и непротиворечивости данных

- предотвращение тупиковых ситуаций

- блокировку или возврат к исходной точке модификации во всех узлах.

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

Вторая фаза: система либо подает им сигнал на блокировку данных для их последующей модификации, либо осуществляет возврат к исходной точке выполнения транзакции в зависимости от того, возможно или невозможно заблокировать данные на всех узлах.

Уровни блокирования можно выделить в соответствии с блокируемыми единицами — БД, совокупность связных таблиц, таблица, совокупность связных записей, запись, поле.

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

  1. . ERWin. Особенности построения ER-модели.

ER-модель строится на уровне классов объектов, а не отдельных экземпляров объектов.

Каждому классу объектов в ER-модели присваивается уникальное имя. Именем класса объекта является грамматический оборот существительного (существительное, у которого могут быть прилагательные и предлоги). Если имя состоит из нескольких слов, то желательно, чтобы первым стояло существительное. Существительное должно употребляться в единственном, а не во множественном числе (например, ДИСЦИПЛИНА_ИЗУЧАЕМАЯ). Если в предметной об¬ласти традиционно используются разные имена для обозначения какого-либо класса объектов (т.е. имеет место синонимия), то все они должны быть зафиксированы при описании системы, и затем одно из них выбирается за основное, и только оно должно в дальнейшем использоваться в ER-модели. Помимо имени класса объектов в ER-MO-дели может использо-ваться его короткое кодовое обозначение; для дальнейшего перехода к даталогической модели еще может указы¬ваться имя, которое будет использоваться при описании структуры базы данных.

При построении ER-модели желательно дать словесную интерпретацию каждой сущности, особенно если возможно неоднозначное толкование понятия.

ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 32.

1. Сравнение OLAP и OLTP систем.

Сравнительные характеристики систем OLTP и OLAP приведены в табл. 1.2.

Таблица 1.2

Характеристика

OLTP

OLAP

Преобладающие операции

Ввод данных, поиск

Анализ данных

Характер запросов

Много простых транзакций

Сложные транзакции

Хранимые данные

Оперативные, детализированные

Охватывающие большой период времени, агреги­рованные

Вид деятельности

Оперативная, тактическая

Аналитическая, страте­гическая

Тип данных

Структурированные

Разнотипные

2..Задание ограничений целостности в ERWin..

При построении ER-модели в ERWin можно задавать ограниче­ния целостности.

1. Обязательный атрибут

Для атрибута можно задавать свойство «Required» (обязательный). Для тех атрибутов, которые выбраны в качестве первичного ключа, это свойство является неактивным, поскольку свойство обязательно­сти и так (по определению ключа) присуще элементам ключа. Свой­ство «Required» следует задать для атрибутов «Фамилия», «Имя», «Отчество» объекта СОТРУДНИК, «Наименование предмета полное» объекта ПРЕДМЕТ и некоторых других атрибутов. Задание этого свой­ства будет означать, что при вводе данных в БД недопустимо пустое значение соответствующего поля.

2. Ограничения целостности связи

При описании связи можно задать ограничения целостности свя­зи. Для этого следует воспользоваться вкладкой RI Actions (рис. 4.3) в окне редактора связей (Relationship Editor). В этой секции для каж­дой связи можно задать действия, которые будут выполняться при удалении (Delete), вставке (Insert) и обновлении (Update) как порож­денной (Child), так и родительской (Parent) сущности.

Для каждой корректирующей операции можно выбрать действие, которое представлено в ниспадающих списках. Каждый список имеет четыре возможных значения: NONE (никакой), RESTRICT (ог­раничивать),

CASCADE (каскад), SET DEFAULT (значение по умол­чанию).

На рис. 4.3 показаны значения RI Actions, задаваемые по умолча­нию. В рассматриваемом примере для операции Parent Delete следует выбрать действие CASCADE. Если «Код_сотрудника» может изме­няться, то для операции Parent Update также следует выбрать дей­ствие CASCADE.

Так как связь «многие ко многим» в реляционной модели не под­держивается, то на уровне логической модели нет смысла (и, как след­ствие, нет возможности) задавать действия при корректировке сущ­ностей, связанных таким типом связи. При необходимости можно перейти к уровню физической модели и скорректировать ограниче­ния связи для связей, появляющихся в физической модели взамен связи «многие ко многим».

Естественно, что выбор режима действий при выполнении кор­ректирующих операций будет зависеть от типа связи между сущнос­тями. В табл. 4.1 приведены возможные режимы для каждого вида связи. Значения по умолчанию выделены полужирным курсивом с подчеркиванием.

Таблица 4.1

Действие

Идентифици­рующая связь

Неидентифици-рующая связь (Nulls Allowed)

Неидентифици-

рующая связь (No Nulls)

Категориаль­ная связь

Child Delete

NONE,

RESTRICT, CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT, CASCADE, SET DEFAULT

NONE,

RESTRICT, CASCADE

Child Insert

NONE,

RESTRICT,

CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT,

CASCADE, SET DEFAULT

NONE,

RESTRICT,

CASCADE

Child Update

NONE,

RESTRICT,

CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT,

CASCADE, SET DEFAULT

NONE,

RESTRICT,

CASCADE

Parent Delete

NONE,

RESTRICT,

CASCADE,

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT CASCADE, SET DEFAULT

NONE,

RESTRICT,

CASCADE

Parent Insert

NONE,

RESTRICT, CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT, CASCADE, SET DEFAULT

NONE,

RESTRICT, CASCADE

Parent

Update

NONE,

RESTRICT,

CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT,

CASCADE, SET DEFAULT

NONE,

RESTRICT,

CASCADE

Значения ограничений означают следующее:

  • NONE - действие не оказывает влияния на связанные записи;

  • RESTRICT - действие запрещено (при определенных условиях);

  • CASCADE - действие вызывает изменения в связанных записях;

  • SET DEFAULT - устанавливается значение по умолчанию для поля связи;

  • SET Null - устанавливается по умолчанию значение Null для поля связи.

Так называемая категориальная связь является особой связью: с одной стороны, она является идентифицирующей связью, а с другой - связывает не два разных объекта, а информацию об одном и том же объекте. Для обобщенного объекта хорошо бы иметь специальный инструмент, который позволял бы рассматривать его как единое целое. В ERWin можно задавать ограничения целостности только для каждой отдельной связи, соединяющей родовой объект с каждым из видовых объектов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]