Оскільки ти вже все знаєш і вмієш, настав час спробувати свої знання на реальному проєкті. Зазвичай бази даних реальних проєктів діляться на:
- маленькі — до 100 таблиць
- середні — 100-1000 таблиць
- великі — від 1000 таблиць.
Без досвіду важко уявити, навіщо потрібно 100+ таблиць. Тому сьогодні я дам тобі таку можливість :)
Я дам тобі реалістичну реляційну базу даних для e-commerce платформи (Marketplace). База розбита на схеми, кожна з яких відповідає за певну предметну область: користувачі, товари, замовлення, логістика, маркетинг, підтримка тощо.
Проєкт складається з 109 таблиць, розбитих по 11 схемах. Кожна таблиця має зовнішні ключі, а також підготовлена до розширення за допомогою довідників і системних таблиць.
Структура бази даних
Схема user — Користувачі та активність
Схема user містить таблиці акаунтів, профілів, контактної інформації, логів входу, відгуків і соціальних зв'язків.
Приклади таблиць:
account— дані реєстраціїprofile— особиста інформаціяreview,comment— відгуки та коментарі
Схема product — Товари та каталог
Схема product містить описи товарів, їх варіантів, атрибутів, зображень, статусів і історії змін.
Приклади таблиць:
product,variant— товари та модифікаціїattribute,tag— характеристики та тегиsupplier,composition— виробники та склад
Схема order — Замовлення та кошики
Містить механізм оформлення та відстеження замовлень, статусів, повернень і оплат.
Приклади таблиць:
order,order_itemstatus_log,return,cancellationinvoice,discount
Схема logistics — Склади, доставка, маршрути
Управління складськими запасами, переміщеннями, доставками та маршрутами.
Приклади таблиць:
warehouse,inventory,transfershipping_method,packagedriver,carrier,route
Схема payment — Платежі та транзакції
Зберігає інформацію про платіжні системи, транзакції, гаманці та повернення.
Приклади таблиць:
payment,transaction,refundwallet,wallet_transactiongateway,method
Схема marketing — Акції та реклама
Містить таблиці промокодів, банерів, реферальних програм і виділених товарів.
Приклади таблиць:
campaign,promo_code,discountreferral_program,featured_product
Схема support — Технічна підтримка
Система тікетів, повідомлень, статусів і відгуків на підтримку.
Приклади таблиць:
ticket,ticket_message,ticket_statusagent,feedback
Схема analytics — Метрики та поведінка
Відстеження сесій, дій користувачів, конверсій і метрик.
Приклади таблиць:
event,session,click,page_viewgoal,metric_snapshot
Схема admin — Адміністрування та керування
Таблиці адміністраторів, ролей, журналів аудиту та системних налаштувань.
Приклади таблиць:
admin,admin_roleaudit_log,setting,api_token
Схема content — Статичні сторінки та блоки
Контент для CMS: сторінки, меню, переклади та версії.
Приклади таблиць:
page,block,menu,translation,version
Схема ref — Довідники та мета-таблиці
Типи, статуси, країни, причини повернення тощо.
Приклади таблиць:
country,currency,status,payment_statusrefund_reason,inventory_change_reason
Створення таблиць
Щоб полегшити тобі життя, я дам готові скрипти для створення всіх таблиць бази даних.
Тобі потрібно буде просто скачати SQL-скрипт з кодом і запустити його.
- Створіть порожню базу даних у PostgreSQL.
- Завантажте схему.
- Імпортуйте структуру бази даних:
psql -U postgres -d marketplace_db < init_schema.sql
Завантаження даних
Також дані для всіх таблиць.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ