Mullaboyev OmoN.
Experience:
Oracle developer: since 2003
Oracle DBA: 2005-2007
Java (core) developer: since 2005
Current time: Oracle Developer, Java Developer, Database Designer
MUNDARIJA
Ma’lumotlar bazasi - nima?
RDBMS qanday ishlaydi, nima uchun ishlatiladi?
MBni nima uchun o`rganish kerak?
MBdagi asosiy ob’yektlar.
MB bilan ishlashda keng tarqalgan xatolar.
MB bilan ishlash uchun tavsiyalar.
1) Ma’lumotlar bazasi nima?
MB bu ma’lumotlarni tartibli holda saqlanishi.
Masalan:
Kutubxonadagi kitoblarni topish oson bo’lishi uchun mualliflar familiyasi va mavzulari bo’yicha polkalarga terishadi. Xuddi shu kabi ma’lumotlar ham ma’lumotlar bazasida topish oson bo’lishi uchun tartibli xolda saqlanadi.
MA’LUMOT NIMA?
MAKTAB O’quvchilar
O`qituvchilar
Sinflar
Fanlar
To’garaklar
Akbarov
Boboyev
Dadayev
Jamolov
Nuriddinov
Olimov
Aliyeva
Valiyeva
Salimova
Karimova
1 A
1 B
2 A
2 B
3 A
3 B
Matematika
Ona tili
O`qish
Ingliz tili
Rus Tili
Futbol
Basketbol
Volleybol
Tennis
2) RDBMS nima?
Inserting
Updating
Deleting
Authorize
Management System
Relational DataBase Management System Aloqali (bog’liqli) Ma’lumotlar Bazasi(ombori)ni Boshqarish Tizimi
R – Aloqa (bog’liqlik)
MAKTAB O’quvchilar
O`qituvchilar
Sinflar
Fanlar
To’garaklar
Akbarov
Boboyev
Dadayev
Jamolov
Nuriddinov
Olimov
Aliyeva
Valiyeva
Salimova
Karimova
1 A
1 B
2 A
2 B
3 A
3 B
Matematika
Ona tili
O`qish
Ingliz tili
Rus Tili
Futbol
Basketbol
Volleybol
Tennis
O’quvchining sinf rahbari kim?
R – Aloqa (bo’g’liqlik) turlari
ALOQA TURLARI:
Birga bir (one to one)
Birga ko`p (one to many), ko`pga bir (many to one)
Ko`pga ko`p (many to many)
Birga bir (one to one)
Birga ko`p (ko’pga bir)
Ko`pga ko`p
Ko’pga ko’p aloqa uchun 3 ta jadval kerak bo`ladi
3) MB ni nima uchun o`rganish kerak?
MA’LUMOTLAR BAZASI
BACK END
FRONT END
Foydalanuvchilar Load balancer (nginx) App.Server
#1
App.Server
#2
App.Server
#3
DataBase Server
ER (Entity relationship) Diagram Mohiyat-aloqa diagrammasi
4) MB ning asosiy ob’yektlari
1) Jadval (table)
- Maydon (field/поля)
2) Kalitlar (keys)
- Primary key
- Foreign key
- Unique key
3) Mundarija (index)
4) Trigger (BI, BU, BD, AI, AU, AD)
5) Check
Primary key (asosiy kalit)
NULL qiymat bo’lishi mumkin emas
Bitta jadvalda takrorlanishi mumkin emas
Jadvalda faqatgina bitta PK bo’lishi mumkin
Boshqa jadvallarda Foreign key (tashqi kalit) sifatida ishlatilishi mumkin
Primary Key
Foreign key (tashqi kalit)
Faqatgina boshqa jadvaldaning Primary key maydonidagi qiymatni qabul qiladi
NULL qiymat bo’lishi mumkin
Jadvalda istalgancha Foreign Key bo’lishi mumkin
Takrorlanishi mumkin
ERROR
Unique key (takrorlanmas kalit)
NULL bo’lishi mumkin
Qiymatlari takrorlanishi mumkin emas
Jadvalda istalgancha Unique key bo’lishi mumkin
Boshqa jadvalda Foreign key sifatida ishlatilishi mumkin emas
Primary key
Foreign key
Unique key
Indexlar (Mundarija)
KALIT (key) va ISHORA/KO’RSATKICH (Pointer, Указатель) juftligi
Kalit: Jadvaldagi bir yoki bir nechta maydonlar qiymati
Ishora: Kalitga mos keluvchi jadvaldagi yozuvlarga ishora/ko’rsatkich
Paymants (To’lovlar) jadvali
Indekslanuvchi maydonlar
Currency (valyuta) bo’yicha
Trunc(Date) bo’yicha
Status bo’yicha
5) MB bilan ishlashda keng tarqalgan xatolar
1) Indexlar – haddan ziyod ko`p yoki kerakli joyda yo`q
2) Triggerlar – biznes logikaning bir qismi triggerlarda, yoki sequence o`rniga triggerda Id hisoblash.
3) Record (yozuv)ni – kerak bo`lmagan holda bloklash yoki kerak paytda bloklamaslik
4)Connection(bog`lanish)ni tejamasdan ishlatish
6) MB bilan ishlashda tavsiyalar
MB strukturasini qo`yilgan vazifaga ko`ra shoshilmay tuzing
Connection pooldan unumli foydalaning. Eng qimmatli operatsiya bu MBga ulanish operatsiyasidir.
Normal Formalarga amal qiling
Triggerlarda judayam “aqlli” kod yozmang
Back End useriga jadvallarga full access uchun grant bermang
Ob’yektlarga tushunarli nom bering
Indexlar yaratayotganda o`ylab yarating. Masalan sana toifali maydon bo`yicha index yaratish kerak bo`lsa albatta trunc (yaxlitlash) orqali yarating, agar VARCHAR maydoni bo`yicha indexlash kerak bo`lsa UPPER yoki LOWER qilish esdan chiqmasin.