Навігація
Головна
 
Головна arrow Інформатика arrow Бази даних
< Попередня   ЗМІСТ   Наступна >

Створення і використання БД

Основне завдання при проектуванні реляційних БД - формування оптимальних відносин.

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

Нормалізація здійснюється послідовно з використанням п'яти нормальних форм, включаючи форму Бойса-Кодца.

На цьому "паперове" побудова БД закінчується. Комп'ютерна реалізація БД визначається мовами опису (ЯОД) і маніпулювання (ЯМД) даними. Вони можуть базуватися на реляційній алгебрі (процедурні мови) і реляційному обчисленні кортежів і доменів (декларативні мови). На обчисленні кортежів заснований мова SQL, на численні доменів - мова QBE.

Розглянемо можливості мов SQL і QBE. Прикладне їх використання описано в гл. 15.

Мова SQL

Для SQL є багато варіантів і діалектів. Тут викладемо основні положення базового варіанту: більш докладний опис мови наведено в [2, 5, 6, 26, 33].

Ілюстрацію мови SQL проведемо на прикладі бази даних "Постачання", представленої в табл. 5.3-5.5. Для неї схема Access- зв'язків показана на рис. 5.2.

Таблиця 5.3

"Продавці"

Іншому

німя

юрод

комм

loot

Строков

Москва

12

Тисячі дві

Кирюшин

Перм

13

Тисячі чотири

Аврорін

Москва

II

1 007

Удалов

Курськ

15

1 003

Козлов

Орел

10

Таблиця 5.4

"Замовники"

ЗНОМ

ЗІМЯ

місто

рейтинг

іншому

+2001

Іванов

Москва

100

1 001

+2002

Петров

С.-Петербург

300

1 003

+2003

Килимів

Сочі

200

Тисячі дві

2004

Сидоров

Кірши і

300

1 003

+2006

Крабів

Русса

100

1 001

+2008

Конкін

Перм

300

1 007

+2007

Красін

Луга

100

Тисячі чотири

Таблиця 5.5

"Замовлення"

3001

18.69

Ю.03.1990

+2008

1 007

+3003

767.19

10.03.1990

200!

1 001

+3002

1900.10

10.03.1990

+2007

Тисячі чотири

+3005

516046

10.03.1990

+2003

1 003

3006

1098.16

10.03.1990

+2008

1 007

3009

1713.23

10.04.1990

+2002

1 003

3007

75.75

10.04.1990

2004

Тисячі дві

+3008

4783.00

10.05.1990

+2006

1 001

Зою

1309.95

10.06.1990

2004

Тисячі дві

ЗОН

9891.88

10.06.1990

+2006

1 001

Назва полів таблиць

Таблиця "Продавці":

Пном - унікальний номер продавця, первинний ключ;

пімя - ім'я продавця;

місто - місто розташування продавця;

комм - комісійні продавця.

Таблиця "Замовники":

ЗНОМ - унікальний номер замовника, первинний ключ;

зімя - ім'я замовника;

рейтинг - число, що показує рівень переваги даного замовника перед іншими;

Пном - номер продавця, зовнішній ключ.

Таблиця "Замовлення":

прном - унікальний номер замовлення, первинний ключ;

сумпр - сума (ієна) замовлення;

датпр - дата отримання замовлення;

ЗНОМ - номер замовника, що робить замовлення, зовнішній ключ;

Пном - номер продавця, що продає замовлення, зовнішній ключ.

Схема зв'язків

Рис. 5.2. Схема зв'язків

Виділяють статичний і динамічний мови програмування SQL. У статичному мовою значення всіх об'єктів чітко зафіксовані. У динамічному мовою SQL замість значень об'єктів використовуються параметри, дані для яких або вводяться в діалоговому режимі користувачем, або запозичуються в процесі виконання програми з інших таблиць (баз даних).

Статичний мова програмування SQL

У мові SQL можливо виділити три основні групи операцій: створення (CREATE), оновлення (INSERT, UPDATE, DELETE), запит (SELECT). Вони мають такі стандарти, в яких прийняті позначення: | - Все, що передує символу, можна замінити тим, що слідує за ним; {} - Єдине ціле для застосування символу; [] - Необов'язкове вираз; ... - Повторюється довільне число разів; - Повторюється довільне число разів, але будь-яке входження відокремлюється комою.

(5.1)

Типи даних можуть бути '. INTEGER, CHARACTER, DECIMAL, NUMERIC, SMALLINT, FLOAT, REAL, PRECISION, LONG, VARCHAR, DATE, TIME. Чотири останні типу не входять в стандарт SQL, але їм можуть підтримуватися.

Тип стовпця (і тип таблиць) може бути: UNIQUE, PRIMARY KEY, CHECK <предикат>, DEFAULT = <список полів>, REFERENCE <ім'я таблиці> [(<ім'я стовпця>., ...) |.

(5.2)

(5.3)

(5.4)

Виділяють три різновиди мови SQL: інтерактивний, вкладений і вбудований.

Інтерактивний SQL використовується для функціонування безпосередньо в базі даних, щоб виробляти висновок для використання його замовником.

Вбудований SQL складається з команд SQL, поміщених усередині програм, які зазвичай написані іншою мовою (типу коболе або Паскаля). Це робить такі програми більш потужними і ефективним.

Будемо розглядати переважно (за відсутності згадок) інтерактивний мову.

♦ ІНТЕРАКТИВНИЙ МОВУ SQL

У ньому можливо виділити:

  • • DDL (Мова Описи Даних) - мова опису схеми і в ANSI він складається з команд, що створюють об'єкти (таблиці, індекси, види) в базі даних;
  • • DML (Мова Маніпулювання Даними) - набір команд, що визначають, які значення представлені в таблицях в будь-який момент часу;
  • • DCD (Мова Управління Даними) складається з коштів, які визначають дозвіл користувачеві виконувати певні дії.

За своєю суттю мова SQL є специфічним декларативною мовою запиту, у зв'язку з чим найбільше число комбінацій існує для процедури SELECT. Однак більш зручно розташувати команди за технологічним циклом роботи з БД:

  • 1) створення БД - структури таблиць, створення видів, заповнення БД даними, забезпечення цілісності, система доступу (дозволів), словник даних, багатокористувацький режим;
  • 2) використання БД - запит в різних формах (у тому числі з оновленням).

Створення БД

Структура таблиць. Таблиці (порожні) створюються командою CREATE TABLE (вираз (5.1)).

(5.5)

Команда CREATE TABLE в основному визначає ім'я таблиці, набір імен стовпців, зазначених у певному порядку, типи даних і розміри стовпців.

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

SQL дозволяє створювати тимчасові таблиці, "час життя" яких - сеанс роботи БД (час від відкриття до закриття бази даних).

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

CREATE GLOBAL TEMPORARY TABLE Продавці

(Пном integer,

пімя char (10),

місто char (10),

комм decimal);

Вона може бути локальною, доступної тільки для модуля програми, в якому вона була створена:

CREATE LOCAL TEMPORARY TABLE Продавці

(Пном integer,

пімя char (10),

місто char (10),

комм decimal);

Зміна таблиці після її створення здійснюється командою ALTER TABLE. Зазвичай, вона додає стовпці до таблиці. Іноді вона може видаляти стовпці або змінювати їх розміри, а також у деяких програмах додавати або видаляти обмеження. Щоб додати стовпець до таблиці, використовують формат:

ALTER TABLE <ім'я таблиці> ADD <ім'я поля>

<тип даних> <розмір>;

Стовпець буде додано останнім і зі значенням NULL для всіх рядків таблиці.

Видалення проводиться по команді

DROP TABLE <ім'я таблиці>;

Треба бути творцем таблиці, щоб мати можливість видалити її.

Аналогічно створюються і видаляються індекси.

Базова таблиця (5.5) представлена в найпростішому вигляді і буде далі удосконалено: інші таблиці будуть створені пізніше. Зараз розглянемо лише створення вигляду.

Структура та зміст видів. Щойно створена таблиця називається базовою. Можна створювати уявлення (вид, View) - таблиці, вміст яких береться або виводиться з інших таблиць. Вид створюється командою CREATE VIEW:

CREATE VIEW Москва1

AS SELECT *

FROM Продавці

WHERE місто = 'Москва';

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

Велика кількість типів уявлень доступно тільки для читання. Це означає, що їх можна запитувати, але вони не можуть піддаватися діям команд модифікації.

Є деякі види запитів, які не припустимі у визначеннях уявлень: одиночне подання повинне грунтуватися на одиночному запиті; ОБ'ЄДНАННЯ (UNION) і ОБ'ЄДНАННЯ ВСЬОГО (UNION ALL), агрегатні функції, DISTINCT у визначенні, обчислювані поля не дозволяються в роботі з уявленнями; впорядкування (ORDER BY) ніколи не використовується у визначенні уявлень.

Видалення уявлень здійснюється (його власником) командою

DROP VIEW <ім'я виду>.

Заповнення БД даними. Значення можуть бути поміщені і видалені з полів командами мови DML (Мова Маніпулювання Даними - ЯМД) INSERT (ВСТАВИТИ), DELETE (ВИДАЛИТИ) - вирази (5.2) і (5.3). Так, наприклад, щоб ввести рядок в таблицю "Продавці", можна використовувати наступне умова;

INSERT INTO Продавці

VALUES (',' Строков ',' Москва ', .12);

Ви можете вставляти та порожнє значення (NULL).

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

INSERT INTO Замовники (місто, ім'я, номер)

VALUES ('Москва', 'Іванов', 2001);

Відзначимо, що стовпці "рейтинг" і "Пном" відсутні: ці рядки автоматично встановлені в значення NULL (за замовчуванням).

Виняток рядків, введених помилково, проводиться командою DELETE. Вона може видаляти тільки введені рядки, а не індивідуальні значення полів, так що параметр поля є необов'язковим або недоступним. Щоб видалити весь зміст таблиці "Продавці", треба ввести:

DELETE FROM Продавці;

Тепер таблиця порожня і її можна остаточно видалити командою DROP TABLE. Зазвичай потрібно видалити тільки деякі певні рядки з таблиці, для чого використовується предикат. Наприклад, щоб видалити дані продавця Козлова з таблиці "Продавці", можна ввести

DELETE FROM Продавці

WHERE Пном = 1003;

Команди INSERT, DELETE спільно з командою UPDATE використовуються у процедурі поновлення при експлуатації БД.

Завдання (забезпечення) цілісності. Це різновид команди CREATE TABLE, що дозволяє встановлювати обмеження в таблицях.

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

CREATE TABLE <ім'я таблиці>

  • (<ім'я стовпця> <тип даних> зобмеженою стовпця>
  • (<ім'я стовпця> <тип даних> <обмеження стовпця>

Зобмеженою таблиці> (<ім'я стовпця>

[, <Ім'я стовпця>] ...);

Перелічимо деякі обмеження.

  • 1. Виняток порожніх (NULL) покажчиків введенням команди NOT NULL.
  • 2. Унікальність даних і первинні ключі.

Обмеження стовпця UNIQUE в поле при створенні таблиці відхилить будь-яку спробу введення в це поле для одного з рядків значення, яке вже представлено в іншому рядку. Це обмеження може застосовуватися тільки до полів, які були оголошені як непорожні (NOT NULL).

  • 3. SQL підтримує первинні ключі безпосередньо з обмеженням PRIMARY KEY (первинний ключ). Первинні ключі не можуть мати значний NULL. Це означає, що, подібно полям у обмеженні UNIQUE, будь поле, що використовується в обмеженні PRIMARY KEY, повинно вже бути оголошено NOT NULL.
  • 4. Обмеження на значення полів. Для цього використовується обмеження CHECK: щоб запобігти помилку неправильного введення значення "комм", накладемо обмеження стовпця - CHECK ("комм" менше, ніж I).

Сказане може бути представлено у вигляді

CREATE TABLE Продавці

(Пном integer NOT NULL PRIMARY KEY,

пімя char (10) NOT NULL UNIQUE,

місто char (10),

комм decimal CHECK (комм <1));

Можуть бути задані інтервали і множини значень обмежень.

Створимо попередньо таблицю "Замовлення":

CREATE TABLE Замовлення

(прном integer NOT NULL UNIQUE,

сумпр decimal,

датпр date NOT NULL,

ЗНОМ integer NOT NULL,

Пном integer NOT NULL);

5. Установка значень no замовчуванням.

Значення DEFAULT (за замовчуванням) вказується в команді CREATE TABLE тим же способом що і обмеження стовпця.

Якщо офіс знаходиться в Орлі і переважна більшість продавців теж живуть в Орлі, то за замовчуванням:

CREATE TABLE Продавці

(Пном integer NOT NULL UNIQUE,

пімя char (10) NOT NULL UNIQUE,

місто char (10) DEFAULT = 'Орел',

комм decimal CHECK (комм <1);

6. Обмеження на зовнішній ключ (посилальна цілісність). SQL підтримує посилальну цілісність в команді CREATE TABLE (або ALTER TABLE) обмеженням FOREIGN KEY з синтаксисом

FOREIGN KEY <список полів> REFERENCES

Стабліца з батьківським ключем> [<список полів>.

Створимо таблицю "Замовники" з полем "Пном", визначеним як зовнішній ключ, що посилається на таблицю "Продавці":

CREATE TABLE Замовники

(ЗНОМ integer NOT NULL PRIMARY KEY зімя char (10), місто char (10),

Пном integer,

FOREIGN KEY (Пном) REFERENCES Продавці (Пном);

Обмеження могло бути внесено і окремо:

CONSTRAINT корисному FOREIGN KEY (Пном)

REFERENCES Продавці (Пном);

Таке введення обмеження зручно можливістю прямого видалення або запису іншого виразу без зміни програми створення таблиці. Видалення обмеження

DROP CONSTRAINT поле_пном;

особливо зручно, якщо таблиця заповнена.

Відзначимо, що батьківський ключ повинен бути унікальним і не містити ніяких порожніх значень (NULL). Цього недостатньо для батьківського ключа при оголошенні зовнішнього ключа. SQL повинен бути впевнений чгго подвійні значення або порожні значення (NULL) не було запроваджено в батьківський ключ, т. Е.

CREATE TABLE Продавці

(Пном integer NOT NULL PRIMARY KEY,

пімя char (10) NOT NULL,

місто char (10),

комм decimal);

CREATE TABLE Замовники

(ЗНОМ integer NOT NULL PRIMARY KEY,

зімя char (10) NOT NULL,

місто char {10),

Пном integer,

рейтинг integer

FOREIGN ΚΕΥ (πηομ) REFERENCES Продавці,

UNIQUE (ЗНОМ, Пном);

CREATE TABLE Замовлення

(прном integer NOT NULL PRIMARY KEY,

сумпр decimal,

датпр date NOT NULL,

ЗНОМ integer NOT NULL

Пном integer NOT NULL

FOREIGN KEY (ЗНОМ, Пном) REFERENCES

Замовники (ЗНОМ, Пном);

Таким чином, створені всі три таблиці і встановлені зв'язки між ними.

Якщо необхідно змінити або видалити поточне посилальне значення батьківського ключа, є три можливості:

  • 1) обмежити або заборонити зміну (способом ANSI), позначивши, що зміни в батьківському ключі обмежені (RESTRICTED);
  • 2) можна зробити зміну в батьківському ключі і тим самим автоматичні зміни в зовнішньому ключі, т. Е. Каскадне зміна (CASCADES);
  • 3) провести зміну в батьківському ключі і встановити автоматично зовнішній ключ в NULL (вважаючи, що NULLS дозволений в зовнішньому ключі) - пусте зміна зовнішнього ключа (NULL).

Наприклад, оновлення і знищення

CREATE TABLE Замовники

(ЗНОМ integer NOT NULL PRIMARY KEY,

зімя char (10) NOT NULL, місто char (10),

рейтинг integer,

Пном integer REFERENCES Продавці,

UPDATE OF CASCADES,

DELETE OF Продавці RESTRICTED);

Якщо тепер спробувати видалити Строкова з таблиці "Продавці", команда буде не допустима, поки не буде змінено значення поля "Пном" "Замовники" і Іванов і Крабів - для іншого призначеного продавця.

У той же час можна змінити значення поля "Пном" для Строкова на 1009, а у даних Іванов і Крабів значення поля "Пном" будуть також автоматично змінені.

Можливі й NULL (порожні) зміни. Наприклад,

CREATE TABLE Замовлення

прном integer NOT NULL PRIMARY KEY,

сумпр decimal,

датпр date NOT NULL,

3HOM integer NOT NULL REFERENCES Замовники,

Пном integer REFERENCES Продавці,

UPDATE OF Замовники CASCADES,

DELETE OF Замовники CASCADES,

UPDATE OF Продавці CASCADES,

DELETE OF Продавці NULLS);

Природно, що в команді DELETE з ефектом NULL в таблиці "Продавці" обмеження NOT NULL повинно бути видалено з поля "Пном".

За допомогою мови SQL можуть бути задані база даних, збережена процедура, генератор, лічильник, тригер.

База даних формується так:

CREATE DATABASE "d: ... a1 .gdb"

USER "SYSDBA"

PASSWORD "masterkey"

Default character set WIN 1251

Збережена процедура:

CREATE PROCEDURE Rashod_Tovara (IN_Tovar varchar (20))

RETURNS (OUT_Tovar varchar (20))

AS

BEGIN

FOR SELECT Tovar

FROM Rashod

WHERE Tovar =: IN_Tovar

INTO: OUT_Tovar;

DO

SUSPEND;

END

Генератор задається двома процедурами:

CREATE PROCEDURE Get_N_Rash;

SET GENERATOR RASHOD_N_Rash TO 1;

CREATE PROCEDURE Get_N_Rash

RETURNS (NR integer)

AS

BEGIN

NR = Gen_ID (RASHOD_N_Rash, 1);

END;

Тригер каскадного поновлення:

CREATE TRIGGER BU_Tovary ACTIVE

BEFORE UPDATE

AS

BEGIN

IF (OLD.TovarONEW.Tovar) THEN

UPDATE Rashod

SET Tovar = NEW.Tovar

WHERE Tovar = OLD.Tovar;

END

Система дозволів. Можлива система дозволу (привілеїв) або заборони доступу до даних. Нагадаємо, що адміністратори баз даних самі створюють користувачів і дають їм привілеї. Однак і користувачі, які створюють таблиці, мають права на керування цими таблицями.

Привілеї - це те, що визначає, чи може вказаний користувач виконати дану команду.

Розглянемо основні принципи їх побудови на базі мови SQL. Розрізняють такі пріоритети (найдорожчі): роль, користувач, група, загальний доступ (public).

Є дозволяють і забороняють дії.

Дозвіл дається оператором виду

GRANT <вид операції>

ON <об'єкт>

ТО <суб'єкт>

[WITH GRANT OPTION],

Останній рядок говорить про передачу права користування.

Для впевненого керування необхідне поєднання адміністратора БД і власника об'єкта (наприклад, таблиці).

Створення користувача Ілля (якому надається можливість створення баз даних), що виконується адміністратором БД, визначається командою

CREATE USER Ілля

WITH PRIVILEGES create.db;

позбавлення цього користувача привілеїв здійснюється командою

DROP USER Ілля;

створення ролі (із завданням пароля) проводиться командою

CREATE ROLE create_db WITH PASSWORD = '12';

а позбавлення ролі - командою

DROP ROLE create_db;

Є декілька типів привілеїв, що відповідають декільком типам операцій. Привілеї даються і скасовуються двома командами SQL: GRANT (допуск) і REVOKE (скасування).

Кожен користувач в середовищі SQL має спеціальне ідентифікаційне ім'я (ідентифікатор - ID) або номер.

ID-дозволи - це ім'я користувача. SQL може використовувати спеціальне ключове слово USER, яке посилається на ідентифікатор доступу, пов'язаний з поточною командою. Команда інтерпретується і дозволяється (або забороняється).

Привілеї об'єкта пов'язані одночасно і з користувачами, і з таблицями. Слід пам'ятати, що користувач, який створив таблицю (будь-якого виду), є власником цієї таблиці: він має всі привілеї в цій таблиці і може передавати ці привілеї іншим користувачам.

Привілеї ставляться до команд SELECT, INSERT, UPDATE, DELETE, REFERENCES (визначення зовнішнього ключа, який використовує один або більше стовпців цієї таблиці, як батьківський ключ).

До нестандартних командам відносяться INDEX (індекс), що дає право створювати індекс в таблиці, і ALTER (змінити) - для виконання команди ALTER TABLE в таблиці. Механізм SQL призначає користувачам ці привілеї за допомогою команди GRANT.

Наприклад, користувач Ілля має таблицю "Замовники" і хоче дозволити користувачеві Петро виконати запит до неї:

GRANT SELECT ON Замовники ТО Петро;

Петро може виконати запити до таблиці "Замовники", але не може надати право SELECT іншому користувачеві: таблиця ще належить Іллі.

Можливі й групові привілеї:

GRANT SELECT, INSERT ON Замовлення TO Ілля, Петро;

Для команд UPDATE і REFERNCES можна вказувати і окремі поля:

GRANT UPDATE (комм) ON Продавці ТО Ілля;

Для привілеї REFERENCES може бути вказаний список з одного або більше стовпців, для яких обмежена цей привілей. Наприклад, Ілля може надати Степану право використовувати поля таблиці "Замовники", як таблицю батьківського ключа, за допомогою такої команди:

GRANT REFERENCES (зімя, ЗНОМ)

ON Замовники ТО Степан;

SQL підтримує два аргументи для команди GRANT, які мають спеціальне значення: ALL PRIVILEGES (всі привілеї) або просто ALL - для команд і PUBLIC (загальні) - для користувачів.

GRANT ALL ON Замовники ТО PUBLIC;

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

Іноді творцеві таблиці хочеться, щоб інші користувачі могли отримати привілеї в його таблиці. Зазвичай це робиться в системах, де один або більше людей створюють кілька (або всі) базові таблиці в базі даних, а потім передають відповідальність за них тим, хто буде фактично з ними працювати. SQL дозволяє робити це за допомогою пропозиції WITH GRANT OPTION.

Нехай Ілля передає право Петру на привілей SELECT в таблиці "Замовники":

GRANT SELECT ON Замовники ТО Петро

WITH GRANT OPTION;

Можливо дозволити виконання процедури integ check

GRANT EXECUTE

ON PROCEDURE integ_check

TO PUBLIC;

Привілей, наприклад, на команду INSERT, може бути скасована:

REVOKE INSERT ON Замовлення FROM Петро;

Тут також можна використовувати списки:

REVOKE INSERT, DELETE ON Замовники FROM Петро, Степан;

Можливе завдання (або скасування) привілеїв за допомогою розглянутих раніше видів. Наприклад,

CREATE VIEW Москва 1

AS

SELECT зімя, пімя FROM Продавці;

надає Москва1 привілей SELECT у вигляді (поданні), а не в самій таблиці "Продавці":

GRANT SELECT ON Москва1 ТО Віктор;

Привілеї можливо обмежувати і рядками:

CREATE VIEW Москва2

AS SELECT *

FROM Замовники

WHERE місто = 'Сочі'

WITH CHECK OPTION;

GRANT UPDATE ON Москва2 TO Петро;

Пропозиція WITH CHECK OPTION оберігає Петро від заміни значення поля "місто" на будь-яке значення, крім Сочі.

Існує цілий ряд варіантів роботи з видами [26].

В системі будь-якого розміру завжди є деякі типи Суперкористувача - найчастіше Адміністратор Бази Даних або DBA. У нього є такі системні привілеї: CONNECT (підключити), RESOURCE (ресурс) і DBA (Адміністратор Бази Даних).

CONNECT складається з права зареєструватись і права створювати уявлення і синоніми, RESOURCE складається з права створювати базові таблиці, DBA - це привілей, що дає користувачеві високі повноваження в базі даних.

Деякі системи мають спеціального користувача, іноді званого SYSADM або SYS (Системний Адміністратор Бази Даних), який має найвищі повноваження.

Команда GRANT, в зміненій формі, є придатною для використання з привілеями об'єкта, як і з системними привілеями:

GRANT RESOURCE ТО Мирон;

Природно, користувач Мирон повинен бути створений.

У користувача може бути і пароль (наприклад, Іван). Тоді команда має вигляд

GRANT CONNECT ТО Федір IDENTIFIED BY Іван;

що призведе до створення користувача з ім'ям Федір, дасть йому право реєструватися і призначить йому пароль Іван.

Якщо потрібно заборонити користувачеві реєструватися, слід використовувати для REVOKE привілей CONNECT, яка "видаляє" цього користувача.

Заборона (на створення таблиць в БД newa групі clerck) має вигляд

GRANT NOCREATE

ON DATABASE newa

TO GROUP clerk;

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук