АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Вправи і завдання

Читайте также:
  1. I. Мета, завдання та загальні вимоги до виконання курсової роботи
  2. II. Завдання та обов'язки
  3. II. Перевірка виконання домашнього завдання.
  4. II. Перевірка домашнього завдання.
  5. III. Вправи на спостереження за роллю дієслів у мовленні.
  6. III. Мета, стратегічні напрями та основні завдання Національної стратегії
  7. IV. Домашнє завдання з інструктажем.
  8. IV. Тренувальні вправи.
  9. IV. Тренувальні вправи.
  10. IV. Тренувальні вправи.
  11. IV. Тренувальні вправи.
  12. V. Домашнє завдання з інструктажем.

1. Встановіть відповідність між термінами і поясненнями до них:

 

адміністратор бази даних а. Засіб приведення бази даних, порушеної відмовами системи, в несуперечливий стан
простий текст b. Менеджер, в обов'язки якого входить управління технічними аспектами бази даних
паралельна обробка с. Відбувається, коли дві або більш за транзакцію одночасно вимагають доступу до одного і того ж запису
процедури відновлення бази даних d. Обмежена підмножина реляційної таблиці
транзакція e. Користувач має право читати даний запис
перервана транзакція f. Програмний модуль, виконання якого зберігає несуперечливість бази даних
блокування g. Читаний текст
геаd_1оск h. Транзакція, скасована до того, як зміни були внесені до бази даних
детекція взаємоблокування i. При обробці транзакції забороняє доступ до запису інших транзакцій, поки перша транзакція не виконає всі свої дії
представлення даних j. СУБД, що періодично проводиться, перевірка того, чи не перевищило час очікування деякого ресурсу заздалегідь визначеної межі

 

2. Покажіть на прикладі, як паралельне оновлення може викликати проблеми цілісності даних.

3. Покажіть на прикладі, як працює двофазне блокування.

4. Говорять, що дві транзакції допускають приведення до послідовної форми, якщо їх можна виконувати паралельно так, що результат буде таким же, як при послідовній обробці, коли виконання од­нієї транзакції повністю закінчується до того, як запускається друга. Розглянемо наступні дві пересічні транзакції; припустимо, що умова несуперечності полягає в тому, що А або В завжди рівне 1. Вважатимемо, що до початку виконання транзакцій А=В=1.

 

T1 T2
Читання елементу A  
  Читання елементу В
  Читання елементу A
Читання елементу В  
Якщо А=1  
то В:= В+1  
  Якщо В=1
  то А:= А+1
  Запис елементу А
Запис елементу В  

 

Чи буде виконано вимогу несуперечності? Аргументуйте вашу відповідь. Чи є схема пересічної обробки, що гарантує приводимість до послідовної форми? Якщо так, то продемонструйте її. Якщо немає, то поясніть, чому.

5. Для протоколу з негайними оновленнями створіть записи прото­колу, що відповідають наступним діям транзакції:

 

Т: read (A,a1) Читання поточного балансу клієнта
  a1:=a1+800 Збільшення рахунку на 800 гривень
  write (A, a1) Запис нового балансу
  read( B;b1) Читання поточного балансу рахунків, що підлягають оплаті
  b1:=b1+800 Збільшення, балансу рахунків на 800 гривень
  write (B,b1) Запис нового балансу

 

6. Припустимо, що в (5) відмова відбувається після запису в протокол дії write(B,b1).

а. Покажіть стан протоколу у момент відмови.

b. Яку дію необхідно виконати і чому? Які значення матимуть в результаті А і В?

7. Припустимо, що в (5) відмова відбувається після запису в протокол дії «<T,COMMITS>».

а. Покажіть стан протоколу у момент відмови.

b. Яку дію необхідно виконати і чому? Які значення матимуть в результаті А і В?

8. Розглянемо наступні варіанти записів протоколу у момент відмови системи:

 

<T1,BEGIN> < T1,BEGIN> < T1,BEGIN>
< T1,A, 500, 395> < T1,A,500, 395> < T1,A, 500,395>
<T,B,800, 950> < T1, A, 500, 395> < T1, A, 500, 395>
  < T1,COMMIT> < T1,COMMIT>
  <T2,BEGIN> <T2.BEGIN>
  <T2,C,320,419> <T2,C,320, 419>
    <T2,COMMIT>
(A) (Б) (В)

а. Припустимо, що протокол з відкладеними оновленнями. Опишіть для кожного з випадків (А, Б, В), які процедури відновлення необхідно виконати і чому. Вкажіть значення атрибутів після процедур відновлення.

b. Виконайте (а) у випадку протоколу з негайними оновленнями.

9. Нехай задані транзакції T1, T2, T3, які виконують наступні операції:

T1: додати 1 до А,

T2: подвоїти А,

T3: вивести А на екран, а потім задати для А значення 1

(де А це деякий об’єкт бази даних).

Припустимо, що транзакції T1, T2, T3 виконуються паралельно. Перелічіть всі можливі результати виконання цих транзакцій, якщо початкове значення А рівно 0.

10. У наступних прикладах створити правила безпеки для бази даних «Студенти» (тема 6)[8]:

10.1. Створити правило безпеки, що дозволяє витягання і оновлення стовпців surname, name, _year (курс), group, faculty таблиці students, якщо студенти навчаються з 1 по 6 курс на історичному, філологічному або природничому факультетах і проживають в містах Олександрії або Кіровограді, для користувачів User_l, User_2.

10.2. Створити правило безпеки для користувачів User_3, User_4, що дозволяє витягання, видалення і оновлення стовпців course_name, teacher, _hours таблиці course, якщо курси включені до 1, 3 або 5 семестрів, і кількість їх годин знаходиться в межах від 30 до 90.

10.3. Створити правило безпеки, що дозволяє витягання, вставку і видалення для всіх стовпців таблиці student, якщо студенти навчаються з 4 по 6 курс на фізикоматематичному, історичному або філологічному факультетах, для користувачів User_l, User_2

10.4. Створити правило безпеки, що дозволяє витягання, вставку і видалення для всіх стовпців таблиці student, якщо студенти навчаються з 1 по 3 курс на біологічному, філологічному або юридичному факультетах, для користувачів User_3, User_4.

10.5. Створити правило безпеки, що дозволяє витягання, видалення і оновлення стовпців subject_name, lecturer, appointment, _hours таблиці subject, якщо курси включені до 2, 4 або 6 семестрів, і їх кількість годин знаходиться в межах від 50 до 110 для користувачів User_5, User_6

10.6. Створити правило безпеки, що дозволяє витягання і оновлення стовпців surname, name, _year, _group, таблиці student, якщо студенти навчаються з 3 по 6 курс на фізикоматематичному, філологічному або природничому факультетах і проживають в містах Кіровоград, Знам’янка, Олександрія або Світловодськ, для користувачів User_7 і User_8.

11. Припустимо, що користувач User, що є власником схеми бази даних "Продаж товарів" (додаток), яка містить таблиці

EMPLOYEE (EMP_ID, NAME, AGE, REP_OFFICE, APPOINTMENT, HIRE_DATE, MANAGER_ID, PLAN, SALES)

OFFICES (OFFICE, CITY, REGION, MANAGER, OFFICE__PLAN, OFFICE_SALES);

призначає привілеї insert і select для таблиці EMPLOYEE і привілей select для OFFICES користувачам User 1 і User2, причому з правом передачі.

Хай тепер користувач User 2 призначає користувачеві User 3 ті ж привілеї, але вже без права їх передачі.

Користувач User 1, у свою чергу, намірився облагодіяти користувача User 3 набором привілеїв, вужчим, але проте достатнім для виконання SQLінструкцій, а саме select і insert (name) для EMPLOYEE і select для OFFICES

Заувожимо, що користувач User 3 отримав привілеї select для EMPLOYEE і OFFICES з двох джерел. Привілей insert (name) також призначений двічі: користувачем User 1 безпосередньо і користувачем User 2 — у вигляді більш загального привілею insert.

11.1. Запишіть відповідні команди призначення привілеїв;

11.2. Діаграми призначення привілеїв

Оскільки в процесі призначення привілеїв і передачі прав на них привілеї часто перекриваються і залежності між "дарувальниками" і одержувачами привілеїв стають все більш складними, структури привілеїв корисно представляти у вигляді графів, званих діаграмами призначення (grant diagrams). СУБД підтримують внутрішнє представлення подібних діаграм з метою відстежування подій призначення і отримання привілеїв; така інформація використовується у разі можливого анулювання (revoke) привілеїв.

Вершини графу відповідають користувачам і привілеям. Один і той же привілей з опцією права передачі і без такої повинна представлятися різними вершинами. Якщо користувач U призначає привілей Р користувачеві V і якщо ця операція виконується на тій підставі, що U володіє привілеєм Q (де Q — це привілей Р з правом передачі або деяке узагальнення привілею Р, знову ж таки з правом передачі), в граф включається дуга, що сполучає вершину U/Q з вершиною V/P.

Граф повинен відповідати наступним угодам: символом зірочки (*) позначені привілеї з опцією права передачі; двома зірочками (**) помічені привілеї, успадковані користувачем на підставі права володіння елементом бази даних, а не отримані їм від інших користувачів. Ця відмінність виявляється в ситуації, пов'язаній з анулюванням (revoke) привілеїв. Привілеї, позначені двома зірочками, автоматично включають право передачі. U

Побудуйте діаграму призначення привілеїв, що ілюструє результати виконання послідовності команд grant, розглянутих в прикладі 11.1.

11.3. Анулювання привілеїв. Припустимо, що користувач User анулює привілеї, призначені ним користувачеві User 2. Запишіть відповідні команди анулювання привілеїв. Які є способи завершення цих команд?

11.4. Внесіть зміни в діаграму призначення привілеїв.

 

 


Словник термінів до теми 8

read__lock. Команда блокування, по якому користувач має право прочитувати даний запис.

write_Iock. Операція блокування, що дозволяє користувачеві прочитувати і оновлювати даний запис.

Адміністратор даних. Менеджер, в чиї обов'язки входить визначення загальної політики і процедур інформаційної системи організації.

Взаємоблокування. Дві транзакції закривають один одному доступ до наступних записів, необхідних для завершення транзакцій; також називається «Смертельними обіймами».

Двофазне блокування Метод контролю паралельної обробки, в якому всі операції блокування передують першій операції розблокування.

Детекція взаємоблокування. Періодична перевірка з боку СУБД, чи не перевищило час очікування деякого ресурсу заздалегідь визначеної межі.

Захист даних. Засоби запобігання несанкціонованому доступу до бази даних.

Контрольна крапка. Крапка, віддалена назад достатньо далеко, щоб гарантувати, що всі елементи, записані до неї, записані правильно і збережені.

Метод контрольних крапок. Збереження копій бази даних в зумовлені моменти часу в процесі обробки; відновлення бази даних починається від останньої контрольної крапки.

Неподільна транзакція. Транзакція, в якій або всі її дії виконуються до кінця, або жодне з них не виконується.

Протокол. Запис всіх транзакцій і відповідних змін бази даних.

Текстшифр. Закодований звичайний текст.

Умова (обмеження) цілісності. Обмеження, накладене на певну безліч даних; застосовується в цілях мінімізації помилок введення.

Цілісність даних. Точність і несуперечність даних в базі даних.

Шифрування. Кодування даних з метою зробити їх безглуздими для всіх, окрім правомочних користувачів.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.)