©NIITСовместная работа Урок 3 C / Слайд 1

  • Размер: 219 Кб
  • Количество слайдов: 21

Описание презентации ©NIITСовместная работа Урок 3 C / Слайд 1 по слайдам

©NIITСовместная работа Урок 3 C / Слайд 1 из 22 Байт знаний В этом разделе Вы©NIITСовместная работа Урок 3 C / Слайд 1 из 22 Байт знаний В этом разделе Вы будете изучать : • Двенадцать правил Кодда • Индексы • Восстановление после взаимной блокировки • Восстановление базы данных

©NIITСовместная работа Урок 3 C / Слайд 2 из 22 Двенадцать правил  Кодда  •©NIITСовместная работа Урок 3 C / Слайд 2 из 22 Двенадцать правил Кодда • И. Ф. Кодд ( Dr. E. F. Codd ) предложил двенадцать правил, которым должна удовлетворять база данных, чтобы считаться по-настоящему реляционной. • Эти правила сформулированы в теоретической работе Кодда, посвященной реляционной модели. • Правила основаны на едином фундаментальном нулевом правиле : • Для того, чтобы система считалась РЕЛЯЦИОННОЙ системой УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ, она должна использовать свои РЕЛЯЦИОННЫЕ средства для УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ. • Вот эти двенадцать правил : • Информационное правило : Правило просто требует, чтобы вся информация была представлена в виде значений данных в строках и столбцах таблиц. Это является основой реляционной модели. • Правило гарантированного доступа : Каждое значение данных в реляционной базе данных должно быть логически доступно при указании комбинации, состоящей из имени таблицы, значения первичного ключа и имени столбца.

©NIITСовместная работа Урок 3 C / Слайд 3 из 22 Двенадцать правил Кодда  ( продолжение.©NIITСовместная работа Урок 3 C / Слайд 3 из 22 Двенадцать правил Кодда ( продолжение. . ) • Систематическая обработка значений NULL: СУБД должна поддерживать значения NULL для представления утерянной или ненужной информации. Они должны отличаться от нулей в пробелах. Значения NULL не должны зависеть от типа данных. • Активный текущий каталог, основанный на реляционной модели : В системном каталоге содержится описание структуры базы данных. Эти таблицы создаются и поддерживаются самой СУБД, и она является их владельцем. Пользователи могут пользоваться ими, как обычными таблицами, в зависимости от пользовательских привилегий. Системные таблицы предназначены только для чтения. • Правило исчерпывающих данных подмножества языка : Этим правилом устанавливается, что система должна поддерживать, по крайней мере, следующие функции : • Определение данных • Определение представления • Операции манипулирования данными • Ограничения безопасности и целостности • Операции управления транзакциями

©NIITСовместная работа Урок 3 C / Слайд 4 из 22 Двенадцать правил Кодда  ( продолжение.©NIITСовместная работа Урок 3 C / Слайд 4 из 22 Двенадцать правил Кодда ( продолжение. . ) • Правило обновления представлений : все представления, которые являются теоретически обновляемыми, должны обновляться системой. • Вставка, обновление и удаление высокого уровня : Этим правилом устанавливается, что в операциях вставки, удаления и обновления строки должны обрабатываться, как множества. Оно делает ударение на том, что природа баз данных ориентирована на множества. • При внесении изменений в способ хранения или методы доступа к данным прикладные программы должны оставаться неизменными. • Логическая независимость данных : Изменения не должны влиять на возможности пользователя при работе с данными. • Целостная независимость : Ограничения целостности должны храниться в системном каталоге. • Распределенная независимость : База данных должна допускать манипулирование распределенными данными, размещенными на других компьютерных системах. • Правило неопровержимости : Правилом неопровержимости устанавливается, что различные уровни языка не могут опровергнуть или обойти правила и ограничения целостности.

©NIITСовместная работа Урок 3 C / Слайд 5 из 22 Индексы  • Для прямого доступа©NIITСовместная работа Урок 3 C / Слайд 5 из 22 Индексы • Для прямого доступа к записям вы можете разработать дополнительные структуры, связанные с файлами. Одной из таких структур является индекс. • Индекс файла подобен каталогу в библиотеке. • Для создания индекса используется оператор CREATE INDEX. • Для удаления индекса применяют оператор DROP INDEX. • Описания индексов хранятся в системной базе данных. • При удалении таблицы все индексы, созданные для нее, тоже удаляются.

©NIITСовместная работа Урок 3 C / Слайд 6 из 22 Восстановление после взаимной блокировки • Когда©NIITСовместная работа Урок 3 C / Слайд 6 из 22 Восстановление после взаимной блокировки • Когда происходит взаимная блокировка, для ее разрушения выполняется откат одной или нескольких транзакций. • При выполнении операции отката необходимо решить следующие вопросы : • Выбор «жертвы» — в ситуации взаимной блокировки надо сначала определить транзакцию (или транзакции), которые должны выполнить откат для разрушения блокировки. • Откат — После определения транзакции для отката, надо определить насколько далеко будет проходить откат транзакции. • Зависание — Во избежание зависания Вы должны обеспечить, чтобы транзакция выбиралась на роль «жертвы» фиксированное количество раз.

©NIITСовместная работа Восстановление базы данных • Некоторые из событий, которые могут вызвать отказ системы : ©NIITСовместная работа Восстановление базы данных • Некоторые из событий, которые могут вызвать отказ системы : • Системные ошибки • Логические ошибки • Отказы аппаратуры • Процедуры восстановления базы данных дают возможность восстановить данные в состояние, имевшее место незадолго перед отказом системы. Эти процедуры помогают также определить состояние процесса обработки транзакций в момент отказа системы. • Для поддержания целостности данных транзакция должна находиться в одном из двух состояний : • Прерванное состояние • Зафиксированное состояние Урок 3 C / Слайд 7 из

©NIITСовместная работа Урок 3 C / Слайд 8 из 22 Восстановление базы данных (продолжение. . )©NIITСовместная работа Урок 3 C / Слайд 8 из 22 Восстановление базы данных (продолжение. . ) • В процессе восстановления базы данных используется журнал транзакций, в котором хранится история всех внесенных в базу данных изменений и состояние каждой транзакции. • При определении стратегии восстановления Вы можете использовать следующие два подхода : • Журнал отсроченных обновлений • Журнал с немедленными обновлениями

©NIITСовместная работа Урок 3 C / Слайд 9 из 22 С рабочего стола эксперта • В©NIITСовместная работа Урок 3 C / Слайд 9 из 22 С рабочего стола эксперта • В этом разделе представлены следующие материалы : • Оптимальная методика предупреждения взаимной блокировки • Совет по восстановлению базы данных • Часто задаваемые вопросы по взаимной блокировке и операторам SQL

©NIITСовместная работа Урок 3 C / Слайд 10 из 22 Оптимальная методика Предупреждение взаимной блокировки •©NIITСовместная работа Урок 3 C / Слайд 10 из 22 Оптимальная методика Предупреждение взаимной блокировки • Перед началом выполнения каждая транзакция должна заблокировать свои элементы данных. Кроме того, элементы данных должны быть заблокированы или все сразу, или не блокируется ни один из них. • Применение частичного упорядочения элементов данных и соблюдение транзакциями указанного порядка блокирования. • Использование приоритетов и откатов транзакций.

©NIITСовместная работа Советы Восстановление базы данных при помощи журнала транзакций • Процесс восстановления базы данных включает©NIITСовместная работа Советы Восстановление базы данных при помощи журнала транзакций • Процесс восстановления базы данных включает сканирование журнала для транзакций , выполнявшихся последними. • Однако, ограничений при сканировании журнала быть не должно, потому что ошибки могли случиться в ходе первой транзакции. • Более приемлем метод поиска так называемой контрольной точки, расположенной достаточно далеко по ходу предыдущей работы СУБД. • СУБД должна удостовериться, что любой элемент, записанный до этой точки, не содержит ошибок и сохранен надлежащим образом. Затем от этой точки начинается восстановление базы данных. Этот метод известен, как профилактическое копирование в контрольной точке. Урок 3 C / Слайд 11 из

©NIITСовместная работа Часто задаваемые вопросы В. как часто надо проверять наличие взаимной блокировки ? О. :©NIITСовместная работа Часто задаваемые вопросы В. как часто надо проверять наличие взаимной блокировки ? О. : периодичность проверки на наличие взаимного блокирования зависит от двух факторов : • Частота повторения случаев взаимной блокировки • Количество транзакций, подверженных взаимному блокированию При частом повторении случаев взаимной блокировки проверки следует проводить регулярно. Это необходимо потому, что элементы данных, которые удерживаются заблокированными транзакциями, не могут быть использованы другими транзакциями до разблокирования. В самом худшем случае придется проводить проверку каждый раз, когда поисковый запрос не получает немедленного ответа. Урок 3 C / Слайд 12 из

©NIITСовместная работа Часто задаваемые вопросы ( продолжение ) В. Существует ли способ проверить, вернет ли подзапрос©NIITСовместная работа Часто задаваемые вопросы ( продолжение ) В. Существует ли способ проверить, вернет ли подзапрос какие-либо строки в качестве результата ? О. : Для проверки того, вернет ли подзапрос какие-либо строки, в SQL предусмотрено предложение EXISTS. Вы можете также проверить отсутствие строк в подзапросе, применив предложение NOT EXISTS. В. Кроме UNION, можем ли мы осуществлять и другие операции над множествами, используя операторы SQL? О. : Кроме UNION вы можете выполнять над множествами операции INTERSECT и MINUS , пользуясь имеющимися в SQL предложениями INTERSECT и MINUS. В. Включен ли в SQL какой-либо оператор для сравнения значений ? О. : В языке SQL имеется оператор сравнения BETWEEN. Этот оператор упрощает предложение WHERE , задающее условие, согласно которому некоторое значение должно быть равно или меньше одного значения и равно или больше другого значения. В SQL также имеется оператор сравнения NOT BETWEEN. Урок 3 C / Слайд 13 из

©NIITСовместная работа СРС 2 1. Приведите в соответствие типы представлений и их описания. 1.  Подмножество©NIITСовместная работа СРС 2 1. Приведите в соответствие типы представлений и их описания. 1. Подмножество столбцов A. Оно включает только некоторые столбцы и некоторые из строк таблицы-источника. 2. Подмножество строк B. Оно формируется путем задания двух- или трехтабличного запроса в определении представления. 3. Соединенное C. Он включает все столбцы, но лишь некоторые из строк таблицы- источника. 4. Подмножество «строка- D. Оно включает все строки, но столбец» лишь некоторые из столбцов таблицы-источника. Урок 3 C / Слайд 14 из

©NIITСовместная работа СРС 2 (продолжение. . ) 2. Рассмотрим следующие этапы : 1.  Транзакция A©NIITСовместная работа СРС 2 (продолжение. . ) 2. Рассмотрим следующие этапы : 1. Транзакция A находит запись R в момент времени T. 2. Транзакция B находит ту же запись в момент T+1. 3. Транзакция A обновляет запись в момент времени T+2 ( исходя из значений на момент T). 4. Транзакция B обновляет эту же запись в момент времени T+3 ( исходя из значений на момент T+1). Что получится в результате приведенной последовательности этапов работы транзакций ? Урок 3 C / Слайд 15 из

©NIITСовместная работа Урок 3 C / Слайд 16 из 22 СРС 2  (продолжение. . )©NIITСовместная работа Урок 3 C / Слайд 16 из 22 СРС 2 (продолжение. . ) 3. В чем состоит проблема со следующим оператором SQL? CREATE TABLE товар ( товар-код CHAR(5), Товар-тип CHAR(14), цена DECIMAL (7, 2), PRIMARY KEY ( товар-код )) 1. Неправильно указан тип данных DECIMAL. 2. Не указано предложение NOT NULL для атрибута a- код. 3. Имена атрибутов не должны быть заключены в скобки. 4. Имя таблицы должно быть заключено в скобки.

©NIITСовместная работа СРС 2 (продолжение. . ) 4. Рассмотрим следующую ситуацию : Студент пришел на регистрацию©NIITСовместная работа СРС 2 (продолжение. . ) 4. Рассмотрим следующую ситуацию : Студент пришел на регистрацию в университет. Студенты в этом университете должны зарегистрироваться, по крайней мере, на два курса (предмета). Студент выбрал один курс по американской истории, а другой — по социологии. Сотрудник регистрационного офиса проделал следующее : 1. Проверил наличие мест на курсе американской истории. 2. Нашел свободное место. 3. Студенту разрешили посещение. 4. Проверил наличие мест на курсе социологии. 5. Обнаружил, что свободных мест нет. Урок 3 C / Слайд 17 из

©NIITСовместная работа СРС 2 (продолжение. . ) 6.  Отказал студенту в допуске на этот курс©NIITСовместная работа СРС 2 (продолжение. . ) 6. Отказал студенту в допуске на этот курс и предложил зарегистрироваться на курс психологии. 7. Зарегистрировал студента на прослушивание обоих курсов. Что, по Вашему мнению, предпримет СУБД, если во время выполнения этапа 4 произойдет отказ аппаратуры ? 5. Определите, истинно или ложно утверждение : строки в отношении расположены неупорядоченно. – Что из перечисленного является преимуществом использования представлений ? 1. Простота обновления 2. Достоверность информации 3. Логическая независимость данных 4. Ограниченный доступ Урок 3 C /Слайд 18 из

©NIITСовместная работа СРС 2 (продолжение. . ) 7. Таблица Деталь имеет следующие столбцы : Деталь_Код (©NIITСовместная работа СРС 2 (продолжение. . ) 7. Таблица Деталь имеет следующие столбцы : Деталь_Код ( первичный ключ ) Деталь_Имя Размер Цена Город Определите, является ли обновляемым следующее представление. Обоснуйте свой ответ r. CREATE VIEW p ( деталь_имя , размер ) AS SELECT деталь_имя , размер FROM деталь WHERE цена > 150 Урок 3 C / Слайд 19 из

©NIITСовместная работа СРС 2 (продолжение. . ) 8. Какой из следующих операторов  SQL используется для©NIITСовместная работа СРС 2 (продолжение. . ) 8. Какой из следующих операторов SQL используется для создания схемы безопасности базы данных ? 1. GRANT 2. CREATE 3. REVOKE 4. DROP 9. Определите, истинно или ложно утверждение : Условие целостности сущности устанавливает, что база данных не должна содержать несовпадающих значений внешних ключей. Урок 3 C / Слайд 20 из

©NIITСовместная работа СРС 2 (продолжение. . ) 10. Что из перечисленного является концепциями, образующими основу схемы©NIITСовместная работа СРС 2 (продолжение. . ) 10. Что из перечисленного является концепциями, образующими основу схемы безопасности СУБД ? 1. Пользователи 2. Объекты базы данных 3. Отношения 4. Привилегии Урок 3 C / Слайд 21 из