8. SQL – мова структурованих запитів сучасних СКБД
У сучасних СУБД звичайно підтримується єдина інтегрована мова, що містить всі необхідні засоби для роботи із БД, починаючи від її створення й користувальницький інтерфейс, що забезпечує базовий, з базами даних. Стандартною мовою найпоширеніших у цей час реляційних СУБД є мова SQL (Structured Query Language).
SQL є стандартною мовою для роботи з реляційними БД і в даний час підтримується всіма продуктами представленими на ринку. Її було розроблено в компанії ІВМ на початку 70-х років. Поточний стандарт цієї мови, на який ми будемо посилатися, має назву SQL/92.
Створення будь-якої таблиці передбачає визначення типу даних. Тип даних стовпчика визначає тип інформації, яка в ньому зберігається. Для того щоб визначити тип стовпчика необхідно після імені стовпчика вказати одне з ключових слів, яким позначається тип. Назви типів є регістрово незалежними. Після визначення тип стовпчика буде зберігатися як його характеристика, яку змінити неможна.
Насамперед мова SQL сполучить засобу SDL і DML, тобто дозволяє визначати схему реляційної БД і маніпулювати даними. При цьому іменування об'єктів БД (для реляційної БД - іменування таблиць і їхніх стовпців) підтримується на язиковому рівні в тому розумінні, що компілятор мови SQL робить перетворення імен об'єктів у їхні внутрішні ідентифікатори на підставі спеціально підтримуваних службових таблиць-каталогів. Внутрішня частина СУБД (ядро) взагалі не працює з іменами таблиць і їхніх стовпців.
Мова SQL містить спеціальні засоби визначення обмежень цілісності БД. Знову ж обмеження цілісності зберігаються в спеціальних таблицях-каталогах, і забезпечення контролю цілісності БД виробляється на язиковому рівні, тобто при компіляції операторів модифікації БД компілятор SQL на підставі наявних у БД обмежень цілісності генерує відповідний програмний код.
Спеціальні оператори мови SQL дозволяють визначати так звані подання БД, що фактично є збереженими в БД запитами (результатом будь-якого запиту до реляційної БД є таблиця) з іменованими стовпцями. Для користувача подання є такою ж таблицею, як будь-яка базова таблиця, збережена в БД, але за допомогою подань можна обмежити або навпаки розширити видимість БД для конкретного користувача. Підтримка подань виробляється також на язиковому рівні.
Нарешті, авторизація доступу до об'єктів БД виробляється на основі спеціального набору операторів SQL. Ідея полягає в тому, що для виконання операторів SQL різного виду користувач повинен мати різні повноваження. Користувач, що створив таблицю БД, має повний набір повноважень для роботи із цією таблицею. У їхнє число входить повноваження на передачу всіх або частини повноважень іншим користувачам, включаючи повноваження на передачу повноважень. Повноваження користувачів описуються в спеціальних таблицях-каталогах, контроль повноважень підтримується на мовному рівні.
9. Створення запиту. Поняття вибірки. Оператор SELECT та приклади його використання
Назва мови запитів SQL є англійською абревіатурою слів, що перекладаються як Структурована Мова Запитів. Ця назву вона одержала не дарма, адже Запити — ймовірно найбільш часто використовуваний аспект SQL. Найбільша частина користувачів SQL найчастіше використовують цю мову саме для створення запитів. Тому сьогодні розглянемо SQL з точки зору запиту і того як він виконується в цій мові.
Запит — команда яку користувач віддає своїй СКБД, і яка повідомляє їй, яку інформацію потрібно вивести з таблиць у пам’ять. Ця інформація звичайно надсилається безпосередньо на екран комп’ютера, хоча в більшості випадків, її можна також передати принтеру, зберегти у файлі (як об’єкт у пам’яті комп’ютера), або надати як вихідну інформацію для іншої команди або процесу.
Всі запити в SQL складаються з одиночної команди, структура якої оманливо проста, тому що її потрібно розширяти таким чином щоб виконати складні оцінки і обробки даних. Ця команда називається — SELECT (ВИБІР).
У найпростішій формі, команда SELECT просто дає інструкції базі даних щоб вибрати інформацію з таблиці. Наприклад, можна було б вивести повний вміст таблиці STUDENTS надрукувавши наступне:
SELECTsnum, sname, syear, sgrup
FROMStudents;
Якщо ВИ хочете бачити кожен стовпець таблиці, існує необов’язкове скорочення. Зірочка (*), яке може використовуватися для виведення повного списку стовпців наступним чином:
SELECT * FROM Students;
В загальному випадку, команда SELECT починається з ключового слова SELECT, за яким стоїть пропуск. Після цього повинен стояти список імен стовпців, які потрібно вибрати, відокремлених комами. Ключове слово FROM, що йде далі, супроводжується пропуском і іменем таблиці, до якої робиться запит. В кінці ставиться крапка з комою (;).
Таблиці мають тенденцію ставати дуже великими, оскільки з часом до них додається все більше і більше рядків, з яких користувача цікавлять лише деякі. SQL дає можливість встановлювати критерії для визначення рядків, що будуть обрані для виведення.
WHERE — пропозиція команди SELECT, яка дозволяє установлювати логічні функції (предикати), умова яких може бути істинним або хибним для будь-якої таблиці. Команда вибирає лише ті рядки, для яких таке твердження вірне.
SELECT *
FROM Students
WHERE syear=1984;
Синтаксис директиви WHERЕ дозволяє вказувати після імені стовпчика оператор порівняння, а потім вказувати значення. У наведеному вище прикладі використовується лише рівність. Але можна застосовувати також інші оператори порівняння після WHERE:
!= ,<> не рівно
<, >,<=, >= менше, більше, менше рівне, більше рівне
LIKE-рівне фрагментові тексту.
... який застосовує модель собівартості для інвестиційної нерухомості відповідно до МСБО (МСБУ) 40, має застосовувати модель собівартості Стандарту. Розділ 2 Облік операцій з придбання і використання основних засобів на підприємстві 2.1 Особливості обліку основних засобів Найкращим відображенням особливостей обліку основних засобів на підприємстві є облік між головним підприємством та філією. ...
... фірм, але і для окремих користувачів. Комп'ютери стали інструментом для ведення документації і власних облікових функцій. Це все зіграло як позитивну, так і негативну роль в області розвитку баз даних. Простота, що здається, і доступність персональних комп'ютерів і їх програмного забезпечення породила безліч дилетантів. Ці розробники, вважаючи себе за знавців, почали проектувати недовговічні бази ...
... читачів на комп’ютері, в середовищі Access. 1. Розробка структурної схеми БД 1.1 Змістовна постановка задачі У даному курсовому проекті повина бути розроблена система управління базою даних бібліотеки в середовищі Access. У базі даних міститься інформація про книги, а також інформація про читача. Інформація про книги та читачів міститься в дев’яти таблицях: - Жанри книг; - Картки ...
... і працівника в поставки 3. Розробник 3.1Початок 3.2 Кінець 1.4 Висновок В результаті аналізу функціонування автоматизованої системи Розробка бази даних діяльності магазину автозапчастин" було обрано 3 функції, які охвачують дану предметну область. РОЗДІЛ 2 ПРОЕКТУВАННЯ ЛОКАЛЬНОЇ ER-МОДЕЛІ Даний розділ присвячено проектуванню локальних ER-МОДЕЛЕЙ, які відповідають окремим ...
0 комментариев