SQL ER-model va baza dizayni

Yaxshi baza kod yozishdan oldin qog’ozda rejalashtiriladi: qanday jadvallar bo’ladi va ular qanday bog’lanadi? Bu rejani chizishning eng keng tarqalgan usuli — ER-model. Bu darsda baza dizaynining asosini ko’ramiz.

ER-model nima

ER-model (Entity–Relationship — “obyekt–bog’lanish”) — bazani jadvallar va ular orasidagi aloqalar ko’rinishida chizadigan sxema. Ikki asosiy tushuncha:

  • Entity (obyekt) — real narsa, u jadvalga aylanadi: mijoz, mahsulot.
  • Relationship (bog’lanish) — jadvallar o’rtasidagi aloqa: mijoz buyurtma beradi.

Namuna bazamiz aynan shunday loyihalangan: uchta entity (mijozlar, mahsulotlar, buyurtmalar) va ular orasidagi bog’lanishlar.

Bir-ko’p munosabati

Eng ko’p uchraydigan bog’lanish — bir-ko’p (one-to-many): bir mijoz ko’p buyurtma beradi, lekin har buyurtma bitta mijozga tegishli.

Bu munosabat foreign key bilan quriladi: buyurtmalar.mijoz_idmijozlar.id ga ishora qiladi. “Ko’p” tomondagi jadval (buyurtmalar) “bir” tomonga (mijozlar) kalit orqali bog’lanadi.

Dizayn tartibi

Baza qurishdan oldin quyidagi bosqichlar foydali:

  1. Entity’larni aniqlang — qanday asosiy narsalar bor (mijoz, mahsulot)?
  2. Har entity atributlarini yozing — mijozning ismi, shahri, yoshi.
  3. Bog’lanishlarni belgilang — kim kim bilan bog’liq?
  4. Normallashtiringtakrorni yo’qoting.
  5. Keyin CREATE TABLE bilan quring.

Jonli namuna

O’zingiz ishga tushirib ko’ring — so’rovni tahrirlashingiz ham mumkin:

SQL · namuna baza

Amaliy mashq

Bog’lanishlarni chizing:

  1. LEFT JOIN bilan har mijozning buyurtmalar sonini chiqaring;
  2. hech narsa buyurtma qilmagan mijozni toping;
  3. bitta mijoz nechta buyurtma qila oladi — bir yoki ko’pmi?
  4. bitta buyurtmada nechta mijoz bo’ladi?
  5. qog’ozda uch jadvalni to’rtburchak qilib chizing va oralarini chiziq bilan bog’lang.

3 va 4-qadam javoblari “bir-ko’p” munosabatini tavsiflaydi.

Qisqacha xulosa

  • ER-model — bazani entity va bog’lanishlar ko’rinishida chizadigan reja.
  • Entity — jadvalga aylanadigan narsa; relationship — ular orasidagi aloqa.
  • Bir-ko’p — eng keng tarqalgan munosabat, foreign key bilan quriladi.
  • Dizayn tartibi: entity → atribut → bog’lanish → normalizatsiya → qurish.
  • Avval rejalashtiring, keyin CREATE TABLE yozing.

Bu bilan SQL bo’limining asosiy darslarini yakunladik. Keyingi qadam — bilimni mustahkamlash uchun mashqlar va takrorlash.

Bu dars foydali bo'ldimi?

marta ko'rildi