
- •«Створення та модифікація об’єктів бд»
- •1 История развития sql
- •2 Особливості sql-технології
- •3 Структурована мова запитів (sql)
- •4 Угоди про імена об'єктів бази даних
- •5 Оператори маніпуляцій базами даних
- •6 Оператори маніпуляцій таблицями бази даних
- •7 Оператор створення індексу
- •8 Оператори керування правами доступу
3 Структурована мова запитів (sql)
Основна ідея інформаційних технологій базується на концепції організації даних в БД із метою адекватного відображення реального світу і задоволення інформаційних потреб користувачів. БД створюються і функціонують під керуванням СКБД. Збільшення обсягу і структурної складності даних, розширення кола користувачів інформаційних систем призвели до поширення зручних реляційних СКБД. Поява теорії реляційних БД ініціювало розробку ряду мов запитів, з яких збереглися і розвиваються лише QBE4[4] і SQL5[5] (ця абревіатура вимовляється як "сиквел" чи „эс-ку-эль") . Для забезпечення одночасного доступу до даних багатьох користувачів, нерідко розташованих досить далеко один від одного і від місця розташування БД, створені розподілені багатокористувацькі СКБД. Спільна робота користувачів у мережах можлива тільки при наявності стандартної мови маніпулювання даними. Такою мовою стала розроблена у 1974 році фірмою ІBM непроцедурна мова SQL. Особливість команд цієї мови полягає у тому, що вони орієнтовані на кінцевий результат обробки даних, а не на процедуру цієї обробки. SQL сама визначає, де знаходяться дані, які індекси і навіть найбільш ефективні послідовності операцій варто використовувати для їхнього одержання: не треба вказувати ці деталі у запиті до БД. У 1987 році SQL стала міжнародним стандартом мови реляційних СКБД. У поточний час ведеться робота по підготовці нового стандарту SQL - 4GL, що повинний включати елементи об’єктно-орієнтованого доступу до даних, може організовувати цикли, умовні пропозиції, меню, екранні форми, складні запити до БД з віконним графічним інтерфейсом (X-Wіndows, MS Wіndows).
SQL виконує декілька функцій (рисунок 1):
SQL – інтерактивна мова запитів. Користувачі можуть вводити команди SQL в інтерактивних програмах, призначених для читання даних та їх відображення на екрані.
SQL – мова програмування БД. Щоб отримати доступ до БД, програмісти вставляють у програми команди SQL. Ця методика також використовується у службових програмах БД (генераторах звітів та інструментах введення даних).
SQL – мова адміністрування БД. Адміністратор БД використовує SQL для визначення структури БД і керування доступом до даних.
SQL – мова створення прикладень клієнт-сервер для організації зв’язку через локальну мережу з сервером БД до спільно використовуваних даних БД.
SQL – мова розподілених БД (РБД). У системах керування РБД SQL дозволяє розподілити дані серед декількох взаємодіючих обчислювальних систем. Програмне забезпечення кожної системи за допомогою SQL зв’язується з іншими системами, посилаючи їм запити на доступ до даних.
SQL – мова організації шлюзів БД. В обчислювальних системах із різноманітними СКБД SQL використовується у шлюзовій програмі, яка дозволяє СКБД одного типу зв’язуватися з СКБД іншого типу.
Рисунок 1
У SQL визначені дві підмножини мови:
SQL-DDL (Data Defіnіtіon Language) - мова визначення структур і обмежень цілісності БД. Сюди відносяться команди створення й видалення БД; створення, зміни і видалення таблиць; керування користувачами і т.і.
SQL-DML (Data Manіpulatіon Language) - мова маніпулювання даними: додавання, зміна, видалення і витяг даних, керування транзакціями.
Таким чином, у SQL існують:
команди визначення даних (визначення БД, а також визначення і знищення таблиць і індексів);
запити на вибір даних;
команди модифікації даних (додавання, видалення і зміна даних);
команди керування даними (надання і скасування привілеїв на доступ до даних, керування транзакціями та ін.).
Крім того, SQL надає можливість виконувати у цих пропозиціях:
арифметичні обчислення (включаючи різноманітні функціональні перетворення), обробку текстових рядків і виконання операцій порівняння значень арифметичних виражень і текстів;
упорядкування рядків і стовпців при виведенні вмісту таблиць;
створення представлень (віртуальних таблиць), що дозволяють користувачам мати свій погляд на дані без збільшення їхнього обсягу в БД;
запам'ятовування виведеного по запиту вмісту таблиці, декількох таблиць чи представлення в іншій таблиці (реляційна операція присвоювання);
агрегатування даних: групування даних і застосування до цих груп таких операцій, як середнє, сума, максимум, мінімум, кількість елементів і т.і