Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vidpovidi_BD_2009.doc
Скачиваний:
11
Добавлен:
18.09.2019
Размер:
690.69 Кб
Скачать

Засоби адміністрування даними

ALTER DATABASE Змінити базу даних

ALTER DBAREA Змінити область зберігання бази даних

ALTER PASSWORD Змінити пароль

CREATE DATABASE Створити БД

CREATE DBAREA Створити область зберігання

DROP DATABASE Вилучити БД

DROP DBAREA Вилучити область зберігання БД

GRANT Представити права

REVOKE Позбавити прав

Засоби управління транзакціями

COMMIT Завершити транзакцію

ROLLBACK Відкат транзакції

SAVEPOINT Зберегти проміжну точку виконання транзакції

Приклади: Створити таблицю Група

CREATE TABLE Group (

G_Title VARCHAR (10),

G_Quant SMALLINT,

SP_Title VARCHAR(50));

Змінити назву кафедри, де завідуючим кафедрою працює Бойко Л.Т., на назву ІТ.

UPDATE Chair

SET C_Title=”ІТ”

WHERE C_Chief=”Бойко Л.Т.”;

12.Мова запитів qbe: основні можливості по формуванню запитів да бази даних, приклади запитів.

Мова запитів за зразком QBE (Query-by-Example) була розроблена у 70-х роках дослідницьким центром фірми IBM. Його створення відбувалося паралельно зі створенням SQL, і обидві мови логічно подібні.

По суті QBE - це графічна версія реляційної мови SQL, і обидві мови зазвичай підтримуються одночасно в програмних продуктах. Компанія Borland, наприклад, пропонує в складі Delphi версію QBE з повними функціями, включаючи визначення таблиць. Синтаксис сучасних версій мови QBE трохи відрізняється від запропонованого IBM, але основна ідея мови збережена.

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

Мова QBE - це непроцедурна мова, що базується на реляційному численні доменів.

QBE є графічною мовою, в якій запити формулюються за допомогою графічного уявлення таблиць бази даних. Одночасно на екрані можна розмістити декілька шаблонів таблиць БД (image of table), або в термінах QBE, таблиць-зразків. Таблиця-зразок показує ім'я таблиці й імена стовпців над порожніми областями, що використовуються для введення умов запиту. Розташовуючи символи в порожніх областях стовпців таблиці, користувач може визначати умови відбору рядків для запиту, групування даних, формат виведення даних, а також операції відновлення бази даних.

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

Запити на QBE формулюються шляхом заповнення таблиць-зразків за такими правилами^

1. У порожній області стовпця таблиці можна вказувати константи або змінні.

2. Змінні починаються з підкреслення і є елементами-зразками. Елемент-зразок - це змінна, що позначає невизначене значення в стовпцях таблиці.

3. Якщо порожня область не заповнена, то вважається, що вона містить змінну, яка відрізняється від усіх інший змінних запиту.

4. Для вибору за умовою, що відрізняється від рівності, перед змінною або константою необхідно поставити оператор порівняння. Припускається використання арифметичних виразів (наприклад, >=0,5*_Y, де _Y - це змінна), функцій агрегатування (max, min тощо), а також вибір за зразком.

5. Стовпчики, що входять у результуючий набір даних позначаються ознакою ’P.’. Для виведення всіх стовпчиків таблиці ознака ’P.’ вказується під іменем таблиці.

6. Для таблиці можна визначити сортування або групування записів по одному або групі стовпців.

7. Можна змінювати порядок стовпців у таблиці-зразку.

8. Для позначення умови з'єднання в пов'язаних стовпцях таблиць-зразків розміщається той самий елемент-зразок.

Прості запити

Як і для SQL, спочатку розглянемо прості запити, що обробляють тільки одну таблицю бази даних.

Для визначення в результуючому НД необхідного порядку стовпців треба просто перетягнути стовпці в таблиці-зразку.

Числова константа 50 задає умову вибору. Розташування ознаки виводу на друк під іменем таблиці еквівалентно завданню ’*’ в реченні SELECT команди запиту SQL. В результуючий НД будуть виведені всі стовпці таблиці, що задовольняють умові вибору.

13. Паралельна обробка даних у базі даних; транзакції і їхні властивості; управління транзакціями, двохфазове блокування, метод тимчасових міток.

Робота з багатокористувацькими СУБД вимагає на відміну від 1 користувача виконання принаймі 2-х додаткових функцій: організація паралельної роботи користувачів, забеспечення захисту інформації.

Для управління паралельною роботою застосовувань використовується транзакція.

Транзакція – це одинична або групова зміна БД, яка або виконується повністю, або не виконується зовсім. Транзакція переводить БД з одного цілісного стану в інший.

Властивості транзакції: атомарність-неподільність або викидається з процессу обробки; сумісність-стан БД може змінюватись транзакціями аким чином,що бд переходить з 1 стану в інший; ізольованість-в процесі роботи 1 транзакція не впливає на роботу іншої; довготерміновість-результат транзакції після її виконання не може бути ніяким чином змінений.

Серіалізація транзакцій - це план виконання транцакції які є еквівалентними певному послідовному виконанню. Серіалізація передбачає синхронізацію блокувань об’єктів бд. Блокування передбачає заборону звернення до певних об’єктів під час роботи з цими об’єктами однієї транзакції. Пеедбачається 2-фазний протокол синхронних блокувань. Виконується протокол в 2 етапи: перед виконанням транзакція запитує і накопичує всі необхідні блокування; виконання транзакції і фіксація змін в бд і після убого звільнення об’єкта від блокування.

До операторів керування транзакціями відносяться наступні:

  • SET TRANSACTION (почати транзакцію);

  • COMMIT (завершення дії транзакції з фіксацією результатів змін у БД)

  • ROLLBACK (завершення дії транзакції з відміною зроблених змін)

Формат запису оператора транзакції

SET TRANSACTION:

SET TRANSACTION [READ WRITE/ READ ONLY]

[WAIT/ NO WAIT]

[[ISOLATION LEVEL]{SNAPSHOT [TABLE STABILITY]/ READ COMMITTED [[NO]RECORD_VERSION]}]

[RESERVING<список таблиць>[FOR[SHARED/ PROTECTED][READ/WRITE]],[<список табл>…]]

Приклад: Встановити транзакцію, яка забезпечить зміну назви кафедри і назви факультету, де завідуючим кафедрою працює Бойко О.О., на назву ІТ і АІТ

SET TRANSACTION;

UPDATE Chair

SET C_Title=”IT”, F_Title=”AIT”

WHERE C_Chief=”Бойко О.О.”;

COMMIT;

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