https://github.com/viktorsvertoka/goit-rdb-fp
Home task for Relational Databases: SQL course🗄️
https://github.com/viktorsvertoka/goit-rdb-fp
goit goit-rdb-fp sql workbench
Last synced: 4 months ago
JSON representation
Home task for Relational Databases: SQL course🗄️
- Host: GitHub
- URL: https://github.com/viktorsvertoka/goit-rdb-fp
- Owner: ViktorSvertoka
- Created: 2024-04-11T19:50:15.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T11:56:58.000Z (about 2 years ago)
- Last Synced: 2025-10-22T02:58:10.150Z (8 months ago)
- Topics: goit, goit-rdb-fp, sql, workbench
- Homepage:
- Size: 3.53 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Покрокова інструкція виконання фінального проєкту
### Підготовка та завантаження фінального проєкту
1. Створіть публічний репозиторій `goit-rdb-fp`.
2. Виконайте завдання та відправте у свій репозиторій скриншоти створених таблиць, запитів і результатів, а також текст SQL-коду в текстовому файлі.
3. Завантажте скриншоти і текстовий файл на свій комп’ютер та прикріпіть їх в LMS архівом. Назва архіву повинна бути у форматі ФП_ПІБ.
4. Прикріпіть посилання на репозиторій `goit-rdb-fp` та відправте на перевірку.
### Формат здачі
- Прикріплені файли репозиторію архівом із назвою ФП_ПІБ.
- Посилання на репозиторій.
### Формат оцінювання
Оцінка від 0 до 100.
- Завдання 1 оцінюється в 10 балів.
- Завдання 2 оцінюється в 30 балів.
- Завдання 3 оцінюється у 20 балів.
- Завдання 4 оцінюється у 20 балів.
- Завдання 5 оцінюється у 20 балів.
> [!TIP]
> Якщо є помилки або недоліки виконання, кількість балів на кожному етапі зменшується пропорційно наявних помилок на розсуд ментора.
## Опис фінального проєкту
1. Завантажте дані:
- Створіть схему pandemic у базі даних за допомогою SQL-команди.
- Оберіть її як схему за замовчуванням за допомогою SQL-команди.
- Імпортуйте [**дані**](https://drive.google.com/file/d/1lHEXJvu2omYRgvSek6mHq-iQ3RmGAQ7e/view) за допомогою Import wizard так, як ви вже робили це у темі 3.
[**infectious_cases.csv**](https://prod-files-secure.s3.us-west-2.amazonaws.com/89fec302-e51c-45d8-a968-db8bdab456d2/74d1694c-7c06-403a-b8fa-301608033701/infectious_cases.csv)
- Продивіться дані, щоб бути у контексті.
> [!TIP]
> Як бачите, атрибути Entity та Code постійно повторюються. Позбудьтеся цього за допомогою нормалізації даних.
2. Нормалізуйте таблицю infectious_cases. Збережіть у цій же схемі дві таблиці з нормалізованими даними.
3. Проаналізуйте дані:
- Для кожної унікальної комбінації Entity та Code або їх id порахуйте середнє, мінімальне, максимальне значення та суму для атрибута Number_rabies.
> [!TIP]
> Врахуйте, що атрибут Number_rabies може містити порожні значення ‘’ — вам попередньо необхідно їх відфільтрувати.
- Результат відсортуйте за порахованим середнім значенням у порядку спадання.
- Оберіть тільки 10 рядків для виведення на екран.
4. Побудуйте колонку різниці в роках.
Для оригінальної або нормованої таблиці для колонки Year побудуйте з використанням вбудованих SQL-функцій:
- атрибут, що створює дату першого січня відповідного року,
> [!TIP]
> Наприклад, якщо атрибут містить значення ’1996’, то значення нового атрибута має бути ‘1996-01-01’.
- атрибут, що дорівнює поточній даті,
- атрибут, що дорівнює різниці в роках двох вищезгаданих колонок.
> [!TIP]
> Перераховувати всі інші атрибути, такі як Number_malaria, не потрібно.
👉🏼 Для пошуку необхідних вбудованих функцій вам може знадобитися матеріал до теми 7.
5. Побудуйте власну функцію.
- Створіть і використайте функцію, що будує такий же атрибут, як і в попередньому завданні: функція має приймати на вхід значення року, а повертати різницю в роках між поточною датою та датою, створеною з атрибута року (1996 рік → ‘1996-01-01’).
> [!TIP]
> Якщо ви не виконали попереднє завдання, то можете побудувати іншу функцію — функцію, що рахує кількість захворювань за певний період. Для цього треба поділити кількість захворювань на рік на певне число: 12 — для отримання середньої кількості захворювань на місяць, 4 — на квартал або 2 — на півріччя. Таким чином, функція буде приймати два параметри: кількість захворювань на рік та довільний дільник. Ви також маєте використати її — запустити на даних. Оскільки не всі рядки містять число захворювань, вам необхідно буде відсіяти ті, що не мають чисельного значення (≠ ‘’).
## Критерії прийняття фінального проєкту
1. Прикріплені посилання на репозиторій goit-rdb-fp та безпосередньо самі файли репозиторію архівом.
2. Створено схему в базі даних. Імпортовано дані.
3. Таблицю нормалізовано.
4. Правильно написано SQL-запити відповідно до заданих умов виконання. Запити виконуються й дають очікуваний результат, а саме:
- середнє, мінімальне, максимальне значення та суму для атрибута Number_rabies. Виведення відбувається згідно із зазначеними вище вимогами за сортуванням та кількістю рядків;
- колонку різниці в роках за допомогою вбудованих SQL-функцій;
- функцію розрахунку різниці в роках або кількості захворювань за певний період. Функція повертає необхідні дані.
### Результат виконаного ДЗ






