Bicycle Sales Database" (База даних продажу велосипедів)
https://www.sqlservertutorial.net/getting-started/sql-server-sample-database/
https://www.kaggle.com/datasets/dillonmyrick/bike-store-sample-database/data?select=stocks.csv
📊 Загальна інформація
Джерело: Microsoft SQL Server Database
Тип: Реальні дані про виробництво та продаж велосипедів
Призначення: Аналіз продажів велосипедної мережі магазинів
🗂️ Структура бази даних
База даних складається з двох схем:
1️⃣ Схема sales (Продажі)
sales (Продажі)Містить інформацію про:
- Клієнтів (customers) - база покупців
- Замовлення (orders) - історія замовлень
- Позиції замовлень (order_items) - деталі кожного замовлення
- Персонал (staffs) - співробітники
- Магазини (stores) - мережа точок продажу
2️⃣ Схема production (Виробництво)
production (Виробництво)Містить інформацію про:
- Продукти (products) - каталог велосипедів
- Категорії (categories) - типи велосипедів (Mountain, Road, Hybrid, Electric, Kids)
- Бренди (brands) - виробники
- Залишки (stocks) - товарні запаси по магазинах
📋 Опис таблиць
| # | Назва таблиці | Опис | Схема |
|---|---|---|---|
| 0 | categories | Категорії велосипедів | production |
| 1 | brands | Бренди виробників | production |
| 2 | products | Каталог продуктів (велосипеди) | production |
| 3 | customers | База клієнтів | sales |
| 4 | stores | Мережа магазинів | sales |
| 5 | staffs | Персонал магазинів | sales |
| 6 | orders | Замовлення клієнтів | sales |
| 7 | order_items | Позиції в замовленнях | sales |
| 8 | stocks | Товарні залишки | production |
Bicycle Sales Database - це повноцінна база даних для:
- 📊 Вивчення SQL та аналізу даних
- 💼 Розробки бізнес-рішень
- 📈 Створення дашбордів та звітів
- 🎓 Навчання та практики data analysis
🔗 Зв'язки між таблицями
production.categories (1) ←→ (M) production.products production.brands (1) ←→ (M) production.products production.products (1) ←→ (M) production.stocks production.products (1) ←→ (M) sales.order_items sales.stores (1) ←→ (M) sales.staffs sales.stores (1) ←→ (M) sales.orders sales.stores (1) ←→ (M) production.stocks sales.customers (1) ←→ (M) sales.orders sales.staffs (1) ←→ (M) sales.orders sales.orders (1) ←→ (M) sales.order_items
🚴 Прості SQL запити до бази Bicycle Sales (схеми production та sales)
Що ми вивчаємо?
ЧАСТИНА 1: Запити до однієї таблиці
✅ SELECT — вибірка даних
✅ WHERE — фільтрація
✅ ORDER BY — сортування
✅ LIMIT — обмеження кількості
✅ LIKE — пошук за текстом
✅ BETWEEN — діапазон значень
✅ COUNT, SUM, AVG, MIN, MAX — агрегація
✅ GROUP BY — групування
✅ DISTINCT — унікальні значення
ЧАСТИНА 2: JOIN (об'єднання таблиць)
✅ INNER JOIN — об'єднання двох таблиць
✅ Множинні JOIN — 3-5 таблиць
✅ Агрегація з JOIN
✅ Псевдоніми таблиць (p, b, c)
✅ Конкатенація тексту (||)
📋 ЧАСТИНА 1: Запити до ОДНІЄЇ таблиці
🏭 СХЕМА production - Запити до окремих таблиць
production - Запити до окремих таблицьТаблиця: production.products (Товари)
Приклад 1: Вибрати ВСІ товари
-- Показати всі велосипеди SELECT * FROM production.products;
-- Показати всі велосипеди
SELECT *
FROM production.products;Приклад 2: Вибрати КОНКРЕТНІ колонки
-- Показати тільки назву та ціну SELECT product_name, list_price FROM production.products;
-- Показати тільки назву та ціну
SELECT
product_name,
list_price
FROM production.products;Приклад 3: Фільтрація за умовою (WHERE)
-- Знайти велосипеди дешевші за $500 SELECT product_name, list_price FROM production.products WHERE list_price < 500;
-- Знайти велосипеди дешевші за $500
SELECT
product_name,
list_price
FROM production.products
WHERE list_price < 500;Приклад 4: Фільтрація за діапазоном (BETWEEN)
-- Велосипеди від $500 до $1000 SELECT product_name, list_price FROM production.products WHERE list_price BETWEEN 500 AND 1000 ORDER BY list_price;
SELECT
product_name,
list_price
FROM production.products
WHERE list_price BETWEEN 500 AND 1000
ORDER BY list_price;