https://github.com/ynazymko12/goit-rdb-fp
Home task for Relational Databases: Фінальний проєкт
https://github.com/ynazymko12/goit-rdb-fp
mysql sql
Last synced: 11 months ago
JSON representation
Home task for Relational Databases: Фінальний проєкт
- Host: GitHub
- URL: https://github.com/ynazymko12/goit-rdb-fp
- Owner: YNazymko12
- Created: 2024-04-15T16:52:45.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-20T16:10:36.000Z (about 2 years ago)
- Last Synced: 2025-03-30T11:16:16.932Z (about 1 year ago)
- Topics: mysql, sql
- Homepage:
- Size: 13.4 MB
- Stars: 0
- 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-функцій;
- функцію розрахунку різниці в роках або кількості захворювань за певний період.
Функція повертає необхідні дані.