ERP ma'lumotlar bazalarini normalizatsiya qilish va uning dasturiy ta'minotni ishlab chiqishga ta'siri: Tortugada taverna ochish

Salom! Mening ismim Andrey Semenov, men Sportmasterda katta tahlilchiman. Ushbu postda men ERP tizimining ma'lumotlar bazalarini normalizatsiya qilish masalasini ko'tarmoqchiman. Biz umumiy shartlarni, shuningdek, aniq bir misolni ko'rib chiqamiz - aytaylik, bu qaroqchilar va dengizchilar uchun ajoyib monopol taverna bo'ladi. Qaysi qaroqchilar va dengizchilarga boshqacha xizmat qilish kerak, chunki bu yaxshi janoblarning go'zallik g'oyalari va iste'molchi naqshlari sezilarli darajada farq qiladi.

Qanday qilib barchani xursand qilish kerak? Qanday qilib bunday tizimni loyihalash va unga xizmat ko'rsatishni aqldan ozdirmaslik kerak? Tavernaga nafaqat odatiy qaroqchilar va dengizchilar kela boshlasa, nima qilish kerak?

ERP ma'lumotlar bazalarini normalizatsiya qilish va uning dasturiy ta'minotni ishlab chiqishga ta'siri: Tortugada taverna ochish

Hammasi kesilgan ostida. Ammo keling, tartibda boraylik.

1. Cheklovlar va taxminlar

Yuqorida aytilganlarning barchasi faqat relyatsion ma'lumotlar bazalariga tegishli. O'zgartirish, o'chirish va kiritish anomaliyalari ko'rinishidagi denormalizatsiyaning oqibatlari, shu jumladan Internetda yaxshi yoritilgan, hisobga olinmaydi. Ushbu nashr doirasidan tashqarida denormalizatsiya odatiy hol bo'lgan holatlar mavjud, klassik misollar bilan: pasport seriyasi va raqami, sana va vaqt va boshqalar.

Postda oddiy shakllarning intuitiv va amaliy ta'riflari matematik atamalarga havolasiz qo'llaniladi. Haqiqiy biznes jarayonlarini (BP) tekshirish va sanoat dasturiy ta'minotini loyihalashda qo'llanilishi mumkin bo'lgan shaklda.

Ta'kidlanishicha, ma'lumotlar omborlari, hisobot vositalari va integratsiya shartnomalari (ma'lumotlarning jadval ko'rinishidan foydalanadigan) dizayni ERP tizimining ma'lumotlar bazalarini loyihalashdan farq qiladi, chunki iste'mol qilish qulayligi va unga erishish uchun ongli ravishda denormalizatsiyadan foydalanish yaxlitlikdan ustun bo'lishi mumkin. himoya ma'lumotlari. Men bu fikrga qo'shilaman va quyida tavsiflanganlar faqat ERP tizimlarining asosiy ma'lumotlari va tranzaksiya ma'lumotlari modellariga tegishli.

Oddiy shakllarning tushuntirishi ko'pchilik o'quvchilar uchun kundalik darajada tushunarli bo'lgan misol yordamida berilgan. Biroq, vizual illyustratsiya sifatida, 4-5-bandlarda ataylab "hayoliy" vazifa ataylab ishlatilgan. Agar siz buni qilmasangiz va darslik misolini olsangiz, masalan, 2-banddan bir xil buyurtma saqlash modeli, siz o'quvchining diqqatini jarayonning taklif qilingan parchalanishidan modelga aylantiradigan vaziyatga tushib qolishingiz mumkin. shaxsiy tajriba va ATda ma'lumotlarni saqlash jarayonlari va modellarini qanday qurish kerakligi haqidagi tasavvurga. Boshqacha qilib aytganda, ikkita malakali IT-tahlilchini oling, biri yo'lovchilarni tashish bilan shug'ullanadigan logistlarga, ikkinchisi mikrochiplar ishlab chiqarish uchun mashinalarni tashiydigan logistiklarga xizmat ko'rsatsin. Ulardan, avtomatlashtirilgan BPni oldindan muhokama qilmasdan, temir yo'l safari haqidagi ma'lumotlarni saqlash uchun ma'lumotlar modelini yaratishni so'rang.

Taklif etilayotgan modellarda siz nafaqat sezilarli darajada farq qiluvchi atributlar to'plamini, balki turli xil ob'ektlar to'plamini ham topishingiz mumkin, chunki har bir tahlilchi o'ziga tanish bo'lgan jarayonlar va vazifalarga tayanadi. Va bunday vaziyatda qaysi model "to'g'ri" ekanligini aytish mumkin emas, chunki baholash mezoni yo'q.

2. Oddiy shakllar

ERP ma'lumotlar bazalarini normalizatsiya qilish va uning dasturiy ta'minotni ishlab chiqishga ta'siri: Tortugada taverna ochish

Ma'lumotlar bazasining birinchi normal shakli barcha atributlarning atomikligini talab qiladi.
Xususan, agar A ob'ektida asosiy bo'lmagan a va b atributlari bo'lsa, c=f(a,b) va A ob'ektini tavsiflovchi jadvalda siz c atributining qiymatini saqlasangiz, u holda ma'lumotlar bazasida birinchi normal shakl buziladi. . Misol uchun, agar buyurtma spetsifikatsiyasida o'lchov birliklari mahsulot turiga bog'liq bo'lgan miqdor ko'rsatilgan bo'lsa: bir holatda u dona bo'lishi mumkin, boshqasida litr, uchinchisi bo'laklardan iborat bo'lgan paketlar (Good_count_WR yuqoridagi modelda) , keyin ma'lumotlar bazasida atributlarning atomligi buziladi. Bunday holda, buyurtma spetsifikatsiyasining jadval klasteri qanday bo'lishi kerakligini aytish uchun sizga ATdagi ish jarayonining maqsadli tavsifi kerak va jarayonlar har xil bo'lishi mumkinligi sababli, ko'plab "to'g'ri" versiyalar bo'lishi mumkin.

Ma'lumotlar bazasining ikkinchi normal shakli ATdagi ish jarayoni bilan bog'liq har bir ob'ekt uchun birinchi shakl va o'z jadvaliga rioya qilishni talab qiladi. Agar bitta jadvalda c=f1(a) va d=f2(b) bog`liqliklar bo`lsa va c=f3(b) bog`liqlik bo`lmasa, jadvalda ikkinchi normal shakl buzilgan. Yuqoridagi misolda Buyurtma jadvalidagi buyurtma va manzil o'rtasida bog'liqlik yo'q. Ko'cha yoki shahar nomini o'zgartiring va siz buyurtmaning muhim atributlariga ta'sir qilmaysiz.

Uchinchi oddiy shakl ma'lumotlar bazasi ikkinchi normal shaklga rioya qilishni va turli ob'ektlarning atributlari o'rtasida funktsional bog'liqliklarning yo'qligini talab qiladi. Ushbu qoidani quyidagicha shakllantirish mumkin: "hisoblash mumkin bo'lgan hamma narsani hisoblash kerak". Boshqacha qilib aytganda, agar A va B ikkita ob'ekt mavjud bo'lsa. A ob'ektning atributlari saqlanadigan jadvalda C atributi namoyon bo'ladi va B ob'ektida b atributi mavjud bo'lib, c=f4(b) mavjud bo'lsa, uchinchi normal shakl. buziladi. Quyidagi misolda buyurtma yozuvidagi Parchalar soni atributi (Total_count_WR) uchinchi oddiy shaklni buzganligini aniq da'vo qiladi.

3. Normalizatsiyani qo'llashga yondashuvim

1. Faqat maqsadli avtomatlashtirilgan biznes-jarayon tahlilchiga ma'lumotlarni saqlash modelini yaratishda ob'ektlar va atributlarni aniqlash mezonlarini taqdim etishi mumkin. Jarayon modelini yaratish oddiy ma'lumotlar modelini yaratish uchun zaruriy shartdir.

2. To'liq ma'noda uchinchi normal shaklga erishish, agar quyidagi shartlarning ba'zilari yoki barchasi bajarilgan bo'lsa, ERP tizimlarini yaratishning haqiqiy amaliyotida amaliy bo'lmasligi mumkin:

  • avtomatlashtirilgan jarayonlar kamdan-kam hollarda o'zgaradi;
  • tadqiqot va ishlanmalar uchun muddatlar qat'iy,
  • ma'lumotlar yaxlitligi uchun talablar nisbatan past (sanoat dasturiy ta'minotidagi potentsial xatolar dasturiy ta'minot mijozi tomonidan pul yoki mijozlarni yo'qotishiga olib kelmaydi)
  • va h.k.

Ta'riflangan sharoitlarda ayrim ob'ektlar va ularning atributlarining hayot aylanishini aniqlash va tavsiflash xarajatlari iqtisodiy samaradorlik nuqtai nazaridan oqlanmasligi mumkin.

3. Allaqachon yaratilgan ATda ma'lumotlar modelining denormalizatsiyasining har qanday oqibatlari kodni yaxshilab dastlabki o'rganish va sinovdan o'tkazish orqali engillashtirilishi mumkin.

4. Denormalizatsiya - mehnat xarajatlarini ma'lumotlar manbalarini tadqiq qilish va biznes-jarayonni loyihalash bosqichidan ishlab chiqish bosqichiga, amalga oshirish davridan tizimni ishlab chiqish davriga o'tkazish usuli.

5. Ma'lumotlar bazasining uchinchi normal shakliga intilish tavsiya etiladi, agar:

  • Avtomatlashtirilgan biznes jarayonlaridagi o'zgarishlar yo'nalishini oldindan aytish qiyin
  • Amalga oshirish va/yoki ishlab chiqish guruhida zaif mehnat taqsimoti mavjud
  • Integratsiya sxemasiga kiritilgan tizimlar o'z rejalari bo'yicha rivojlanadi
  • Ma'lumotlarning nomuvofiqligi kompaniyaning mijozlari yoki pullarini yo'qotishiga olib kelishi mumkin

6. Ma'lumotlar modelini loyihalash tahlilchi tomonidan faqat maqsadli biznes-jarayon modellari va ATdagi jarayon bilan bog'liq holda amalga oshirilishi kerak. Agar ishlab chiquvchi ma'lumotlar modelini loyihalashtirayotgan bo'lsa, u mavzu sohasiga shunchalik kirib borishi kerakki, u atribut qiymatlari o'rtasidagi farqni tushunadi - atom atributlarini izolyatsiya qilish uchun zaruriy shart. Shunday qilib, g'ayrioddiy funktsiyalarni qabul qilish.

4 Tasvir uchun muammo

Aytaylik, sizning portda kichik robot tavernangiz bor. Sizning bozor segmentingiz: portga kelgan va tanaffusga muhtoj bo'lgan dengizchilar va qaroqchilar. Siz dengizchilarga timyanli choy, qaroqchilarga soqol tarash uchun rom va suyak taroqlarini sotasiz. Tavernadagi xizmatni robot styuardessa va robot-barmen ko'rsatadi. Sizning yuqori sifatingiz va arzon narxlaringiz tufayli siz raqobatchilaringizni quvib chiqardingiz, shunda kemadan tushgan har bir kishi portdagi yagona tavernangizga keladi.

Taverna axborot tizimlari majmuasi quyidagi dasturiy ta'minotdan iborat:

  • Xarakterli xususiyatlar asosida o'z toifasini tan oladigan mijoz haqida erta ogohlantirish tizimi
  • Robot styuardessa va robot-barmenlar uchun boshqaruv tizimi
  • Savdo nuqtasiga omborni va yetkazib berishni boshqarish tizimi
  • Yetkazib beruvchilar bilan munosabatlarni boshqarish tizimi (SURP)

Jarayon:

Erta ogohlantirish tizimi kemani tark etgan odamlarni tan oladi. Agar biror kishi soqol qo'ygan bo'lsa, u uni dengizchi sifatida belgilaydi, agar odamning soqoli borligi aniqlansa, u qaroqchi sifatida tan olinadi.

Tavernaga kirib, mehmon robot styuardessadan o'z toifasiga muvofiq salomni eshitadi, masalan: "Ho-ho-ho, aziz qaroqchi, № stolga boring ..."

Mehmon belgilangan stolga boradi, u erda robot-bufetchi unga toifaga muvofiq tovarlar tayyorlab qo'ygan. Robot bufetchi etkazib berishning keyingi qismini oshirish kerakligi haqida ombor tizimiga ma'lumot uzatadi; ombor IS, saqlashdagi qolgan qoldiqlarga asoslanib, boshqaruv tizimida sotib olish so'rovini yaratadi.

Erta ogohlantirish tizimi sizning ichki AT tomonidan ishlab chiqilgan bo'lishi mumkin bo'lsa-da, bar robotini boshqarish dasturi tashqi pudratchi tomonidan biznesingiz uchun maxsus yaratilgan bo'lishi mumkin. Omborlarni boshqarish tizimlari va etkazib beruvchilar bilan aloqalar bozordan moslashtirilgan paketli echimlardir.

5. Denormalizatsiyaga misollar va uning dasturiy ta'minotni ishlab chiqishga ta'siri

Biznes-jarayonni loyihalashda, suhbatlashgan mavzu bo'yicha mutaxassislar bir ovozdan butun dunyo bo'ylab qaroqchilar rom ichishlarini va soqollarini suyak taroqlari bilan tarashlarini, dengizchilar esa kekik bilan choy ichishlarini va har doim soqollari toza ekanligini ta'kidladilar.

Mijoz turlarining katalogi ikkita qiymat bilan paydo bo'ladi: 1 - qaroqchilar, 2 - dengizchilar, kompaniyaning butun ma'lumot davri uchun umumiy.

Mijoz xabarnomasi tizimi rasmni qayta ishlash natijasini tan olingan mijozning identifikatori (ID) va uning turi sifatida darhol saqlaydi: dengizchi yoki pirat.

Tan olingan obyekt identifikatori
Mijozlar toifasi

100500
Pirat

100501
Pirat

100502
Dengizchi

Buni yana bir bor ta'kidlaymiz

1. Bizning dengizchilarimiz aslida soqolini olgan odamlardir
2. Bizning qaroqchilarimiz aslida soqolli odamlardir

Bizning strukturamiz uchinchi normal shaklga intilishi uchun bu holda qanday muammolarni bartaraf etish kerak:

  • atribut atomizmining buzilishi - mijoz toifasi
  • tahlil qilingan fakt va xulosani bitta jadvalda aralashtirish
  • turli ob'ektlarning atributlari o'rtasidagi sobit funktsional munosabatlar.

Normallashtirilgan shaklda biz ikkita jadvalni olamiz:

  • Belgilangan xususiyatlar to'plami ko'rinishidagi tan olish natijasi,

Tan olingan obyekt identifikatori
Yuzdagi sochlar

100500
ekan

100501
ekan

100502
yo'q

  • Belgilangan xususiyatlarni sharhlash uchun ISga kiritilgan mantiqni qo'llash sifatida mijoz turini aniqlash natijasi

Tan olingan obyekt identifikatori
Identifikatsiya ID
Mijozlar toifasi

100500
100001
Pirat

100501
100002
Pirat

100502
100003
Dengizchi

Oddiylashtirilgan ma'lumotlarni saqlash tashkiloti IP kompleksining rivojlanishiga qanday yordam berishi mumkin? Aytaylik, siz to'satdan yangi mijozlarni oldingiz. Bu soqoli bo'lmagan yapon qaroqchilari bo'lsin, lekin ular yelkasida to'tiqush bilan yurishadi va ekolog qaroqchilar, ularni Gretaning chap ko'kragidagi ko'k profilidan osongina taniy olasiz.

Atrof-muhit qaroqchilari, tabiiyki, suyak taroqlarini ishlata olmaydi va qayta ishlangan dengiz plastmassasidan tayyorlangan analogni talab qiladi.

Yangi ma'lumotlarga muvofiq dastur algoritmlarini qayta ishlashingiz kerak. Agar normalizatsiya qoidalariga rioya qilingan bo'lsa, unda siz faqat ba'zi tizimlardagi ba'zi texnologik tarmoqlar uchun kirishlarni to'ldirishingiz va faqat yuzdagi sochlar muhim bo'lgan holatlar va ISlarda yangi filiallarni yaratishingiz kerak bo'ladi. Ammo, qoidalarga rioya qilinmaganligi sababli, siz mijoz tipidagi katalog qiymatlari qo'llaniladigan butun sxema bo'ylab butun kodni tahlil qilishingiz va bir holatda algoritm professionalni hisobga olish kerakligini aniq belgilashingiz kerak bo'ladi. mijozning faoliyati va boshqa jismoniy xususiyatlarda.

Bunday shaklda izlaydi normallashtirish uchun biz operatsion ma'lumotlar va ikkita katalogga ega ikkita jadvalni olamiz:

ERP ma'lumotlar bazalarini normalizatsiya qilish va uning dasturiy ta'minotni ishlab chiqishga ta'siri: Tortugada taverna ochish

  • Belgilangan xususiyatlar to'plami ko'rinishidagi tan olish natijasi,

Tan olingan obyekt identifikatori
Greta chap ko'kragida
Yelkada qush
Yuzdagi sochlar

100510
1
1
1

100511
0
0
1

100512

1
0

  • mijoz turini aniqlash natijasi (bu kataloglardan tavsiflar ko'rsatiladigan maxsus ko'rinish bo'lsin)

Aniqlangan denormalizatsiya tizimlarni yangi shartlarga mos ravishda o'zgartirish mumkin emasligini anglatadimi? Albatta yo'q. Agar biz barcha axborot tizimlari bitta jamoa tomonidan yaratilganligini, ishlanmalar yaxshi hujjatlashtirilganligini va ma'lumotlar jamoa ichida yo'qotmasdan uzatilishini tasavvur qilsak, kerakli o'zgarishlarni juda oz kuch bilan amalga oshirish mumkin. Ammo muammoning asl shartlariga qaytadigan bo'lsak, 1,5 klaviatura faqat qo'shma muhokamalar protokollarini chop etish uchun va yana 0,5 ta xarid protseduralarini qayta ishlash uchun o'chiriladi.

Yuqoridagi misolda uchta oddiy shaklning barchasi buzilgan, keling, ularni alohida buzishga harakat qilaylik.

Birinchi normal shaklning buzilishi:

Aytaylik, mol yetkazib beruvchilar omboridan sizning omboringizga tavernangizga tegishli 1.5 tonnalik jayron yordamida olib ketish yo‘li bilan yetkazib beriladi. Buyurtmalaringiz hajmi etkazib beruvchilarning aylanmasiga nisbatan juda kichik bo'lib, ular ishlab chiqarishni kutmasdan, har doim birma-bir bajariladi. Sizga bunday biznes jarayoni bilan alohida jadvallar kerakmi: transport vositalari, transport vositalarining turlari, jo'natilgan etkazib beruvchilarga buyurtmalaringizda reja va faktlarni ajratish kerakmi?

Tasavvur qiling-a, dastur ishlab chiqish uchun quyidagi modeldan foydalansangiz, dasturchilaringiz qancha “qo‘shimcha” ulanishlarni yozishi kerak bo‘ladi.

ERP ma'lumotlar bazalarini normalizatsiya qilish va uning dasturiy ta'minotni ishlab chiqishga ta'siri: Tortugada taverna ochish

Aytaylik, biz taklif etilayotgan tuzilmani keraksiz darajada murakkab deb qaror qildik; bizning holatda, buyurtma yozuvidagi reja va faktni ajratish ortiqcha ma'lumotdir va hosil qilingan buyurtma spetsifikatsiyasi kelgan tovarlarni qabul qilish natijalariga ko'ra qayta yoziladi, kamdan-kam hollarda. - sifatsiz tovarlarning navlari va kelishi ISdan tashqarida hal qilinadi.
Va bir kuni siz butun taverna zali g'azablangan va beg'ubor qaroqchilar bilan to'lganini ko'rasiz. Nima bo'ldi?

Ma’lum bo‘lishicha, biznesingiz o‘sishi bilan iste’molingiz ham oshgan. Bir vaqtlar, agar g'azal hajmi va / yoki og'irligi bo'yicha haddan tashqari yuklangan bo'lsa, bu juda kam uchraydigan bo'lsa, etkazib beruvchi yukni ichimliklar foydasiga birinchi o'ringa qo'yishi haqida boshqaruv qarori qabul qilindi.

Yetkazib berilmagan tovarlar keyingi tartibda tugadi va yangi reysga jo'nadi; tavernadagi omborda minimal balans mavjudligi etishmayotgan holatlarni sezmaslik imkonini berdi.

Oxirgi raqib portda yopildi va avtomobilning minimal balansi va vaqti-vaqti bilan kam yuklanishining etarliligi taxminiga asoslangan ustuvorliklarni chetlab o'tgan gazelning haddan tashqari yuklanishi odatiy holga aylandi. Yaratilgan tizim unga o'rnatilgan algoritmlarga muvofiq ideal tarzda ishlaydi va rejalashtirilgan buyurtmalarning muntazam bajarilmasligini kuzatish uchun har qanday imkoniyatdan mahrum bo'ladi. Faqat buzilgan obro' va norozi mijozlar muammoni aniqlay oladi.

Diqqatli o'quvchi 2-bo'lim va 5-bo'limdagi buyurtma spetsifikatsiyasidagi (T_ORDER_SPEC) buyurtma miqdori birinchi oddiy shakl talabiga javob berishi yoki javob bermasligini payqagan bo'lishi mumkin. Bularning barchasi tovarlarning tanlangan assortimentini hisobga olgan holda, asosan turli xil o'lchov birliklari bir xil maydonga tushishi mumkinligiga bog'liq.

Ikkinchi normal shaklning buzilishi:

Ehtiyojlaringiz oshgani sayin, siz har xil o'lchamdagi yana ikkita avtomobil sotib olasiz. Yuqoridagi kontekstda transport vositalarining ma'lumotnomasini yaratish ortiqcha deb hisoblandi, natijada etkazib berish va ombor ehtiyojlariga xizmat qiluvchi barcha ma'lumotlarni qayta ishlash algoritmlari yukning etkazib beruvchidan omborga harakatlanishini faqat 1,5 tonnalik samolyotning parvozi sifatida qabul qiladi. g'azal. Shunday qilib, yangi transport vositalarini sotib olish bilan bir qatorda, siz hali ham transport vositalari katalogini yaratasiz, lekin uni yakunlashda siz har bir aniq joyda tavsiflarga havolalar mavjudligini bilish uchun yuk harakati bilan bog'liq barcha kodlarni tahlil qilishingiz kerak bo'ladi. biznes boshlangan avtomobil haqida.

Uchinchi normal shaklning buzilishi:

Bir nuqtada siz sodiqlik dasturini yaratishni boshlaysiz, doimiy mijozning yozuvi paydo bo'ladi. Nega, masalan, hisobot berishda foydalanish va tahliliy tizimlarga o'tkazish uchun individual mijozga sotish bo'yicha jamlangan ma'lumotlarni saqlaydigan moddiy ko'rinishlarni yaratishga vaqt sarflash kerak, agar sodiqlik dasturining boshida mijozni qiziqtirgan hamma narsa mijozning yozuviga joylashtirilishi mumkin. ? Va, albatta, birinchi qarashda, hech qanday nuqta yo'q. Ammo har safar sizning biznesingiz, masalan, yangi savdo kanallarini ulaganda, sizning tahlilchilaringiz orasida bunday yig'ish atributi mavjudligini eslaydigan kimdir bo'lishi kerak.

Har bir yangi jarayonni loyihalashda, masalan, Internetda sotish, umumiy sodiqlik tizimiga ulangan distribyutorlar orqali sotish, kimdir barcha yangi jarayonlar kod darajasida ma'lumotlar yaxlitligini ta'minlashi kerakligini yodda tutishi kerak. Minglab jadvalli sanoat ma'lumotlar bazasi uchun bu imkonsiz vazifaga o'xshaydi.

Tajribali ishlab chiquvchi, albatta, yuqorida aytib o'tilgan barcha muammolarni qanday to'xtatishni biladi, lekin, mening fikrimcha, tajribali tahlilchining vazifasi ularni yoritish emas.

Nashrni tayyorlashda qimmatli fikr-mulohazalari uchun yetakchi dasturchi Evgeniy Yaruxinga o'z minnatdorchiligimni bildirmoqchiman.

adabiyot

https://habr.com/en/post/254773/
Konolli Tomas, Begg Karolin. Ma'lumotlar bazasi. Dizayn, amalga oshirish va qo'llab-quvvatlash. Nazariya va amaliyot

Manba: www.habr.com

a Izoh qo'shish