ER diagrammasi uchun standart yozuvlar mavjud emas. Yozuvda katta moslashuvchanlik mavjud. Hammasi dizaynerga, uni qanday chizishiga bog'liq.
Bu yuqori darajadagi dizaynlar uchun mo'ljallangan. Kodlash kabi past darajadagi dizayni soddalashtira olmaymiz
Ob’ektga yo`naltirilgan ma’lumotlar modellari
Ushbu ma'lumotlar modeli haqiqiy dunyo ob'ektlarini aks ettirishning yana bir usuli hisoblanadi. U dunyodagi har bir ob'ektni ob'ektlar deb hisoblaydi va uni bir-biridan ajratib turadi. U o'zaro bog'liq funktsiyalarni birlashtiradi va uning funksiyasini boshqa tegishli kichik guruhlarga meros qilib olishga imkon beradi.
Ushbu modelni yaxshiroq tushunish uchun Xodimlar ma'lumotlar bazasini ko'rib chiqaylik. Ushbu ma'lumotlar bazasida bizda turli xil xodimlar mavjud - muhandis, buxgalter, menejer, Klark. Ammo bu xodimlarning barchasi Person guruhiga tegishli. Shaxs ism, manzil, yosh va telefon kabi turli xil xususiyatlarga ega bo'lishi mumkin. Agar odamning manzilini va telefon raqamini olishni istasak nima qilamiz? Biz ikkita alohida protsedura yozamiz sp_getAddress va sp_getPhone.
Yuqoridagi barcha xodimlar haqida nima deyish mumkin? Ularda ham insonda mavjud bo'lgan barcha xususiyatlar mavjud. Bundan tashqari, ular tashkilot va ularning bo'limida ularni aniqlash uchun o'zlarining EMPLOYEE_ID, EMPLOYEE_TYPE va DEPARTMENT_ID xususiyatlariga ega. Biz ularning bo'lim ma'lumotlarini olishimiz kerak va shuning uchun biz protsedura sp_getDeptDetails. Hozirda bizda aynan shu atributlar va funksiyalar bo'lishi kerak, deb ayting.
Barcha xodimlar Shaxsning xususiyatlari va funktsional xususiyatlarini meros qilib olganligi sababli, biz ushbu xususiyatlardan Xodimda qayta foydalanishimiz mumkin. Ammo buni qilamizmi? Biz shaxsning xususiyatlarini sinfga birlashtiramiz. Shuning uchun sinf barcha atributlar va funktsiyalarga ega. Masalan, biz shaxslar sinfini yaratamiz va uning nomi, manzili, yoshi va telefoni atributi bo'lib, sp_getAddress va sp_getPhone protseduralari bo'ladi. Ushbu atributlar uchun istalgan vaqtdagi qiymatlar ob'ektdir. ya'ni; {Jon, Troy, 25, 2453545: shaxs ob'ektida sp_getAddress (John), sp_getPhone (John)} shakllari. {Mathew, Fraser Town, 28, 5645677: sp_getAddress (Mathew), sp_getPhone (Mathew}) boshqa shaxs ob'ektini tashkil qiladi.
Endi biz Person sinfining barcha funktsiyalarini meros qilib oladigan yana bir xodimni yaratamiz. Bundan tashqari, unda EMPLOYEE_ID, EMPLOYEE_TYPE va DEPARTMENT_ID atributlari va sp_getDeptDetails protseduralari bo'ladi. Xodimlar sinfining turli xil ob'ektlari: muhandis, buxgalter, menejer va xizmatchi.
Bu erda Shaxsning xususiyatlari unga boshqa sinf meros qolgan taqdirdagina mavjud bo'lishini kuzatishimiz mumkin. Bu boshqa sinflarga qora quti bo'ladi. Ushbu modelning ushbu xususiyati inkapsulyatsiya deb ataladi. U bir sinfdagi xususiyatlarni bog'laydi va boshqa sinflardan yashiradi. U faqat uning ob'ektlariga va meros qilib olingan sinflarga ko'rinadi.
Do'stlaringiz bilan baham: |