Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
Національний університет «Львівська політехніка»
Кафедра САПР
З В І Т
про виконання лабораторної роботи № 6
на тему:
«Групування даних»
з курсу:
«Проектування банків даних для комп’ютерних систем проектування»
МЕТА РОБОТИ
Ознайомитися із запитами, які дозволяють групувати дані а також вивчити їх основні можливості.
ТЕОРЕТИЧНІ ВІДОМОСТІ
Аналіз інформації, що зберігається в реляційній базі даних, здійснюється за допомогою SELECT-запитів. В загальному випадку SELECT-запит має наступну структуру:
SELECT [DISTINCT]
вираз [AS псевдонім_колонки],…
FROM {таблиця|з’єднання_таблиць|підзапит} [[AS] псевдонім_таблиці]
[WHERE предикат]
[GROUP BY вираз,…
[HAVING предикат]]
[{UNION|INTERSECT|EXCEPT} [ALL]
{SELECT …}]
[ORDER BY вираз [ASC|DESC],…]
Цей запит складається з кількох частин, кожна з яких починається відповідним ключовим словом:
SELECT; FROM; WHERE; GROUP BY; HAVING; ORDER BY.
В частині SELECT визначається структура майбутнього результату, тобто ця частина визначає набір стовпчиків результуючої таблиці. Частина FROM вказує на назви усіх таблиць чи підзапитів, які використовуються в SELECT-запиті. Частина WHERE містить предикат, який може включати кілька логічних виразів та приймати одне з трьох значень: TRUE, FALSE чи UNKNOWN (NULL). В результат SELECT-запиту включаються усі рядки, для яких предикат з частини WHERE приймає значення TRUE. Частина ORDER BY використовується для впорядкування вихідних даних. Рядки впорядковуються відповідно до виразів, вказаних в списку.
Для отримання агрегованих даних дуже важливу роль грають інші компоненти SELECT-запиту.
У виразах, які перераховуються після ключового слова SELECT, можуть використовуватися агрегуючі функції. Під агрегуючими функціями розуміють одну з наступних п’яти функцій:
агрегуюча_функція ::=
{COUNT(*) | {AVG | SUM | MAX | MIN | COUNT} (вираз)}
Існує два типи функції COUNT. Перший тип в якості аргументу використовує символ “*”. В цьому випадку функція обчислює кількість рядків, які повертає запит. Тут не враховуються окремі значення полів, результат не залежить чи задано параметр DISTINCT і чи трапляються значення NULL. Інший тип функції COUNT обчислює всі значення виразу, що не є NULL.
Усі інші функції також ігнорують значення NULL для виразу.
Функція AVG обчислює середнє арифметичне (середнє) для значень виразу. Аргументом цієї функції може бути лише числовий вираз.
Функція SUM обчислює суму значень числового виразу.
Функції MAX та MIN обчислюють відповідно максимальне та мінімальне значення виразу будь-якого типу.
Існують певні правила виконання агрегуючих функцій:
Якщо в результаті запиту не отримано жодного рядка, то результатом функції COUNT буде нуль, а результатом інших функцій – значення NULL.
В аргументах агрегуючих функцій не допускається використання інших агрегуючих функцій чи підзапитів.
Результатом виконання функції COUNT є ціле число. Інші агрегуючі функції наслідують типи даних від аргументу.
ПОСТАНОВКА ЗАВДАННЯ
Вокзал обслуговує пасажирів. В кожного пасажира є білет який містить інформацію про пасажира і про поїзд. В вокзалі залі працює персонал. Існує абонемент.
ВИКОНАННЯ РОБОТИ
1.
SELECT COUNT(*) AS nomer_bilety
FROM bilet
GROUP BY nomer_bilety;
2.
SELECT nomer_bilety, COUNT(*) AS cina
FROM bilet
GROUP BY nomer_bilety;
3.
SELECT nomer_bilety, SUM( cina * cina )
FROM bilet
GROUP BY nomer_bilety
HAVING SUM( cina * cina )
ORDER BY cina;
ВИСНОВОК
На даній лабораторній роботі, я навчився створювати запити на групування даних. Розробив до своєї бази даних дані запити, і побачив що вони працюють і виводять коректні результати.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!