mySQL (4 курс)

Керування обліковими записами користувачів

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

Тригери

Тригер - процедура, що зберігається, але прив'язана до події зміни вмісту таблиці. Можливі три події зміни таблиці, до яких можна прив'язати тригер: це зміна вмісту таблиці за допомогою операторів insert, delete і update. Наприклад, при оформленні нового замовлення, тобто при додаванні нового запису в таблицю orders, можна створити тригер, який автоматично буде віднімати число замовлених товарних позицій у таблиці products.

Пряме підключення до РСКБД

Розглянемо модуль прямого доступу до РСКБД. Модуль використовує бібліотеку яка йде разом із інсталяцією середовища, і не прив’язується до його версії, тобто якщо в системі інстальовано будь-яку версію, або ж в каталозі з програмою поміщена бібліотека libmysql.dll підключення відбудеться в режимі сумісності. В випадку коли РСКБД розміщується на комп’ютері відмінному від клієнта, потрібно лише одна бібліотека, при чому вона не має бути точно такою як версія сервера.

Зовнішні ключі й цілісність посилань

Зовнішній ключ дозволяє описати залежність ключа однієї таблиці від ключа іншої таблиці, а цілісність посилання дозволяє накласти обмеження на операції над таблицями, які мають зовнішній ключ. Наприклад, таблиця score бази даних sampdb має стовпець student_іd, який можна використати для об'єднання даних за результатами з результатами з таблиці student. У базах даних, що підтримують концепцію зовнішніх ключів, стовпець score.student_іd можна назвати зовнішнім ключем. Це дозволить накласти на цей зовнішній ключ у таблиці score наступне обмеження: у таблицю не може бути доданий результат учня, ідентифікатор якого відсутній у таблиці student. (Інакше кажучи, зовнішній ключ не дозволяє вводити оцінки неіснуючих учнів.) Крім того, з'являється можливість видалення каскадного типу, тобто при видаленні учня з таблиці student будуть видалені всі записи з його результатами з таблиці score.

Змінні та тимчасові таблиці

Часто результати запиту необхідно використовувати в наступних запитах. Для цього отримані дані необхідно зберегти у тимчасових структурах. Цю задачу вирішують змінні SQL та тимчасові таблиці, синтаксис яких розглядаємо в даній лекції.

Збережені процедури

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

Праяме підключення (додаток)

Приклад робочого додатку для здійснення під’єднання до РСКБД, та виконання найпростішого запиту.

Вкладені запити (Частина перша та друга)

Вкладений запит дозволяє використовувати результат, що повертається одним запитом, в іншому запиті. Можливість застосування одного запиту всередині іншого і була причиною появи слова "структурований" в назві "структурована мова запитів" (SQL). Так як результат повертає лише оператор SELECT, то в якості "вкладеного" запиту завжди виступає SELECT-запит (інформаційні SQL-запити з використанням нестандартних операторів SHOW, DESCRIBE до уваги не приймаються). В якості зовнішнього запиту може виступати запит з участю будь-якого SQL-оператора: SELECT, INSERT, UPDATE, DELETE, CREATE TABLE та ін