Skip to content
Spinner
Unknown table
Spinner
Unknown table

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 (Продажі)

Містить інформацію про:

  • Клієнтів (customers) - база покупців
  • Замовлення (orders) - історія замовлень
  • Позиції замовлень (order_items) - деталі кожного замовлення
  • Персонал (staffs) - співробітники
  • Магазини (stores) - мережа точок продажу

2️⃣ Схема production (Виробництво)

Містить інформацію про:

  • Продукти (products) - каталог велосипедів
  • Категорії (categories) - типи велосипедів (Mountain, Road, Hybrid, Electric, Kids)
  • Бренди (brands) - виробники
  • Залишки (stocks) - товарні запаси по магазинах

📋 Опис таблиць

#Назва таблиціОписСхема
0categoriesКатегорії велосипедівproduction
1brandsБренди виробниківproduction
2productsКаталог продуктів (велосипеди)production
3customersБаза клієнтівsales
4storesМережа магазинівsales
5staffsПерсонал магазинівsales
6ordersЗамовлення клієнтівsales
7order_itemsПозиції в замовленняхsales
8stocksТоварні залишки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
Spinner
Unknown table

🚴 Прості 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.products (Товари)

Приклад 1: Вибрати ВСІ товари
-- Показати всі велосипеди SELECT * FROM production.products;
Spinner
DataFrameas
df33
variable
Spinner
DataFrameas
df2
variable
-- Показати всі велосипеди
SELECT * 
FROM production.products;
Приклад 2: Вибрати КОНКРЕТНІ колонки
-- Показати тільки назву та ціну SELECT product_name, list_price FROM production.products;
Spinner
DataFrameas
df3
variable
-- Показати тільки назву та ціну
SELECT 
    product_name,
    list_price
FROM production.products;
Приклад 3: Фільтрація за умовою (WHERE)
-- Знайти велосипеди дешевші за $500 SELECT product_name, list_price FROM production.products WHERE list_price < 500;
Spinner
DataFrameas
df5
variable
-- Знайти велосипеди дешевші за $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;
Spinner
DataFrameas
df6
variable
SELECT 
    product_name,
    list_price
FROM production.products
WHERE list_price BETWEEN 500 AND 1000
ORDER BY list_price;