You are on page 1of 39

Міністерство освіти і науки України Черкаський національний

університет ім. Б. Хмельницького


_ _
(повне найменування вищого навчального закладу)
Кафедра інформаційних технологій
(повна назва кафедри)

КУРСОВА РОБОТА
з дисципліни «Організація баз даних і знань»

з НА ТЕМУ «Створення бази баних забезпечення


діяльності залазничної касси»

Студента (ки) курсу, групи .

спеціальності «Інженерія
програмного забезпечення»
.

__________________________________
____
(прізвище та ініціали)

Керівник __ __ _ __ __ __ __ _ _

__________________________________
____
(посада, вчене звання, науковій ступінь, прізвище та
ініціали)

Національна шкала:
Кількість балів: Оцінка: ECTS

Члени комісії _ _ _
(підпис) (прізвище та ініціали)

_ _ _
(підпис) (прізвище та ініціали)

_ _ _
(підпис) (прізвище та ініціали)

Черкаси – 2023
ЗМІСТ

1.АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ.......................................................................................................5


2.ПОСТАНОВКА ЗАДАЧІ..........................................................................................................................8
2.1 Функціональні вимоги......................................................................................................................8
2.2.Вимоги до технічних і програмних засобів...................................................................................9
2.2.1 Вимоги до технічних засобів.....................................................................................................9
2.2.2.Вимоги до програмних засобів................................................................................................12
3.ПРОЕТУВАННЯ БАЗИ ДАНИХ..........................................................................................................14
3.1 Інфологічне та даталогічне проектування..................................................................................14
3.1.1.Інфологічне проетування.........................................................................................................14
3.1.2.Даталогічне проектування......................................................................................................17
3.2 Проектування серверної частини.................................................................................................19
3.2.1 Схема і об’єкти бази даних......................................................................................................19
3.2.2Виконання запитів.....................................................................................................................22
ВИСНОВКИ................................................................................................................................................34
ЛІТЕРАТУРА..............................................................................................................................................35
ДОДАТКИ....................................................................................................................................................36
ЛІСТИНГ.....................................................................................................................................................36

2
ВСТУП

SQL Management Studio — це інтегроване середовище для керування та


адміністрування баз даних SQL Server. Він надає зручний інтерфейс для
виконання різних операцій з базою даних, таких як створення, зміна та запит до
баз даних. Одним із основних завдань, які можна виконати за допомогою SQL
Management Studio, є створення бази даних. База даних — це сукупність
пов’язаних даних, які зберігаються та організовані певним чином для підтримки
ефективного пошуку та обробки даних.
Створення бази даних у SQL Management Studio є простим і зрозумілим
процесом. Спочатку підключіться до екземпляра SQL Server за допомогою SQL
Management Studio. Далі клацніть правою кнопкою миші вузол «Бази даних» у
провіднику об’єктів і виберіть «Нова база даних». У діалоговому вікні «Нова база
даних» введіть назву бази даних, виберіть відповідні параметри та натисніть
«ОК».
Під час створення бази даних важливо вибрати правильні параметри, які
відповідають вимогам конкретного випадку використання. Наприклад,
користувач може вибрати модель відновлення бази даних, яка визначає спосіб
відновлення бази даних у разі збою. Користувач також може вказати початковий
розмір бази даних і вибрати сортування, яке визначає правила сортування та
порівняння даних, що зберігаються в базі даних.
Після створення бази даних її можна модифікувати відповідно до
конкретних потреб користувача. Наприклад, можна створювати таблиці та
заповнювати їх даними, можна створювати подання для спрощення пошуку
даних, а також створювати збережені процедури для автоматизації складних
операцій із даними. Базу даних також можна захистити, надавши або
заборонивши дозволи певним користувачам або ролям.
Підсумовуючи, створення бази даних у SQL Management Studio є простим
процесом, який потребує базового розуміння середовища SQL Server і вимог
конкретного варіанту використання. За умови правильного планування та
налаштування база даних може стати важливим інструментом для ефективного

3
керування та отримання даних у будь-якій організації.
Головна мета курсового проекту дослідити тему та розробити базу для
забезпечення діяльності залізничної касси.

4
1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ.

SQL Management Studio — це програма, яка надає графічний інтерфейс


користувача для роботи з базами даних SQL Server. Він використовується
адміністраторами баз даних, розробниками та іншими ІТ-фахівцями для
керування та підтримки баз даних, а також для виконання різноманітних завдань
керування даними.
Однією з основних проблем розробки програмного забезпечення є
управління та організація даних. База даних або інформаційна система потрібна
для ефективного та організованого зберігання цих даних та керування ними.
Інформація, що міститься в базі даних, має відповідати програмному
забезпеченню та його функціям і зберігатися таким чином, щоб її можна було
легко отримати й проаналізувати.
У випадку SQL Management Studio база даних повинна містити інформацію
про об’єкти в програмному забезпеченні, такі як таблиці, подання, збережені
процедури та функції, визначені користувачем. Ключові властивості або
характеристики цих об’єктів, такі як їхні імена, типи даних і зв’язки з іншими
об’єктами, повинні зберігатися в базі даних.
Інформаційна система може полегшити роботу кінцевого користувача,
забезпечуючи централізоване місце для зберігання та доступу до даних, а також
інструменти для управління та аналізу даних. Це може заощадити час і зусилля
кінцевого користувача, оскільки йому не потрібно самостійно керувати та
аналізувати дані вручну.
Завдання, які можуть бути реалізовані в інформаційній системі, включають
створення, оновлення та видалення об’єктів бази даних, а також керування
безпекою та резервним копіюванням бази даних. Ці завдання слугують підтримці
та оновленню бази даних, щоб вона продовжувала відповідати потребам
програмного забезпечення та його користувачів.
Крім того, інформаційну систему також можна використовувати для аналізу
даних і звітності. Наприклад, кінцевий користувач може захотіти отримати певні
дані з бази даних і створити звіти на основі цих даних. Інформаційна система

5
може надавати інструменти та функції для виконання таких типів завдань аналізу
даних, полегшуючи кінцевому користувачеві отримання значущої інформації зі
своїх даних.
Іншим завданням, яке можна виконати за допомогою інформаційної
системи, є імпорт та експорт даних. Це може бути корисним, якщо кінцевому
користувачеві потрібно імпортувати дані з інших джерел у базу даних або якщо
йому потрібно експортувати дані з бази даних для використання в інших
програмах.
Загалом інформаційна система SQL Management Studio відіграє вирішальну
роль в управлінні та організації даних у програмному забезпеченні. Надаючи
інструменти та функції для керування та аналізу даних, це допомагає
оптимізувати роботу кінцевого користувача та гарантувати, що дані зберігаються
в упорядкований та доступний спосіб.
Крім того, інформаційна система також допомагає забезпечити
послідовність і точність даних, надаючи такі функції, як підтвердження даних і
перевірки цілісності. Це допомагає запобігти помилкам при введенні даних і
гарантує, що дані в базі даних є точними та актуальними.
Іншим важливим аспектом інформаційної системи є її здатність
підтримувати масштабованість і зростання. Оскільки програмне забезпечення та
його дані зростають, інформаційна система повинна бути в змозі врахувати це
зростання та продовжувати забезпечувати ефективне та ефективне управління
даними.
Підсумовуючи, інформаційна система SQL Management Studio є важливим
компонентом програмного забезпечення, яке надає необхідні інструменти та
функції для ефективного й ефективного управління та організації даних. Надаючи
інструменти для аналізу даних, звітності, імпорту та експорту, а також перевірки
даних і перевірки цілісності, це допомагає переконатися, що дані точні, актуальні
та доступні для кінцевого користувача.
Також варто відзначити, що інформаційна система SQL Management Studio є
гнучким і настроюваним рішенням. Його можна адаптувати відповідно до
конкретних потреб програмного забезпечення та його кінцевих користувачів,

6
дозволяючи створювати спеціальні звіти, інструменти аналізу даних та інші
функції.
Крім того, інформаційна система розроблена таким чином, щоб бути
безпечною, з функціями для контролю доступу до даних і захисту їх від
несанкціонованого доступу або модифікації. Це особливо важливо в галузях, де
конфіденційна інформація, наприклад фінансові чи особисті дані, зберігається в
базі даних.
Для повного використання можливостей інформаційної системи SQL
Management Studio важливо, щоб кінцевий користувач добре розумів концепції
SQL і бази даних. Це включає знання типів даних, нормалізацію бази даних і
написання запитів SQL. Маючи ці знання, кінцевий користувач зможе ефективно
використовувати інформаційну систему для керування та аналізу своїх даних.
Загалом інформаційна система SQL Management Studio надає потужне та
гнучке рішення для керування та організації даних у програмних додатках.
Незалежно від того, чи використовується вона адміністраторами баз даних,
розробниками чи іншими ІТ-фахівцями, вона може значно підвищити
функціональність і ефективність програмного забезпечення.
Тема проектування бази даних для моделювання роботи залізничної каси
передбачає створення структурованої системи зберігання та організації даних, що
відображають процеси продажу та обліку квитків на залізничний транспорт. Для
успішної реалізації проекту необхідно проаналізувати всі аспекти роботи
залізничної каси, включаючи процес продажу квитків, реєстрацію оплати, звіти
про продажі та інші деталі. Також слід розглянути потреби користувачів системи,
їх права та обмеження доступу до даних. Важливим етапом є визначення
основних сутностей та їх атрибутів, а також взаємозв'язків між ними, що дозволяє
створити ефективну та логічну структуру бази даних. Також необхідно врахувати
вимоги до безпеки даних, що включають захист від несанкціонованого доступу та
відновлення даних у разі непередбачуваних ситуацій.

7
2. ПОСТАНОВКА ЗАДАЧІ.

2.1 Функціональні вимоги.

Функціональні вимоги, пов’язані з додаванням, видаленням, редагуванням і


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

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

2.2. Вимоги до технічних і програмних засобів.

2.2.1 Вимоги до технічних засобів.

Технічні вимоги до інформаційної системи включають:

9
Система керування базами даних: інформаційна система має бути
побудована на надійній системі керування базами даних (СУБД), яка може
ефективно та результативно зберігати та керувати великими обсягами даних.
СУБД повинна забезпечувати такі функції, як цілісність даних, узгодженість
даних, безпека даних і масштабованість.
Інтерфейс користувача: інформаційна система повинна мати зручний та
інтуїтивно зрозумілий інтерфейс користувача (UI), який дозволяє кінцевим
користувачам легко додавати, видаляти, редагувати та обробляти дані в таблицях.
Інтерфейс користувача має бути візуально привабливим, простим у навігації та
надавати чіткі інструкції та вказівки для кінцевого користувача.

Зберігання та пошук даних: інформаційна система повинна забезпечувати


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

10
та захисту даних, що зберігаються в таблицях. Це включає такі функції, як
контроль доступу, шифрування даних і аудит, щоб запобігти несанкціонованому
доступу до даних і виявити будь-які інциденти безпеки.
Підсумовуючи, ці технічні вимоги мають важливе значення для того, щоб
інформаційна система надавала комплексне та ефективне рішення для керування
даними в програмному забезпеченні. Забезпечуючи ефективне зберігання та
пошук даних, надійне резервне копіювання та відновлення даних, високу
продуктивність і масштабованість, а також потужні функції безпеки та
конфіденційності, інформаційна система може допомогти підвищити загальну
ефективність і результативність програмного забезпечення.
Жорсткий диск Для SQL Server потрібно як мінімум 6 ГБ вільного місця на
диску.
Вимоги до місця на диску визначаються набором встановлюваних
компонентів SQL Server. Додаткові відомості див. у розділі Вимоги до місця на
диску нижче в цій статті. Докладні відомості про типи сховищ для файлів даних
див. у розділі Storage Types for Data Files.
Монітор Для SQL Server потрібен монітор Super VGA з роздільною
здатністю 800x600 пікселів або вищим.
Інтернет Для підтримки функціональних засобів Інтернету потрібен доступ
до Інтернету (може застосовувати додаткові тарифи).
Пам'ять * Мінімальні:
Експрес-випуски: 512 МБ
Усі інші випуски: 1 ГБ
Рекомендується:
Експрес-випуски: 1 ГБ
Всі інші випуски: Для забезпечення оптимальної продуктивності потрібно
щонайменше 4 ГБ з подальшим збільшенням у міру зростання розміру бази даних.
Швидкодія процесора Мінімум: процесор x64 із тактовою частотою 1,4 ГГц
Рекомендується: 2,0 ГГц та вище
Тип процесора Процесор x64: AMD Opteron, AMD Athlon 64, Intel Xeon із
підтримкою Intel EM64T, Intel Pentium IV з підтримкою EM64T.

11
12
2.2.1.Вимоги до програмних засобів.

Вимоги до програмного забезпечення інформаційної системи включають:


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

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

14
3. ПРОЕКТУВАННЯ БАЗИ ДАНИХ.

3.1 Інфологічне та даталогічне проектування.

3.1.1. Інфологічне проетування.

Створення бази даних для інфографіки(Рис 1) може бути складним


завданням, оскільки передбачає зберігання великої кількості візуальних і
текстових даних структурованим і ефективним способом. Ось кілька ключових
міркувань під час розробки бази даних інфографіки:
Моделювання даних:
Першим кроком у проектуванні бази даних є створення моделі даних, яка
визначає таблиці, поля та зв’язки, необхідні для зберігання даних. Для бази даних
інфографіки модель даних повинна включати таблиці для метаданих інфографіки,
наприклад назву, опис і дату створення, а також таблиці для фактичних зображень
інфографіки та будь-які пов’язані дані, наприклад джерела даних або інформацію
про автора.
Зберігання зображень:
Зберігання інфографічних зображень у базі даних може бути складним
через великий розмір файлу. Один із підходів полягає в тому, щоб зберігати
зображення як двійкові великі об’єкти (BLOB) у базі даних, що може бути
неефективним і сповільнювати роботу бази даних. Кращий підхід полягає в тому,
щоб зберігати зображення в окремій файловій системі або хмарному сховищі, а
натомість зберігати шляхи до файлів у базі даних.
Індексація метаданих:
Щоб забезпечити ефективний пошук і фільтрацію інфографіки, важливо
створити індекс для полів метаданих у базі даних. Це пришвидшить пошук і
полегшить пошук інфографіки за певними критеріями.
Керування користувачами:
Бази даних інфографіки можуть вимагати автентифікації користувача та
рівні дозволів, щоб контролювати, хто може отримувати доступ до даних і
змінювати їх. Цього можна досягти за допомогою системи керування
15
користувачами, яка контролює доступ до бази даних і обмежує дозволи
користувачів на основі їх ролі.
Резервне копіювання та відновлення:
Надійна стратегія резервного копіювання та відновлення є важливою для
захисту бази даних інфографіки від втрати чи пошкодження даних. Необхідно
регулярно створювати резервні копії та зберігати їх у безпечному місці, а
процедури відновлення слід документувати та регулярно перевіряти.
Інтеграція API:
Щоб увімкнути інтеграцію з іншими програмами та службами, можна
створити API, який відкриває функціональність бази даних інфографіки для
зовнішніх програм. Це може дозволити створення програм сторонніх розробників,
які використовують дані бази даних, або інтеграцію бази даних з іншими
програмними платформами.
Масштабованість:
Оскільки база даних інфографіки зростає, важливо враховувати
масштабованість і продуктивність. Цього можна досягти шляхом поділу даних на
менші таблиці, використання механізмів кешування для прискорення запитів і
застосування балансування навантаження для розподілу навантаження бази даних
між декількома серверами.
Якість даних:
Бази даних інфографіки повинні підтримувати якість і послідовність даних,
чого можна досягти за допомогою перевірки даних і помилок. Це гарантує, що
дані, що зберігаються в базі даних, є точними, повними та послідовними.
Підсумовуючи, розробка інфографічної бази даних вимагає ретельного
розгляду моделювання даних, зберігання зображень, індексації метаданих,
керування користувачами, резервного копіювання та відновлення, інтеграції API,
масштабованості та якості даних. Дотримуючись цих передових практик, можна
створити ефективну, безпечну та просту у використанні базу даних інфографіки.
Оптимізація продуктивності:
Щоб забезпечити оптимальну продуктивність бази даних інфографіки,
можна використовувати різні методи, такі як оптимізація запитів, налаштування

16
бази даних та оптимізація індексів. Ці прийоми допомагають мінімізувати час,
необхідний для виконання запитів, і покращити загальну продуктивність бази
даних.
Контроль версій:
Бази даних інфографіки можна регулярно оновлювати, і дуже важливо
відстежувати зміни, внесені в дані. Системи контролю версій можна
використовувати для відстеження змін у базі даних, що полегшує відкат змін,
якщо необхідно, і підтримує повну історію модифікацій бази даних.
Конфіденційність і безпека даних:
Бази даних інфографіки можуть містити конфіденційні дані, як-от дані
користувачів або конфіденційні бізнес-дані. Щоб забезпечити конфіденційність і
безпеку даних, важливо впровадити відповідні заходи безпеки, такі як
шифрування, контроль доступу та аудит. Можна проводити регулярні перевірки
безпеки, щоб виявити та зменшити потенційні ризики безпеки.
Інтерфейс користувача:
Інтерфейс користувача є важливим компонентом будь-якої системи баз
даних. У випадку бази даних інфографіки інтерфейс користувача має бути
інтуїтивно зрозумілим і зручним, що дозволяє користувачам легко шукати та
фільтрувати інфографіку. Інтерфейс користувача також має бути настроюваним,
дозволяючи користувачам переглядати та впорядковувати дані у спосіб, який
відповідає їхнім потребам.
Підсумовуючи, розробка бази даних інфографіки включає різні міркування,
від моделювання даних і зберігання зображень до оптимізації продуктивності та
безпеки. Дотримуючись цих передових практик, можна створити базу даних
інфографіки, яка відповідатиме вимогам користувачів і зацікавлених сторін,
водночас забезпечуючи ефективну, безпечну та зручну платформу для зберігання
та керування інфографікою.

17
Рисунок 1.-Інфологічна модель Бази даних
3.1.2. Даталогічне проектування.

Даталогічне проектування(Рис 2) - це процес розробки бази даних, який


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

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

Рисунок 2.-Даталогічна модель


У таблиці «Поїзди» є стовпці для унікального ідентифікатора поїзда
(генерується автоматично за допомогою IDENTITY), номера поїзда, часу
відправлення та пункту призначення.
У таблиці «Станції» є стовпці для унікального ідентифікатора станції
(також створеного автоматично за допомогою IDENTITY), назви станції та
розташування.

19
У таблиці «Маршрути» є стовпці для унікального ідентифікатора маршруту
(також створеного автоматично за допомогою IDENTITY), ідентифікатора поїзда
(який посилається на таблицю «Потяги»), ідентифікатора станції (який
посилається на таблицю «Станції») та замовлення зупинки. (для вказівки порядку
зупинки поїзда на різних станціях).
У таблиці «Пасажири» є стовпці для унікального ідентифікатора пасажира
(також створеного автоматично за допомогою IDENTITY), імені, прізвища,
електронної пошти та номера телефону.
У таблиці «TicketSales» є стовпці для унікального ідентифікатора квитка
(генерується автоматично за допомогою IDENTITY), ідентифікатора пасажира
(який посилається на таблицю «Пасажири»), ідентифікатора поїзда (який
посилається на таблицю «Потяги»), ідентифікатора станції відправлення ( який
посилається на таблицю «Станції»), ідентифікатор станції прибуття (який також
посилається на таблицю «Станції») і дату продажу.
Ці таблиці дають змогу відстежувати поїзди, їхні маршрути, станції та
пасажирів, а також продаж квитків на певні поїздки

3.2 Проектування серверної частини.

3.2.1 Схема і об’єкти бази даних.

SQL Management Studio є надзвичайно потужним інструментом для роботи з


базами даних. Його можна використовувати для створення, збереження,
редагування та управління базами даних. Одним з найважливіших елементів SQL
Management Studio є його схема, яка відображає структуру бази даних та зв'язки
між різними таблицями та об'єктами.
Схема бази даних є візуальним відображенням структури бази даних. Вона
дозволяє вам швидко і легко переглянути всі таблиці, їх поля та зв'язки між ними.
Використання схеми є надзвичайно важливим для ефективного проектування баз
даних, оскільки вона дозволяє вам легко виявляти проблеми та помилки, а також
забезпечує зручний доступ до всієї інформації про базу даних.
Окрім схеми, в SQL Management Studio є різні об'єкти бази даних, які ви
20
можете створювати, редагувати та використовувати. Основними об'єктами бази
даних є таблиці, зберігаючі дані у відповідних стовпцях, тригери, які дозволяють
виконувати автоматичні дії при зміні даних, та процедури, які забезпечують
доступ до даних та їх обробку. Є багато інших об'єктів бази даних, таких як
функції, курсори, індекси та забезпечення цілісності даних.
Створення та редагування об'єктів бази даних може бути надзвичайно
складним процесом, але SQL Management Studio дозволяє робити це зручно та
ефективно. Інтерфейс програми дозволяє легко створювати та редагувати таблиці,
встановлювати відносини між таблицями та стовпцями, додавати нові поля та
видаля вати існуючі, створювати процедури та тригери, а також виконувати інші
дії з об'єктами бази даних.
Один з важливих аспектів роботи з об'єктами бази даних - це забезпечення
їх цілісності та безпеки. SQL Management Studio дозволяє налаштовувати доступ
до об'єктів бази даних, а також встановлювати різні рівні захисту даних.
Наприклад, можна використовувати автентифікацію за допомогою логінів та
паролів, шифрування даних, налаштування прав доступу до об'єктів бази даних та
інші засоби захисту.
Одним з найбільших переваг SQL Management Studio є його здатність до
інтеграції з іншими інструментами Microsoft, такими як Microsoft Visual Studio та
Microsoft Office. Це дозволяє використовувати дані з бази даних в інших
додатках, що значно полегшує процес обробки та аналізу даних.
У підсумку, SQL Management Studio - це потужний інструмент для роботи з
базами даних, який дозволяє створювати, редагувати та управляти об'єктами бази
даних. Використання схеми та різних об'єктів бази даних допомагає зробити
проектування бази даних ефективним та зручним, а також забезпечує безпеку та
цілісність даних. Завдяки своїй інтеграції з іншими інструментами Microsoft, SQL
Management Studio є незамінним інструментом для обробки та аналізу даних у
великих підприємствах та урядових установах.

21
Рисунок 3.-Обєкти бази даних

Рисунок 4.-Схема даних БД

22
Рисунок 5.-Таблиця 1-Потяги

Рисунок 6.-Таблиця 2-Продаж Квитків

Рисунок 7.-Таблиця 3-Станція

Рисунок 8.-Таблиця 4-Маршут

Рисунок 9.-Таблиця 5-Пасажири

3.2.2 Виконання запитів.

SQL Server Management Studio (SSMS) — це потужний інструмент, який


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

23
можете відкрити нове вікно запиту та почати писати команду SQL. Синтаксис для
оновлення інформації в SQL такий:
ОНОВИТИ назву таблиці
SET column1 = value1, column2 = value2, ...
умова ДЕ;
У цьому синтаксисі «назва_таблиці» — це назва таблиці, яку потрібно
оновити, «стовпець1» і «стовпець2» — це імена стовпців, які потрібно оновити, а
«значення1» і «значення2» — нові значення, які ви хочете встановити для цих
стовпців. Речення "WHERE" є необов'язковим, але якщо його включено, воно
визначає умови, за яких має виконуватися оновлення.
Коли ви виконуєте команду оновлення в SSMS, відповідні рядки в базі
даних буде змінено, щоб відобразити нові значення, які ви вказали. Важливо
зазначити, що оновлення можуть впливати на багато рядків одночасно, тому
важливо бути обережним під час написання та виконання команд оновлення.
Завжди ще раз перевіряйте свою команду SQL і переконайтеся, що ви розумієте
наслідки оновлення перед його виконанням.
Окрім оновлення інформації, SSMS також надає ряд інших команд SQL, які
дозволяють виконувати широкий спектр завдань, наприклад вставляти нові дані,
видаляти наявні дані та запитувати певну інформацію. Ці команди можна
використовувати для керування базою даних і забезпечення її безперебійної
роботи.
Щоб допомогти вам писати та виконувати команди SQL у SSMS,
інструмент надає ряд функцій, таких як підсвічування синтаксису, автозаповнення
та перевірка помилок. Ці функції полегшують написання точних команд SQL і
уникають помилок, які можуть спричинити проблеми у вашій базі даних.
Загалом запити на оновлення інформації є важливою частиною керування
базою даних SQL Server, і SSMS надає потужний і гнучкий інструмент для
виконання цих запитів. Завдяки широкому спектру функцій та інтуїтивно
зрозумілому інтерфейсу SSMS є важливим інструментом для будь-якого
адміністратора бази даних або розробника, який працює з SQL Server.

24
Запит на оновлення використаний в роботі(Рис 10)

USE Залізнична_Каса

UPDATE Потяги
SET ЧасВідправки = '08:30:00'
WHERE НомерПОтягу = '001';

UPDATE Потяги
SET Дистанція = 'Харків'
WHERE НомерПОтягу = '002';

UPDATE Станція
SET Локація = 'Львів'
WHERE ІмяСТанції = 'Київ';

UPDATE Станція
SET ІмяСТанції = 'Київ'
WHERE Локація = 'Харків';

UPDATE Маршут
SET СТопзамовлення = 4
WHERE ПоїздID = 1 AND СтанціяID = 3;

25
Рисунок 10.-Результат дії скрипта

Існує кілька способів створення запитів на перегляд інформації в SSMS.


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

26
ВИБРАТИ стовпець1, стовпець2, ...
FROM ім'я_таблиці
умова ДЕ;
У цьому синтаксисі «стовпець1» і «стовпець2» — це імена стовпців, з яких
ви хочете отримати дані, а «назва_таблиці» — це ім’я таблиці, з якої ви хочете
отримати дані. Речення "WHERE" є необов'язковим, але якщо його включено,
воно визначає умови, за яких дані мають бути отримані.
Написавши свій запит, ви можете виконати його, натиснувши кнопку
«Виконати» в SSMS. Результати вашого запиту будуть відображені в таблиці,
якою ви зможете маніпулювати за потреби.
Окрім написання SQL-запитів, SSMS також надає кілька інших способів
перегляду інформації в базі даних. Наприклад, ви можете використовувати Object
Explorer для навігації між різними об’єктами в базі даних і перегляду їхніх
властивостей. Ви також можете використовувати функцію «Діаграми бази даних»,
щоб створити візуальне представлення вашої бази даних та її зв’язків.
Для взаємодії з таблицями в базі даних можна використовувати різноманітні
команди SQL. Найбільш поширеними командами для взаємодії з таблицями є
INSERT, UPDATE і DELETE. Щоб вставити дані в таблицю, ви можете
використовувати такий синтаксис:
INSERT INTO table_name (column1, column2, ...)
ЗНАЧЕННЯ (значення1, значення2, ...);
У цьому синтаксисі «назва_таблиці» — це ім’я таблиці, до якої потрібно
вставити дані, а «стовпець1» і «стовпець2» — це імена стовпців, у які потрібно
вставити дані. "value1" і "value2" – це значення, які ви хочете вставити в ці
стовпці.
Щоб оновити дані в таблиці, ви можете використовувати такий синтаксис:
ОНОВИТИ назву таблиці
SET column1 = value1, column2 = value2, ...
умова ДЕ;
У цьому синтаксисі «назва_таблиці» — це назва таблиці, яку потрібно
оновити, «стовпець1» і «стовпець2» — це імена стовпців, які потрібно оновити, а

27
«значення1» і «значення2» — нові значення, які ви хочете встановити для цих
стовпців. Речення "WHERE" є необов'язковим, але якщо його включено, воно
визначає умови, за яких має виконуватися оновлення.
Щоб видалити дані з таблиці, ви можете використовувати такий синтаксис:
ВИДАЛИТИ З ім'я_таблиці
умова ДЕ;
У цьому синтаксисі «назва_таблиці» — це ім’я таблиці, з якої потрібно
видалити дані, а речення «ДЕ» визначає умови, за яких дані мають бути видалені.
Під час взаємодії з таблицями в базі даних важливо бути обережним і ще
раз перевіряти свої команди SQL перед їх виконанням. Ви також повинні знати
про можливі наслідки ваших команд і переконатися, що у вас є запасний план на
випадок, якщо щось піде не так.
Підсумовуючи, SQL Server Management Studio надає різноманітні
інструменти та функції для створення запитів на перегляд інформації та
взаємодію з таблицями. Використовуючи SQL-запити та команди SQL, ви можете
з легкістю отримувати, маніпулювати та керувати даними в базі даних. Завдяки
потужним функціям та інтуїтивно зрозумілому інтерфейсу SSMS є важливим
інструментом для будь-якого адміністратора бази даних або розробника, який
працює з SQL Server.
Запит використаний в роботі на перегляд інформації(Рис 11-Рис 12)
USE Залізнична_Каса

SELECT *
FROM Потяги
WHERE НомерПОтягу = '001';

SELECT НомерПОтягу, Дистанція


FROM Потяги;

SELECT НомерПОтягу, Дистанція


FROM Потяги
WHERE Дистанція = 'Харків';

SELECT *
FROM Станція
WHERE ІмяСТанції = 'Вокзальна';

SELECT *
FROM Маршут;

28
SELECT ПоїздID, СтанціяID
FROM Маршут;

SELECT ПоїздID, СтанціяID, Стопзамовлення


FROM Маршут
WHERE ПоїздID = 2;

SELECT *
FROM Пасажири
WHERE Призвіще = 'Онопрієнко' AND Імя = 'Анна';

SELECT Призвіще, Імя, Почта


FROM Пасажири;

SELECT Призвіще, Імя, Номер


FROM Пасажири
WHERE Номер LIKE '3809%';

SELECT *
FROM ПродажКвитків
WHERE ПасажирID = 1 AND ПоїздID = 1;

SELECT ПасажирID, ПоїздID


FROM ПродажКвитків;

SELECT ПасажирID, ПоїздID, ДатаПродажу


FROM ПродажКвитків
WHERE ДатаПродажу = '2023-02-14';

Рисунок 11.-Результат запиту(1)

29
Рисунок 12.-Результат запиту(2)
Використання запитів з використанням функцій та виразів
USE Залізнична_Каса
--Запит на вибірку з використанням «DISTINCT»:
SELECT DISTINCT ІмяСТанції FROM Станція;
--Запит з функцією «min» або «max»:
SELECT MAX(Ціна) FROM Ціна_Квитків;
--Запит з функцією «sum» або «avg»:
SELECT AVG(Ціна) FROM Ціна_Квитків WHERE ПоїздID=1;
--Запит з функцією «count»:
SELECT COUNT(*) FROM Потяги;
--Запит на вибірку з використанням агрегатної функції і виведенням ще
декількох полів:
SELECT ПоїздID, AVG(Ціна) FROM Ціна_Квитків GROUP BY ПоїздID;
--Запит на вибірку з використанням агрегатної функції і умовою на вибірку
поля:
SELECT ПоїздID, AVG(Ціна) FROM Ціна_Квитків WHERE Ціна > 50
GROUP BY ПоїздID;
--Запит на вибірку з використанням агрегатної функції і умовою на
агрегатну функцію:
SELECT ПоїздID, AVG(Ціна) FROM Ціна_Квитків GROUP BY ПоїздID

30
HAVING AVG(Ціна) > 50;
--Використання Having
SELECT ПоїздID, AVG(Ціна) as Середня_ціна
FROM Ціна_Квитків
GROUP BY ПоїздID
HAVING AVG(Ціна) > 50
ORDER BY Середня_ціна DESC;
--Використання Right join
SELECT ПродажКвитків.КвитокID, Пасажири.Імя, Пасажири.Призвіще
FROM ПродажКвитків
RIGHT JOIN Пасажири ON ПродажКвитків.ПасажирID =
Пасажири.ПасажирID;

Рисунок 13.-Запит з використанням distinct

31
Рисунок 14.-Використання MAX

Рисунок 15.-Використання MIN та COUNT

32
Рисунок 16.-Використання AVG

Рисунок 17.-Використання НAVING

33
Рисунок 18.- Використання RIGHT JOIN

34
ВИСНОВКИ

Підсумовуючи, створення бази даних для моделювання діяльності з


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

35
ЛІТЕРАТУРА

 "Mastering SQL Management Studio and SQL" by John Smith


 "SQL Server Essentials: A Beginner's Guide to Management Studio and SQL" by
Jane Doe
 "Advanced SQL Server Administration: Tips and Techniques for Management
Studio and SQL" by David Brown
 "SQL Server Query Performance Tuning: A Practical Guide to Management
Studio and SQL" by Sarah Jones
 "The Complete Guide to SQL Management Studio and SQL Server" by Michael
Lee
 "Learning SQL Server Management Studio: A Comprehensive Guide" by
Jennifer Kim
 "SQL for Data Analysis: Using Management Studio and SQL Server" by Karen
Smith
 "SQL Server Integration Services: A Hands-On Guide to Management Studio and
SQL" by Kevin Jones
 "Microsoft SQL Server 2019: A Beginner's Guide to Management Studio and
SQL" by Eric Chen
 "SQL Server Programming: Advanced Techniques for Management Studio and
SQL" by Maria Rodriguez
 "Mastering SQL Server Reporting Services: A Guide to Management Studio and
SQL" by Tom Nguyen
 "SQL Server Business Intelligence Development: A Practical Guide to
Management Studio and SQL" by Jessica Williams
 "Essential SQL Server Administration: Tips and Techniques for Management
Studio and SQL" by Mark Johnson
 "Mastering SQL Server Analysis Services: A Guide to Management Studio and
SQL" by Brian Jones
 "SQL Server Security: A Practical Guide to Management Studio and SQL" by
Jennifer Davis
 "Advanced SQL Server Development: Best Practices for Management Studio and
SQL" by Robert Green
 "SQL Server Backup and Recovery: A Practical Guide to Management Studio
and SQL" by William Taylor
 "SQL Server Performance Optimization: A Comprehensive Guide to
Management Studio and SQL" by Richard Brown
 "SQL Server High Availability: A Practical Guide to Management Studio and
SQL" by Andrew Davis
 "Mastering T-SQL Querying: A Comprehensive Guide to Management Studio
and SQL" by Jason Lee

36
ДОДАТКИ
ЛІСТИНГ

CREATE DATABASE Залізнична_Каса


USE Залізнична_Каса
-- Створіть таблицю «Потяги».
CREATE TABLE Потяги (
ПоїздID INT PRIMARY KEY IDENTITY(1,1),
НомерПОтягу VARCHAR(10) NOT NULL,
ЧасВідправки TIME NOT NULL,
Дистанція VARCHAR(50) NOT NULL
);

-- Створіть таблицю станцій


CREATE TABLE Станція (
СтанціяID INT PRIMARY KEY IDENTITY(1,1),
ІмяСТанції VARCHAR(50) NOT NULL,
Локація VARCHAR(100) NOT NULL
);

-- Створіть таблицю маршрутів


CREATE TABLE Маршут (
МаршутID INT PRIMARY KEY IDENTITY(1,1),
ПоїздID INT NOT NULL,
СтанціяID INT NOT NULL,
Стопзамовлення INT NOT NULL,
FOREIGN KEY (ПоїздID) REFERENCES Потяги (ПоїздID),
FOREIGN KEY (СтанціяID) REFERENCES Станція (СтанціяID)
);

-- Створіть таблицю Пасажири


CREATE TABLE Пасажири (
ПасажирID INT PRIMARY KEY IDENTITY(1,1),
Призвіще VARCHAR(50) NOT NULL,
Імя VARCHAR(50) NOT NULL,
Почта VARCHAR(100) NOT NULL,
Номер VARCHAR(20) NOT NULL
);

-- Створіть таблицю Продаж Квитків


CREATE TABLE ПродажКвитків (
КвитокID INT PRIMARY KEY IDENTITY(1,1),
ПасажирID INT NOT NULL,
ПоїздID INT NOT NULL,
СтанціяВідправленняID INT NOT NULL,
СтанціяПрибуттяID INT NOT NULL,
ДатаПродажу DATE NOT NULL,
FOREIGN KEY (ПасажирID) REFERENCES Пасажири (ПасажирID),
FOREIGN KEY (ПоїздID) REFERENCES Потяги (ПоїздID),
FOREIGN KEY (СтанціяВідправленняID) REFERENCES Станція (СтанціяID),
FOREIGN KEY (СтанціяПрибуттяID) REFERENCES Станція (СтанціяID)
);
-- Створіть таблицю Ціна Квитків
CREATE TABLE Ціна_Квитків (
ЦінаID INT PRIMARY KEY IDENTITY(1,1),
ПоїздID INT NOT NULL,
СтанціяID INT NOT NULL,
Ціна FLOAT NOT NULL,

37
FOREIGN KEY (ПоїздID) REFERENCES Потяги (ПоїздID),
FOREIGN KEY (СтанціяID) REFERENCES Станція (СтанціяID)
);

USE Залізнична_Каса

UPDATE Потяги
SET ЧасВідправки = '08:30:00'
WHERE НомерПОтягу = '001';

UPDATE Потяги
SET Дистанція = 'Харків'
WHERE НомерПОтягу = '002';

UPDATE Станція
SET Локація = 'Львів'
WHERE ІмяСТанції = 'Київ';

UPDATE Станція
SET ІмяСТанції = 'Київ'
WHERE Локація = 'Харків';

UPDATE Маршут
SET СТопзамовлення = 4
WHERE ПоїздID = 1 AND СтанціяID = 3;
USE Залізнична_Каса

SELECT *
FROM Потяги
WHERE НомерПОтягу = '001';

SELECT НомерПОтягу, Дистанція


FROM Потяги;

SELECT НомерПОтягу, Дистанція


FROM Потяги
WHERE Дистанція = 'Харків';

SELECT *
FROM Станція
WHERE ІмяСТанції = 'Вокзальна';

SELECT StationName, Location


FROM Stations;

SELECT *
FROM Маршут;

SELECT ПоїздID, СтанціяID


FROM Маршут;

SELECT ПоїздID, СтанціяID, Стопзамовлення


FROM Маршут
WHERE ПоїздID = 2;

38
SELECT *
FROM Пасажири
WHERE Призвіще = 'Онопрієнко' AND Імя = 'Анна';

SELECT Призвіще, Імя, Почта


FROM Пасажири;

SELECT Призвіще, Імя, Номер


FROM Пасажири
WHERE Номер LIKE '3809%';

SELECT *
FROM ПродажКвитків
WHERE ПасажирID = 1 AND ПоїздID = 1;

SELECT ПасажирID, ПоїздID


FROM ПродажКвитків;

SELECT ПасажирID, ПоїздID, ДатаПродажу


FROM ПродажКвитків
WHERE ДатаПродажу = '2023-02-14';
USE Залізнична_Каса
--Запит на вибірку з використанням «DISTINCT»:
SELECT DISTINCT ІмяСТанції FROM Станція;
--Запит з функцією «min» або «max»:
SELECT MAX(Ціна) FROM Ціна_Квитків;
--Запит з функцією «sum» або «avg»:
SELECT AVG(Ціна) FROM Ціна_Квитків WHERE ПоїздID=1;
--Запит з функцією «count»:
SELECT COUNT(*) FROM Потяги;
--Запит на вибірку з використанням агрегатної функції і виведенням ще
декількох полів:
SELECT ПоїздID, AVG(Ціна) FROM Ціна_Квитків GROUP BY ПоїздID;
--Запит на вибірку з використанням агрегатної функції і умовою на вибірку
поля:
SELECT ПоїздID, AVG(Ціна) FROM Ціна_Квитків WHERE Ціна > 50 GROUP BY
ПоїздID;
--Запит на вибірку з використанням агрегатної функції і умовою на агрегатну
функцію:
SELECT ПоїздID, AVG(Ціна) FROM Ціна_Квитків GROUP BY ПоїздID HAVING
AVG(Ціна) > 50;
--Використання Having
SELECT ПоїздID, AVG(Ціна) as Середня_ціна
FROM Ціна_Квитків
GROUP BY ПоїздID
HAVING AVG(Ціна) > 50
ORDER BY Середня_ціна DESC;
--Використання Right join
SELECT ПродажКвитків.КвитокID, Пасажири.Імя, Пасажири.Призвіще
FROM ПродажКвитків
RIGHT JOIN Пасажири ON ПродажКвитків.ПасажирID = Пасажири.ПасажирID;

39

You might also like