
- •Лабораторна робота № 1 Тема роботи: Реєстрація та створення баз даних в InterBase.
- •1. Керуюча консоль InterBase.
- •2. Реєстрація бази даних в InterBase.
- •3. Створення бази даних в InterBase.
- •Контрольні запитання
- •Лабораторна робота № 2 Тема роботи: Створення таблиць в базах даних в InterBase.
- •1. Типи даних InterBase.
- •2. Створення таблиці.
- •Контрольні запитання
- •Лабораторна робота № 3 Тема роботи: Введення обмежень в базах даних в InterBase.
- •1. Види обмежень в базі даних.
- •2. Первинний і унікальний ключі.
- •3. Зовнішні ключі.
- •4. Обмеження check
- •5. Вилучення обмежень.
- •Контрольні запитання
- •Лабораторна робота № 4 Тема роботи: Використання генераторів ключів в базах даних в InterBase.
- •Створення генераторів.
- •2. Індекси.
- •Контрольні запитання
- •Лабораторна робота № 5 Тема роботи: Використання тригерів в базах даних в InterBase.
- •Означення тригера.
- •Приклад тригера.
- •3. Контекстні змінні.
- •Контрольні запитання
- •Лабораторна робота № 6 Тема роботи: Безпека в InterBase.
- •1. Користувачі.
- •3. Права.
- •4. Роздача прав.
- •5. Організація користувачі у групи за допомогою ролей.
- •6. Анулювання прав.
- •Контрольні запитання
- •Практична робота № 1 Тема роботи: Використання компоненту Database.
- •З’єднання з сервером
- •Контрольні запитання
- •Практична робота № 2 Тема роботи: Використання головної та підлеглої таблиць InterBase засобами Borland Delphi.
- •Контрольні запитання
- •Практична робота № 3 Тема роботи: Використання механізму транзакцій компонента Database.
- •Керування транзакціями.
- •Контрольні запитання
- •Практична робота № 4 Тема роботи: Використання компонент InterBase Express для підключення до сервера.
- •1. Сервер баз даних InterBase і компоненти InterBase Express
- •2. Механізм доступу до даних InterBase Express
- •3. Компонент tibDatabase.
- •Контрольні запитання
- •Практична робота № 5 Тема роботи: Виконання запитів за допомогою компонента tibDataSet.
- •Вибірка даних з таблиці.
- •2. Редагування даних за допомогою візуальних компонентів.
- •3. Програмне редагування даних.
- •Контрольні запитання
- •Практична робота № 6 Тема роботи: Виконання механізму Master-detail в компонентах tibDataSet.
- •Механізм master-detail.
- •Контрольні запитання
- •Література
6. Анулювання прав.
Для цього існує команда REVOKE. Вона являє собою копію GRANT, лише із зворотною дією. Приклад: REVOKE Select ON Tab FROM testuser;
При цьому неможливо якось обмежити або розширити права системного адміністратора SYSDBA.
За замовчуванням права на довільний об’єкт в InterBase має лише його власник, а також системний адміністратор SYSDBA. Відповідно, роздавати права за замов-чуванням може лише власник об’єкта. Інший користувач, що не є власником об’єкта, не може видати іншому користувачу права на цей об’єкт, якщо тільки власник не передав іншому користувачу відповідні права із спеціальною опцієї WITH GRANT OPTION. Вказання цієї опції в кінці звичайного речення GRANT означає, що користувач не лише одержує ці права, але може передавати їх другому користувачу. Наприклад: GRANT Select ON Tab TO testuser WITH GRANT OPTION;
Тепер користувач TESTUSER може не лише вибирати записи з таблиці Tab, але і передавати право Select (і лише його) іншим користувачам.
З А В Д А Н Н Я
Створіть на сервері нового користувача TestUser з паролем “1234546”.
Створіть у базі даних роль MyUser яка наділена правами читати та вставляти записи в таблиці Customer.
Присвойте цю роль користувачу TestUser.
Присвоїти всім користувачам право читати і виправляти таблицю Customer.
Надати всі права всім користувачам відносно таблиць Part, Sales, Items.
Контрольні запитання
Вкажіть серію команд створення нового користувача бази даних InterBase?
Що таке роль? Як її створити?
Опишіть команду роздачі прав.
Яка команда надає відразу всі права?
Яка команда видає права відразу всім користувачам?
Вкажіть команду анулювання прав.
Практична робота № 1 Тема роботи: Використання компоненту Database.
Мета роботи: Навчити використовувати компонент Database для зв’язку з сервером InterBase.
ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ.
З’єднання з сервером
Всі звертання з програми до таблиць однієї бази даних на сервері здійснюється через одне з’єднання, на якому замикаються всі компоненти доступу до даних, що мають відповідні значення властивості DatabaseName.
Всі керування одиночним з’єднанням з якою-небудь базою даних здійснюється компонентом TDatabase. В загальному випадку використання цього компонента в програмах баз даних необов’язково. Однак при роботі с серверами SQL він необхідний, так як:
дозволяє керувати з’єднанням з базою даних;
дозволяє керувати транзакціями простіше, ніж за допомогою операторів SQL;
забезпечує реєстрацію користувача на сервері.
При звичайному використанні локальних баз даних можна обійтися і без цього компонента.
Для визначення бази даних (сервера), з якою програма встановлює з’єднання за допомогою компонента TDatabase, частіше використовується властивість AliasName. Властивості DatabaseName і DriverName являють альтернативний спосіб з’єднання. Якщо з’єднання задане властивістю AliasName, то властивість DatabaseName можна використовувати для створення тимчасового псевдоніма, який буде доступний лише для компонентів доступу до даних всередині програми. При клацанні на кнопці списка доступних псевдонімів властивості DatabaseName в Інспекторі об’єктів для довільного компонента доступу до даних, в списку буде доступний і тимчасовий псевдонім компонента TDatabase.
Додаткові можливості керування наборами даних при встановленні з’єднання надають властивості Connected і KeepConnection. Вони дозволяють одночасно із з’єднанням закрити всі активні набори даних. Якщо властивість KeepConnection дорівнює True, то при закритті останнього відкритого набору даних з’єднання залишається відкритим. В іншому випадку з’єднання автоматично закривається. Це дозволяє керувати з’єднанням в різних вихідних ситуаціях.
При підключенні до бази даних потрібно задати значення для параметрів драйвера BDE. Для цього використовується властивість Params, що являє собою звичайний список. В ньому необхідно задавати назви змінюваних параметрів і їх нові значення: USERNAMЕ=SYSDBA PASSWORD=masterkey. Значення параметров можна задавати як статично, так і динамічно під час виконання. Для властивості LoginPrompt рекомендується встановлювати значення False. Ця комбінація працює як під час виконання, так і під час розробки.
З А В Д А Н Н Я
Створіть новий проект Delphi.
Зверху форми розмістіть панель, на якій знаходяться компоненти для звязку з таблицями бази даних Sales.
Нижче панелі розмістіть компонент PageControl з 4 сторінками: Покупець, Товари, Накладні, Оформлення покупки.
Створіть за допомогою SQL Explorer аліас MyBase для бази даних Sales з драйвером InterBase.
Підключіть набір даних до бази даних із псевдонімом MyBase, який входить до набору даних BDE. Блокуйте видачу логіну базою даних.
Запустіть проект на виконання.
Оформіть звіт по роботі.