Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
9.БАЗИ ДАНИХ.doc
Скачиваний:
6
Добавлен:
15.09.2019
Размер:
179.71 Кб
Скачать

9. Створення запиту. Поняття вибірки. Оператор select та приклади його використання.

Назва мови запитів SQL є англійською абривіатурою слів, що перекладаються як Структурована Мова Запитів. Ця назву вона одержала не дарма, адже Запити — ймовірно найбільш часто використовуваний аспект SQL. Найбільша частина користувачів SQL пользователей найчастіве використовують цю мову саме для створення запитів. Тому сьогодні розглянемо SQL з точки зору запиту і того як він виконується в цій мові.

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

Всі запити в SQL складаються з одиночної команди, структура якої оманливо проста, тому що її потрібно розширяти таким чином щоб виконати складні оцінки і обробки даних. Ця команда називається — SELECT (ВИБІР).

У найпростішій формі, команда SELECT просто дає інструкції базі даних щоб вибрати інформацію з таблиці. Например, можна було б вивести повний вміст таблиці STUDENTS надрукувавши наступне:

SELECT snum, sname, syear, sgrup

FROM Students;

Якщо ВИ хочете бачити кожен стовпець таблиці, існує необов’язкове скорочення. Зірочка (*), яке може використовуватися для виведення повного списку стовпців наступним чином:

SELECT * FROM Students;

В загальному випадку, команда SELECT починається з ключового слова SELECT, за яким стоїть пропуск. Після цього повинен стояти список імен стовпців, які потрібно вибрати, відокремлених комами. Ключове слово FROM, що йде далі, супроводжується пропуском і іменем таблиці, до якої робиться запит. В кінці ставиться крапка з комою (;).

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

WHERE — пропозиція команди SELECT, яка дозволяє устанавлювати логічні функції (предикати), умова яких може бути істиним або хибним для будь-якої таблиці. Команда вибирає лише ті рядки, для яких таке твердження вірне.

SELECT *

FROM Students

WHERE syear=1984;

Синтаксис директиви WHERЕ дозволяє вказувати після імені стовпчика оператор порівняння, а потім вказувати значення. У наведеному вище прикладі використовується лише рівність. Але можна застосовувати також інші оператори порівняння після WHERE:

!= ,<> не рівно

<, >,<=, >= менше, більше, менше рівне, більше рівне

LIKE-рівне фрагментові тексту.

10. Реляційна алгебра і реляційне числення. Основні операції реляційної алгебри.

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

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

  • обєднання відношень;

  • перетин відношень;

  • взяття різниці відношень;

  • Декартовий добуток відношень.

Спеціальні реляційні операції включають:

  • обмеження відношення;

  • проекція відношення;

  • зєднання відношень;

  • ділення відношень.

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]