Ma'lumotlar bazasini loyihalash - Database design

Ma'lumotlar bazasini loyihalash a ga muvofiq ma'lumotlarni tashkil qilishdir ma'lumotlar bazasi modeli. Dizayner qanday ma'lumotlarni saqlash kerakligini va ma'lumotlar elementlari qanday o'zaro bog'liqligini aniqlaydi. Ushbu ma'lumot bilan ular ma'lumotlarni ma'lumotlar bazasi modeliga moslashtira boshlashlari mumkin.[1]Ma'lumotlar bazasini boshqarish tizimi ma'lumotlarni mos ravishda boshqaradi.

Ma'lumotlar bazasini loyihalash ma'lumotlarni tasniflashni va o'zaro bog'liqlikni aniqlashni o'z ichiga oladi. Ma'lumotlarning bu nazariy aks etishi an deb nomlanadi ontologiya. Ontologiya ma'lumotlar bazasini loyihalashtirish nazariyasi.

Saqlanadigan ma'lumotlarni aniqlash

Ko'pgina hollarda, ma'lumotlar bazasini loyihalash bilan shug'ullanadigan shaxs, masalan, ma'lumotlar saqlanadigan domen bo'yicha emas, balki ma'lumotlar bazasini loyihalash sohasida tajribaga ega bo'lgan shaxsdir. moliyaviy ma'lumotlar, biologik ma'lumotlar va hk. Shuning uchun ma'lumotlar bazasida saqlanadigan ma'lumotlar ushbu sohada tajribaga ega bo'lgan va tizimda qanday ma'lumotlarni saqlash kerakligini biladigan shaxs bilan hamkorlikda aniqlanishi kerak.

Ushbu jarayon odatda uning bir qismi deb hisoblanadigan jarayondir talablar tahlili va ma'lumotlar bazasi dizayneridan kerakli ma'lumotni shu ma'lumotlarga ega bo'lish uchun mahorat talab qiladi domen bilimlari. Buning sababi shundaki, zarur bo'lgan domen bilimlariga ega bo'lganlar ma'lumotlar bazasiga bo'lgan talablarini aniq ifoda eta olmaydilar, chunki ular saqlanishi kerak bo'lgan alohida ma'lumotlar elementlari nuqtai nazaridan o'ylashga odatlanmaganlar. Saqlanadigan ma'lumotlar talabning spetsifikatsiyasi bo'yicha aniqlanishi mumkin.[2]

Ma'lumotlarning o'zaro bog'liqligini aniqlash

Ma'lumotlar bazasi dizaynerlari ma'lumotlar bazasida saqlanishi kerak bo'lgan ma'lumotlardan xabardor bo'lgandan so'ng, ular qaramlik qayerda joylashganligini aniqlashlari kerak. Ba'zan ma'lumotlar o'zgartirilganda, siz ko'rinmaydigan boshqa ma'lumotlarni o'zgartirishingiz mumkin. Masalan, ismlar va manzillar ro'yxatida, bir nechta odam bir xil manzilga ega bo'lishi mumkin, ammo bitta odam bir nechta manzilga ega bo'lolmaydigan vaziyatni nazarda tutgan holda, manzil ismga bog'liq. Ism va ro'yxat ko'rsatilganda manzil noyob tarzda aniqlanishi mumkin; ammo, teskari tutilmaydi - manzil va ro'yxat berilganda, ismni aniq aniqlash mumkin emas, chunki bir nechta odam manzilda yashashi mumkin. Manzil nom bilan aniqlanganligi sababli, manzil ismga bog'liq deb hisoblanadi.

(Izoh: Keng tarqalgan noto'g'ri tushuncha, bu munosabat modeli undagi ma'lumotlar elementlari o'rtasidagi munosabatlar bayon etilganligi sababli shunday nomlangan. Bu to'g'ri emas. Relatsion model shunday nomlangan, chunki u ma'lum bo'lgan matematik tuzilmalarga asoslangan munosabatlar.)

Ma'lumotlarni mantiqiy tuzilish

Turli xil ma'lumotlarning o'zaro bog'liqligi va bog'liqligi aniqlangandan so'ng, ma'lumotlarni mantiqiy tuzilishga joylashtirish mumkin, keyinchalik ularni qo'llab-quvvatlaydigan saqlash ob'ektlariga solishtirish mumkin. ma'lumotlar bazasini boshqarish tizimi. Bo'lgan holatda relyatsion ma'lumotlar bazalari saqlash ob'ektlari jadvallar satr va ustunlarda ma'lumotlarni saqlaydigan. In Ob'ektlar ma'lumotlar bazasi saqlash ob'ektlari to'g'ridan-to'g'ri ishlatiladigan ob'ektlarga to'g'ri keladi Ob'ektga yo'naltirilgan dasturlash tili ma'lumotlarni boshqaradigan va ularga kiradigan dasturlarni yozish uchun ishlatiladi. Aloqalar ob'ekt sinflarining atributlari yoki ob'ekt sinflarida ishlaydigan usullar sifatida aniqlanishi mumkin.

Ushbu xaritalashni odatda bajarish usuli shuki, haqiqiy yoki mavhum bo'lsin, bitta ob'ektga bog'liq bo'lgan har bir tegishli ma'lumotlar to'plami jadvalga joylashtiriladi. Ushbu qaram ob'ektlar o'rtasidagi munosabatlar keyinchalik turli xil ob'ektlar orasidagi bog'lanish sifatida saqlanadi.

Har bir jadval mantiqiy ob'ektni amalga oshirishni yoki bir yoki bir nechta mantiqiy ob'ektlarning bir yoki bir nechta nusxalarini qo'shadigan munosabatlarni aks ettirishi mumkin. Keyin jadvallar o'rtasidagi munosabatlar bolalar jadvallarini ota-onalar bilan bog'laydigan bog'lanish sifatida saqlanishi mumkin. Murakkab mantiqiy munosabatlar o'zlari jadvallar bo'lgani uchun, ehtimol ular bir nechta ota-onalarga havolalarga ega bo'lishadi.

ER diagrammasi (shaxs bilan munosabatlar modeli)

Namunaviy shaxs-munosabatlar diagrammasi

Ma'lumotlar bazasi dizaynlarida ER (shaxs-munosabatlar modeli ) diagrammalar. ER diagrammasi - bu ma'lumotlar bazalarini samarali tarzda loyihalashtirishga yordam beradigan diagramma.

ER diagrammalaridagi atributlar odatda atribut nomi bilan tasvirlar shaklida tasvirlangan, atributni o'z ichiga olgan mavjudot yoki munosabatlarga bog'langan.

Er modellari odatda axborot tizimini loyihalashda qo'llaniladi; masalan, ular kontseptual tuzilmani loyihalash bosqichida ma'lumotlar talablarini va / yoki ma'lumotlar bazasida saqlanadigan ma'lumot turlarini tavsiflash uchun ishlatiladi.[3]

Microsoft Access uchun dizayn jarayoni bo'yicha taklif[4]

  1. Ma'lumotlar bazasining maqsadini aniqlang - Bu qolgan bosqichlarga tayyorgarlik ko'rishga yordam beradi.
  2. Kerakli ma'lumotlarni toping va tartibga soling - Ma'lumotlar bazasida yozib olish uchun mahsulotning nomi va buyurtma raqami kabi barcha turdagi ma'lumotlarni to'plang.
  3. Ma'lumotlarni jadvallarga ajrating - Mahsulotlar yoki Buyurtmalar kabi yirik ob'ektlarga yoki sub'ektlarga ma'lumot qismlarini ajrating. Keyin har bir mavzu jadvalga aylanadi.
  4. Axborot elementlarini ustunlarga aylantiring - har bir jadvalda qanday ma'lumotlarni saqlash kerakligini hal qiling. Har bir element maydonga aylanadi va jadvalda ustun sifatida ko'rsatiladi. Masalan, "Xodimlar jadvali" familiya va "yollangan sana" kabi maydonlarni o'z ichiga olishi mumkin.
  5. Asosiy kalitlarni ko'rsating - Har bir jadvalning asosiy kalitini tanlang. Birlamchi kalit har bir satrni noyob tarzda aniqlash uchun ishlatiladigan ustun yoki ustunlar to'plamidir. Masalan, mahsulot identifikatori yoki buyurtma identifikatori bo'lishi mumkin.
  6. Jadval aloqalarini o'rnating - Har bir jadvalga qarang va bitta jadvaldagi ma'lumotlar boshqa jadvallardagi ma'lumotlar bilan qanday bog'liqligini hal qiling. Agar kerak bo'lsa, munosabatlarni aniqlashtirish uchun jadvallarga maydonlarni qo'shing yoki yangi jadvallar yarating.
  7. Dizaynni yaxshilang - Dizaynni xatolar uchun tahlil qiling. Jadvallarni yarating va namunaviy ma'lumotlarning bir nechta yozuvlarini qo'shing. Natijalarning kutilganidek jadvallardan kelib chiqishini tekshiring. Zarur bo'lganda dizaynga o'zgartirishlar kiriting.
  8. Qo'llash normallashtirish qoidalari - Jadvallarning to'g'ri tuzilganligini ko'rish uchun ma'lumotlarni normalizatsiya qilish qoidalarini qo'llang. Agar kerak bo'lsa, jadvallarga tuzatishlar kiriting.

Normalizatsiya

Sohasida relyatsion ma'lumotlar bazasi dizayn, normalizatsiya ma'lumotlar bazasi tuzilmasi umumiy so'rovlar uchun mosligini va ba'zi bir nomaqbul xususiyatlardan xoli bo'lishini ta'minlashning tizimli usuli - bu yo'qotishga olib kelishi mumkin bo'lgan anomaliyalarni kiritish, yangilash va o'chirish ma'lumotlar yaxlitligi.

Ma'lumotlar bazasini loyihalash bo'yicha standart ko'rsatma dizayner to'liq normallashtirilgan dizaynni yaratishi kerak; tanlangan denormalizatsiya keyinchalik amalga oshirilishi mumkin, lekin faqat uchun ishlash sabablari. Savdo - bu saqlash maydoni va ishlash ko'rsatkichlari. Dizayn qanchalik me'yorga keltirilgan bo'lsa, ma'lumotlarning ortiqcha bo'lishi shunchalik kam bo'ladi (va shuning uchun uni saqlash uchun kam joy kerak bo'ladi), ammo umumiy ma'lumot olish naqshlari endi murakkab birlashish, birlashish va turlarga muhtoj bo'lishi mumkin - bu ko'proq ma'lumot oladi tsikllarni o'qing va hisoblang. Kabi ba'zi bir modellashtirish fanlari o'lchovli modellashtirish ga yaqinlashish ma'lumotlar ombori dizayn, normallashtirilmagan dizaynlarni aniq tavsiya eting, ya'ni 3NFga yopishmaydigan dizaynlar.Normalizatsiya 1NF, 2NF, 3NF, BOYCE-CODD NF (3.5NF), 4NF va 5NF bo'lgan normal shakllardan iborat.

Hujjatlar bazalari boshqacha yondashuvni qo'llaydi. Bunday ma'lumotlar bazasida saqlanadigan hujjat odatda bir nechta normallashtirilgan ma'lumotlar birligini va ko'pincha birliklar o'rtasidagi munosabatlarni o'z ichiga oladi. Agar barcha ma'lumotlar birliklari va ko'rib chiqilayotgan munosabatlar ko'pincha birgalikda olinadigan bo'lsa, unda ushbu yondashuv sonini optimallashtiradi. Bundan tashqari, bu ma'lumotlar qanday takrorlanishini soddalashtiradi, chunki hozirda aniqligi aniqlangan ma'lumotlar birligi mavjud bo'lib, ularning izchilligi o'z ichiga oladi. Yana bir e'tiborga loyiq narsa shundaki, bunday ma'lumotlar bazalarida bitta hujjatni o'qish va yozish bitta bitimni talab qiladi - bu muhim ahamiyatga ega bo'lishi mumkin Mikroservislar me'morchilik. Bunday holatlarda, ko'pincha, hujjatning ba'zi qismlari API orqali boshqa xizmatlardan olinadi va samaradorlik sababli mahalliy darajada saqlanadi. Agar ma'lumotlar birliklari xizmatlar bo'yicha bo'linishi kerak bo'lsa, u holda xizmatni iste'molchini qo'llab-quvvatlash uchun o'qish (yoki yozish) bir nechta xizmat qo'ng'iroqlarini talab qilishi mumkin va bu bir nechta operatsiyalarni boshqarishiga olib kelishi mumkin, bu afzal ko'rilmasligi mumkin.

Kontseptual sxema

Jismoniy dizayn

Ma'lumotlar bazasining fizik dizayni saqlash vositalarida ma'lumotlar bazasining fizik konfiguratsiyasini belgilaydi. Bunga batafsil spetsifikatsiya kiradi ma'lumotlar elementlari, ma'lumotlar turlari, indeksatsiya ma'lumotlar bazasi bazasida joylashgan parametrlar va boshqa parametrlar ma'lumotlar lug'ati. Bu modullarni va ma'lumotlar bazasining apparat va tizimning dasturiy ta'minot xususiyatlarini o'z ichiga olgan tizimning batafsil dizayni. Jismoniy qatlamda ko'rib chiqiladigan ba'zi jihatlar:

  • Xavfsizlik - oxirgi foydalanuvchi, shuningdek ma'muriy xavfsizlik.
  • Replikatsiya - qanday ma'lumotlar qismlari boshqa ma'lumotlar bazasiga ko'chiriladi va qanchalik tez-tez. Ko'p ustalar bormi yoki bitta?
  • Yuqori darajadagi konfiguratsiya - faol yoki passiv bo'ladimi, topologiya, muvofiqlashtirish sxemasi, ishonchlilik maqsadlari va boshqalarni aniqlab olish kerak.
  • Bo'linish - agar ma'lumotlar bazasi tarqatilgan bo'lsa, unda bitta tashkilot uchun ma'lumotlar bazasining barcha bo'limlari o'rtasida qanday taqsimlanadi va bo'limning ishlamay qolishi qanday hisobga olinadi.
  • Sxemalarni zaxiralash va tiklash.

Ilova darajasida jismoniy dizaynning boshqa jihatlariga saqlangan protseduralarni yoki so'rovlarning aniq ko'rinishini belgilash zarurati kiradi, OLAP kublar va boshqalar.

Shuningdek qarang

Adabiyotlar

  1. ^ Teorey, TJ, Lightstone, SS va boshq., (2009). Ma'lumotlar bazasini loyihalash: Barchasini bilib oling.1-nashr. Burlington, MA: Morgan Kaufmann Publishers
  2. ^ Tori, T .; Lightstone, S. va Nadeau, T. (2005) Ma'lumotlar bazasini modellashtirish va loyihalash: Mantiqiy dizayn, 4-nashr, Morgan Kaufmann Press. ISBN  0-12-685352-5
  3. ^ Javed, Muhammad; Lin, Yuqing (2018). "Cheklanmagan talablardan ER diagrammasini yaratish uchun takroriy jarayon". Dasturiy injiniringning yangi yondashuvlarini baholash bo'yicha 13-xalqaro konferentsiya materiallari. SCITEPRESS - Fan va texnika nashrlari. doi:10.5220/0006778701920204. ISBN  978-989-758-300-1.
  4. ^ Ma'lumotlar bazasini loyihalash asoslari. (nd). Ma'lumotlar bazasini loyihalash asoslari. 2010 yil 1-may kuni olingan https://support.office.com/en-US/article/Database-design-basics-EB2159CF-1E30-401A-8084-BD4F9C9CA1F5

Qo'shimcha o'qish

  • S. Lightstone, T. Teorey, T. Nadeau, "Jismoniy ma'lumotlar bazasini loyihalash: ma'lumotlar bazasi bo'yicha mutaxassisning ko'rsatmalar, ko'rinishlar, saqlash va boshqalarni ekspluatatsiya qilish bo'yicha qo'llanmasi", Morgan Kaufmann Press, 2007 y. ISBN  0-12-369389-6
  • M. Ernandes "Oddiy odamlar uchun ma'lumotlar bazasini loyihalash: Ma'lumotlar bazasini relyatsion loyihalash bo'yicha amaliy qo'llanma ", 3-nashr, Addison-Wesley Professional, 2013. ISBN  0-321-88449-3

Tashqi havolalar