CodeGym /Kurslar /SQL SELF /Marketplace Database Architecture

Marketplace Database Architecture

SQL SELF
Səviyyə , Dərs
Mövcuddur

Marketplace Database Architecture

Artıq hər şeyi bildiyinə və bacardığına görə, real bir layihədə biliklərini yoxlamağın vaxtıdır. Adətən real layihələrin database-ləri belə bölünür:

  • kiçik - 100 cədvələ qədər
  • orta - 100-1000 cədvəl
  • böyük - 1000-dən çox cədvəl.

Təcrübə olmadan, 100+ cədvələ niyə ehtiyac olduğunu təsəvvür etmək çətindir. Ona görə də bu gün sənə belə bir imkan verəcəm :)

Sənə e-commerce platforması üçün realistik relasional database (Marketplace) verəcəm. Database sxemlərə bölünüb, hər biri müəyyən mövzu sahəsinə cavabdehdir: istifadəçilər, məhsullar, sifarişlər, logistika, marketinq, dəstək və s.

Layihə 109 cədvəldən ibarətdir və 11 sxemə bölünüb. Hər cədvəl xarici açarlarla təmin olunub və referans cədvəllər və sistem cədvəlləri ilə genişlənməyə hazırdır.

Database strukturu

user sxemi — İstifadəçilər və aktivlik

user sxemi hesablar, profillər, əlaqə məlumatları, giriş logları, rəylər və sosial əlaqələr üçün cədvəlləri saxlayır.

Cədvəl nümunələri:

  • account — qeydiyyat məlumatları
  • profile — şəxsi məlumatlar
  • review, comment — rəylər və şərhlər

product sxemi — Məhsullar və kataloq

product sxemi məhsulların təsvirləri, variantları, atributları, şəkilləri, statusları və dəyişiklik tarixçəsini saxlayır.

Cədvəl nümunələri:

  • product, variant — məhsullar və modifikasiyalar
  • attribute, tag — xüsusiyyətlər və teqlər
  • supplier, composition — istehsalçılar və tərkib

order sxemi — Sifarişlər və səbətlər

Sifarişlərin yaradılması və izlənməsi, statuslar, geri qaytarmalar və ödənişlər mexanizmini saxlayır.

Cədvəl nümunələri:

  • order, order_item
  • status_log, return, cancellation
  • invoice, discount

logistics sxemi — Anbarlar, çatdırılma, marşrutlar

Anbar ehtiyatlarının idarə olunması, hərəkətlər, çatdırılmalar və marşrutlar.

Cədvəl nümunələri:

  • warehouse, inventory, transfer
  • shipping_method, package
  • driver, carrier, route

payment sxemi — Ödənişlər və tranzaksiyalar

Ödəniş sistemləri, tranzaksiyalar, pul kisələri və geri qaytarmalar haqqında məlumatları saxlayır.

Cədvəl nümunələri:

  • payment, transaction, refund
  • wallet, wallet_transaction
  • gateway, method

marketing sxemi — Kampaniyalar və reklam

Promo kodlar, bannerlər, referal proqramlar və seçilmiş məhsullar üçün cədvəllər saxlayır.

Cədvəl nümunələri:

  • campaign, promo_code, discount
  • referral_program, featured_product

support sxemi — Texniki dəstək

Bilet sistemi, mesajlar, statuslar və dəstəyə rəy cədvəlləri.

Cədvəl nümunələri:

  • ticket, ticket_message, ticket_status
  • agent, feedback

analytics sxemi — Metrikalar və istifadəçi davranışı

Session-ların, istifadəçi hərəkətlərinin, konversiyaların və metrikaların izlənməsi.

Cədvəl nümunələri:

  • event, session, click, page_view
  • goal, metric_snapshot

admin sxemi — Adminstrasiya və idarəetmə

Adminlər, rollar, audit jurnalları və sistem ayarları üçün cədvəllər.

Cədvəl nümunələri:

  • admin, admin_role
  • audit_log, setting, api_token

content sxemi — Statik səhifələr və bloklar

CMS üçün kontent: səhifələr, menyu, tərcümələr və versiyalar.

Cədvəl nümunələri:

  • page, block, menu, translation, version

ref sxemi — Referanslar və meta-cədvəllər

Tip, status, ölkələr, geri qaytarma səbəbləri və s.

Cədvəl nümunələri:

  • country, currency, status, payment_status
  • refund_reason, inventory_change_reason

Cədvəllərin yaradılması

İşini asanlaşdırmaq üçün sənə bütün database cədvəllərini yaratmaq üçün hazır skriptlər verəcəm.

Sən sadəcə SQL-skriptini yükləyib işə salmalısan.

  1. PostgreSQL-də boş bir verilənlər bazası yaradın.
  2. Sxemi yükləyin.
  3. Verilənlər bazasının strukturunu idxal edin:
psql -U postgres -d marketplace_db < init_schema.sql

Məlumatların yüklənməsi

Həmçinin bütün cədvəllər üçün məlumatlar.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION