Етап 5 Розробка системи запитів, Проектування баз даних, ВНТУ
« Назад2.5. Етап 5. Розробка системи запитівМета: розробити систему SQL-запитів для аналізу та маніпулювання даними, в якій би виконувалися всі основні операції над даними, що були визначені на етапі аналізу предметної області. Оцінити ефективність виконання запитів і з’ясувати можливості покращення швидкості виконання запитів за допомогою системи індексів. Попередні відомості: 2.5.1 Конструкції SQL для аналізу та маніпулювання данимиІнструкція SQL на вибірку з таблиць виглядає так: SELECT [предикат] { * | таблиця.* | [таблиця.]поле_1 [AS псевдонім_1] [, [таблиця.]поле_2 [AS псевдонім_2] [, ...]]} FROM вираз [, ...] [IN зовнішняБазаДаних] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] де: предикат –ALL | DISTINCT[ROW] | [TOP n [PERCENT]] ALL – обираються всі (в тому числі повторювані) рядки; DISTINCT[ROW] – обираються лише різні рядки; TOP n [PERCENT] – перші n записів; TOP n PERCENT – перші n відсотків записів; таблиця – ім’я таблиці, з якої мають бути відібрані записи; поле_i –– імена полів, з яких мають бути відібрані дані. Якщо включити кілька полів, вони будуть видобуватися у вказаному порядку. В якості полів також можуть бути задіяні поля, відібрані самостійним запитом на вибірку, і вирази, побудовані на основі результатів самостійних запитів; псевдонім_i – імена, які стануть заголовками стовпчиків замість вихідних назв стовпчиків в таблиці; вираз – імена однієї або кількох таблиць, які містять дані, що їх відбирають, або вираз, що використовує оператор INNER JOIN, LEFT JOIN, RIGHT JOIN. Речення FROM має бути присутнім в кожній інструкції SELECT. Порядок слідування імен таблиць у виразі не є суттєвим. Речення WHERE визначає, які записи з таблиць, перерахованих в реченні FROM, слід включити в результат виконання інструкції SELECT. Речення GROUP BY об’єднує записи з однаковими значеннями у вказаному списку полів в одну групу. Якщо інструкція SELECT містить статистичну функцію SQL, наприклад, SUM() або COUNT(), то для кожної групи буде обчислено підсумкове значення. Речення HAVING визначає, які згруповані записи відображаються при використанні інструкції SELECT із реченням GROUP BY. Після того як записи буде згруповано за допомогою речення GROUP BY, речення HAVING відбере ті групи записів, які відповідають умовам відбору, вказаним в реченні HAVING. Речення ORDER BY сортує записи, отримані в результаті запиту, в порядку збільшення (ASC) чи зменшення (DESC) на основі значень вказаного поля чи полів. Інструкція SQL на додавання одного запису має вигляд: INSERT INTO призначення [(поле_1[, поле_2[, ...]])] VALUES (значення_1[, значення_2[, ...]) де: призначення – ім’я таблиці або запиту, в який додаються записи; поле_i – ім’я поля в таблиці; можна вказувати тільки ті поля, до яких буде внесено значення, але обов’язково вказати всі ключові поля; значення_i – значення, взяте з допустимих значень для поля_i Для додавання кількох записів: INSERT INTO призначення [(поле_1[, поле_2[, ...]])] SELECT [джерело.]поле_1[, поле_2[, ...] FROM вираз [WHERE…] де: призначення – ім’я таблиці або запиту, до якого додаються записи; джерело – ім’я таблиці або запиту, звідки копіюються записи; поле_i – імена полів для додавання даних, якщо вони йдуть за аргументом призначення; імена полів, з яких беруться дані, якщо вони йдуть за аргументом джерело; вираз – імена таблиці або таблиць, звідки вставляються дані; значення _i – значення, що додаються у вказані поля нового запису. Кожне значення буде вставлено в поле, що займає те ж положення у списку: значення _1 вставляється в поле_1 в новому записові, значення _2 в поле_2 і т.д. Кожне значення текстового поля слід заключати в лапки ' '; для розділення значень використовуйте коми. Інструкція SQL на створення таблиці додаванням до неї записів: SELECT поле_1[, поле_2[, ...]] INTO новаТаблиця FROM джерело [WHERE…] де: поле_i – імена полів, які слід скопіювати в нову таблицю новаТаблиця – ім’я таблиці, яку створюють. Це ім’я мусить відповідати стандартним правилам іменування. Якщо новаТаблиця збігається з іменем існуючої таблиці, виникає перехоплювана помилка. джерело – ім’я існуючої таблиці, з якої відбираються записи. Це може бути: одна таблиця, кілька таблиць або запит. Інструкція SQL на видалення записів має такий вигляд: DELETE [таблиця.*] FROM таблиця WHERE умова Відбору де: таблиця – ім’я таблиці, з якої видаляються записи; умоваВідбору – вираз, що визначає записи, які видаляються. Інструкція SQL на поновлення записів в таблиці виглядає так: UPDATE таблиця SET нове Значення WHERE умова Відбору; де: таблиця – ім’я таблиці, дані в якій слід змінити; нове Значення – вираз, визначне значення, яке має бути вставлено у вказане поле поновлених записів. умова Відбору – вираз, що відбирає значення запису, які мають бути змінені. При виконанні цієї інструкції буде змінені тільки записи, що відповідають вказаній умові. З повагою ІЦ "KURSOVIKS"! |