ERP маалымат базаларын нормалдаштыруу жана анын программалык камсыздоону иштеп чыгууга тийгизген таасири: Тортугада таверна ачуу

Салам! Менин атым Андрей Семенов, мен Sportmaster компаниясынын башкы аналитигимин. Бул постто мен ERP тутумунун маалымат базаларын нормалдаштыруу маселесин көтөргүм келет. Биз жалпы шарттарды карап чыгабыз, ошондой эле конкреттүү мисал - бул каракчылар жана моряктар үчүн сонун монополист таверна болмок дейли. Бул жакшы мырзалардын сулуулук идеялары жана керектөө моделдери бир кыйла айырмаланат, анткени, каракчылар менен матросторго башкача кызмат кылышы керек.

Кантип баарын бактылуу кылуу керек? Мындай системаны иштеп чыгуудан жана колдоодон кантип кутула аласыз? Тавернага кадимки каракчылар жана моряктар гана келе баштаса, эмне кылуу керек?

ERP маалымат базаларын нормалдаштыруу жана анын программалык камсыздоону иштеп чыгууга тийгизген таасири: Тортугада таверна ачуу

Баары кесилгендин астында. Бирок тартип менен кетели.

1. Чектөөлөр жана божомолдор

Жогоруда айтылгандардын баары реляциялык маалымат базаларына гана тиешелүү. Интернетте, анын ичинде жакшы чагылдырылган өзгөртүү, жок кылуу жана киргизүү аномалиялары түрүндөгү денормализациянын кесепеттери каралбайт. Бул басылманын алкагынан тышкары классикалык мисалдар менен денормализация кеңири таралган учурлар бар: паспорттун сериясы жана номери, датасы жана убактысы ж.б.

Пост математикалык терминдерге шилтеме жасабастан, кадимки формалардын интуитивдик жана практикалык колдонулуучу аныктамаларын колдонот. Алар реалдуу бизнес-процесстерди экспертизага (BP) жана өнөр жай программалык камсыздоону долбоорлоого колдонулушу мүмкүн болгон формада.

Маалымат кампаларынын, отчеттуулук куралдарынын жана интеграциялык макулдашуулардын дизайны (маалыматтын таблица түрүндө көрсөтүлүшүн колдонгон) ERP тутумунун маалымат базаларынын дизайнынан керектөөнүн жеңилдиги жана ага жетүү үчүн аң-сезимдүү денормализацияны колдонуу бүтүндүктөн артыкчылыкка ээ болушу мүмкүн деп ырасталат. коргоо маалыматтары. Мен бул пикирге кошулам жана төмөндө сүрөттөлгөн нерсе ERP системаларынын башкы маалыматтарына жана транзакциялык маалыматтар моделдерине гана тиешелүү.

Кадимки формалардын түшүндүрмөсү көпчүлүк окурмандар үчүн күнүмдүк деңгээлде түшүнүктүү болгон мисал аркылуу берилген. Бирок визуалдык иллюстрация катары 4-5-пункттарда атайылап “ойдон чыгарылган” тапшырма атайылап колдонулган. Эгер сиз муну кылбасаңыз жана окуу китебинин бир мисалын алсаңыз, мисалы, 2-пункттагы ошол эле тартипти сактоо модели, сиз окурмандын көңүлү процесстин сунушталган декомпозициясынан моделге которула турган кырдаалга туш болушуңуз мүмкүн. жеке тажрыйбага жана ИСде маалыматтарды сактоо процесстери жана моделдери кантип түзүлүшү керек экенин түшүнүүгө. Башкача айтканда, эки квалификациялуу IT аналитикти алыңыз, бири жүргүнчүлөрдү ташыган логисттерге, экинчиси микрочиптерди өндүрүү үчүн машиналарды ташыган логисттерге кызмат көрсөтсүн. Алардан алдын ала автоматташтырылган БПны талкуулабастан, темир жол сапары жөнүндө маалыматты сактоо үчүн маалымат моделин түзүүнү сураныңыз.

Сунуш кылынган моделдерде сиз байкалаарлык ар түрдүү атрибуттар топтомун гана эмес, ошондой эле объекттердин дивергенттик топтомун таба аласыз, анткени ар бир талдоочу өзүнө тааныш процесстерге жана милдеттерге таянат. Жана мындай кырдаалда кайсы моделдин "туура" экенин айтуу мүмкүн эмес, анткени эч кандай баалоо критерийи жок.

2. Кадимки формалар

ERP маалымат базаларын нормалдаштыруу жана анын программалык камсыздоону иштеп чыгууга тийгизген таасири: Тортугада таверна ачуу

Маалымат базасынын биринчи нормалдуу формасы бардык атрибуттардын атомдуулугун талап кылат.
Атап айтканда, эгерде А объектинин негизги эмес а жана b атрибуттары болсо, анда c=f(a,b) жана А объектисин сүрөттөгөн таблицада c атрибутунун маанисин сактайсыз, анда маалымат базасында биринчи нормалдуу форма бузулат. . Мисалы, эгерде заказдын спецификациясында өлчөө бирдиктери продукциянын түрүнө жараша сан көрсөтүлсө: бир учурда бул даана, экинчисинде литр, үчүнчүсү даанадан турган таңгак болушу мүмкүн (жогоруда Good_count_WR моделинде) , анда маалымат базасында атрибуттардын атомдуулугу бузулат. Бул учурда, буйрутма спецификациясынын таблица кластери кандай болушу керек экенин айтуу үчүн ИСдеги иш процессинин максаттуу сүрөттөлүшү керек жана процесстер ар кандай болушу мүмкүн болгондуктан, көптөгөн "туура" версиялар болушу мүмкүн.

Маалымат базасынын экинчи нормалдуу формасы ИСдеги иш процессине тиешелүү ар бир субъект үчүн биринчи форманы жана өзүнүн таблицасын сактоону талап кылат. Эгерде бир таблицада c=f1(a) жана d=f2(b) көз карандылыктары болсо жана c=f3(b) көз карандылык жок болсо, анда таблицада экинчи нормалдуу форма бузулган. Жогорудагы мисалда Буйрутма таблицасында буйрутма менен даректин ортосунда эч кандай көз карандылык жок. Көчөнүн же шаардын атын өзгөртсөңүз, буйруктун маанилүү атрибуттарына эч кандай таасир этпейсиз.

Үчүнчү кадимки форма базасы экинчи нормалдуу формага ылайык келүүнү жана ар кандай субъекттердин атрибуттарынын ортосунда функционалдык көз карандылыктын жоктугун талап кылат. Бул эрежени төмөнкүчө формулировкалоого болот: "эсептеп чыгууга мүмкүн болгон нерселердин бардыгын эсептөө керек." Башкача айтканда, А жана В эки объекти бар болсо. А объектинин атрибуттары сакталган таблицада С атрибуту көрүнөт, ал эми В объектисинде c=f4(b) бар болгон b атрибуту болот, анда үчүнчү нормалдуу форма бузулуп жатат. Төмөндөгү мисалда буйрутма жазуусундагы Дааналардын саны атрибуту (Total_count_WR) үчүнчү нормалдуу форманы бузууну ачык эле ырастайт.

3. Нормалдаштырууну колдонууга менин мамилем

1. Максаттуу автоматташтырылган бизнес-процесс гана аналитикке маалыматтарды сактоо моделин түзүүдө субъекттерди жана атрибуттарды аныктоонун критерийлерин бере алат. Процесс моделин түзүү кадимки маалымат моделин түзүү үчүн зарыл шарт болуп саналат.

2. Катуу мааниде үчүнчү нормалдуу формага жетүү, эгерде төмөндөгү шарттардын айрымдары же бардыгы аткарылса, ERP системаларын түзүүнүн иш жүзүндө практикалык болушу мүмкүн эмес:

  • автоматташтырылган процесстер сейрек өзгөрүүгө дуушар болот,
  • изилдөө жана иштеп чыгуу үчүн мөөнөттөрү тар,
  • маалыматтардын бүтүндүгүнө талаптар салыштырмалуу төмөн (өндүрүштүк программалык камсыздоодогу мүмкүн болуучу каталар программалык камсыздоонун кардары тарабынан акча же кардарларды жоготууга алып келбейт)
  • ж.б.

Көрсөтүлгөн шарттарда айрым объектилердин жана алардын атрибуттарынын жашоо циклин аныктоого жана сыпаттоого кеткен чыгымдар экономикалык эффективдүүлүк жагынан акталбашы мүмкүн.

3. Түзүлгөн ИСде маалымат моделин нормалдаштыруунун ар кандай кесепеттери кодду алдын ала кылдат изилдөө жана тестирлөө аркылуу жеңилдетилиши мүмкүн.

4. Денормализация – бул эмгек чыгымдарын маалымат булактарын изилдөө жана бизнес-процессти долбоорлоо стадиясынан иштеп чыгуу стадиясына, ишке ашыруу мезгилинен системаны иштеп чыгуу мезгилине которуу жолу.

5. Маалыматтар базасынын үчүнчү нормалдуу формасына умтулуу максатка ылайыктуу, эгерде:

  • Автоматташтырылган бизнес-процесстердин өзгөрүү багытын алдын ала айтуу кыйын
  • Ишке ашыруу жана/же иштеп чыгуучу топтун ичинде эмгекти начар бөлүштүрүү бар
  • Интегралдык схемага кирген системалар өз пландары боюнча өнүгөт
  • Маалыматтын дал келбегендиги компаниянын кардарларын же акчасын жоготууга алып келиши мүмкүн

6. Маалымат моделин долбоорлоо талдоочу тарабынан максаттуу бизнес-процесстин моделдерине жана ИСдеги процесске байланыштуу гана жүргүзүлүшү керек. Эгерде иштеп чыгуучу маалымат моделин иштеп чыкса, анда ал предметтик чөйрөгө, атап айтканда, атомдук атрибуттарды изоляциялоонун зарыл шарты болгон атрибут баалуулуктарынын ортосундагы айырманы түшүнө тургандай даражада кириши керек. Ошентип, адаттан тыш функцияларды алуу.

4 Иллюстрация үчүн маселе

Сиздин портто кичинекей робот тавернаңыз бар дейли. Сиздин рынок сегменти: портко келип, тыныгууга муктаж деңизчилер жана каракчылар. Деңизчилерге тимьян кошулган чай, каракчыларга сакал тараган ром, сөөк тарактарды сатасыз. Тавернадагы кызматты робот-хостесс жана робот-бармен көрсөтөт. Сиздин жогорку сапатыңыз жана арзан бааларыңыздын аркасында сиз атаандаштарыңызды кууп чыктыңыз, ошондуктан кемеден түшкөндөрдүн баары порттогу жалгыз тавернаңызга келишет.

Таверна маалымат системаларынын комплекси төмөнкү программалык камсыздоодон турат:

  • Мүнөздүү өзгөчөлүктөрүнүн негизинде анын категориясын тааныган кардар жөнүндө эрте эскертүү системасы
  • Робот-хостесстердин жана робот-бармендердин башкаруу системасы
  • Сатуу пунктуна кампа жана жеткирүү башкаруу системасы
  • Жабдуучу менен мамилелерди башкаруу системасы (SURP)

тартиби:

Эрте эскертүү системасы кемени таштап кеткен адамдарды тааныйт. Эгер адам таза кырылса, ал аны деңизчи, сакал-муруту бар экени аныкталса, анда ал каракчы деп таанылат.

Тавернага кирген конок роботтун ээсинен өзүнүн категориясына ылайык салам угат, мисалы: “Хо-хо-хо, кымбаттуу пират, №XNUMX столго өт...”

Конок көрсөтүлгөн столго барат, ал жерде робот-бармен ага категорияга ылайык товарларды даярдап койгон. Робот-бармен жеткирүүнүн кийинки бөлүгүн көбөйтүү керектиги жөнүндө маалыматты кампа тутумуна өткөрүп берет; кампа IS, сактоодогу калган калдыктардын негизинде, башкаруу системасында сатып алуу өтүнүчүн жаратат.

Эрте эскертүү системасы сиздин ички IT тарабынан иштелип чыккан болушу мүмкүн, бирок бар роботту башкаруу программасы тышкы подрядчы тарабынан атайын сиздин бизнесиңиз үчүн түзүлгөн болушу мүмкүн. Ал эми кампаларды башкаруу тутумдары жана камсыздоочулар менен болгон мамилелер базардан ыңгайлаштырылган пакеттелген чечимдер болуп саналат.

5. Денормализациянын мисалдары жана анын программалык камсыздоону иштеп чыгууга тийгизген таасири

Бизнес-процессти иштеп чыгууда сурамжылоого алынган эксперттер бир добуштан бүткүл дүйнөдө каракчылар ром ичип, сакалын сөөк тарактары менен тарашат, ал эми моряктар тимьян менен чай ичишет жана дайыма сакалдары таза болушат деп айтышкан.

Кардар түрлөрүнүн каталогу эки мааниде пайда болот: 1 - каракчылар, 2 - матростор, компаниянын бардык маалымат схемасы үчүн жалпы.

Кардардын кабарлоо системасы дароо эле таанылган кардардын идентификатору (ID) жана анын түрү катары сүрөттөлүштү иштетүү натыйжасын сактайт: деңизчи же каракчы.

Таанылган объект ID
Кардар категориясы

100500
караңгы

100501
караңгы

100502
Матрос

Муну дагы бир жолу белгилей кетели

1. Биздин моряктар чындыгында кыркылган адамдар
2. Биздин каракчылар чынында сакалчан адамдар

Биздин структура үчүнчү нормалдуу формага умтулуусу үчүн бул учурда кандай көйгөйлөрдү жоюу керек:

  • атрибуту атомизм бузуу - Кардар категориясы
  • талданган факты менен корутундуну бир таблицага аралаштыруу
  • ар кандай объекттердин атрибуттарынын ортосундагы туруктуу функционалдык байланыш.

Нормалдаштырылган түрдө биз эки таблицаны алабыз:

  • белгиленген белгилердин жыйындысы түрүндө таануу натыйжасы,

Таанылган объект ID
Бет чачы

100500
ошол

100501
ошол

100502
жок

  • белгиленген мүнөздөмөлөрдү чечмелөө үчүн ИСге киргизилген логиканын тиркемеси катары кардардын түрүн аныктоонун натыйжасы

Таанылган объект ID
Идентификация ID
Кардар категориясы

100500
100001
караңгы

100501
100002
караңгы

100502
100003
Матрос

Кантип нормалдаштырылган маалыматтарды сактоо уюму IP комплексин өнүктүрүүгө жардам бере алат? Сиз күтүлбөгөн жерден жаңы кардарларды алдыңыз дейли. Жапон каракчылары сакалы жок болушу мүмкүн, бирок алар ийиндеринде тоту куш менен басышат, ал эми эколог каракчылар, сиз аларды Гретанын сол көкүрөгүндөгү көк профилинен оңой тааный аласыз.

Экологиялык каракчылар, албетте, сөөк тарактарын колдоно алышпайт жана кайра иштетилген деңиз пластикинен жасалган аналогду талап кылышат.

Сиз жаңы киргизүүгө ылайык программанын алгоритмдерин кайра иштеп чыгышыңыз керек. Эгерде нормалдаштыруу эрежелери сакталган болсо, анда сиз кээ бир системалардагы кээ бир процесс бутактары үчүн киргизүүлөрдү гана толуктап, беттин чачы маанилүү болгон учурларда жана ИСде гана жаңы бутактарды түзүшүңүз керек болмок. Бирок, эрежелер сакталбагандыктан, сиз бүтүндөй схеманы бүтүндөй кодду талдап чыгууга туура келет, анда кардар типтеги каталогдун маанилери колдонулат жана бир учурда алгоритм профессионалдуу адистерди эске алуу керек экенин так аныктайт. кардардын активдүүлүгү жана башка физикалык өзгөчөлүктөрү.

Ушундай формада максат нормалдаштыруу үчүн, биз оперативдүү маалыматтар жана эки каталогдор менен эки таблицаны алабыз:

ERP маалымат базаларын нормалдаштыруу жана анын программалык камсыздоону иштеп чыгууга тийгизген таасири: Тортугада таверна ачуу

  • белгиленген белгилердин жыйындысы түрүндө таануу натыйжасы,

Таанылган объект ID
Грета сол көкүрөктө
Ийнинде куш
Бет чачы

100510
1
1
1

100511
0
0
1

100512

1
0

  • кардардын түрүн аныктоонун натыйжасы (бул каталогдордогу сүрөттөмөлөр көрсөтүлө турган ыңгайлаштырылган көрүнүш болсун)

Табылган денормализация системаларды жаңы шарттарга ылайыкташтырууга мүмкүн эмес дегенди билдиреби? Албетте жок. Эгерде биз бардык маалыматтык системалар кадрлардын алмашуусу нөл болгон бир команда тарабынан түзүлгөнүн, иштеп чыгуулар жакшы документтештирилгенин жана маалымат команданын ичинде жоготуусуз берилип жатканын элестетсек, анда талап кылынган өзгөртүүлөр анча-мынча күч менен жасалышы мүмкүн. Бирок маселенин баштапкы шарттарына кайрылсак, биргелешкен талкуулардын протоколдорун басып чыгаруу үчүн 1,5 клавиатура жана сатып алуу процедураларын иштетүү үчүн дагы 0,5 клавиатура өчүрүлөт.

Жогорудагы мисалда үч нормалдуу форма тең бузулган, аларды өзүнчө бузууга аракет кылалы.

Биринчи нормалдуу форманын бузулушу:

Сиздин кампаңызга товар жеткирүүчүлөрдүн кампаларынан сиздин тавернаңызга тиешелүү 1.5 тонналык жейренди алуу менен жеткирилди дейли. Сиздин буйрутмаларыңыздын көлөмү берүүчүлөрдүн жүгүртүүсүнө салыштырмалуу өтө кичинекей болгондуктан, алар өндүрүштү күтпөстөн ар дайым бири-бирине бүткөрүлөт. Мындай бизнес-процесс менен сизге өзүнчө таблицалар керекпи: транспорт каражаттары, транспорттун түрлөрү, кеткен жеткирүүчүлөргө заказдарыңызда планды жана фактыны бөлүп көрсөтүү керекпи?

Эгерде сиз программаны иштеп чыгуу үчүн төмөндөгү моделди колдонсоңуз, анда сиздин программисттериңиз канча "кошумча" байланыштарды жазууга туура келерин элестетип көрүңүз.

ERP маалымат базаларын нормалдаштыруу жана анын программалык камсыздоону иштеп чыгууга тийгизген таасири: Тортугада таверна ачуу

Биз сунуш кылынган структураны негизсиз татаал деп чечтик дейли, биздин учурда заказ жазуусундагы план менен фактыны бөлүп коюу ашыкча маалымат болуп саналат, ал эми түзүлгөн заказдын спецификациясы келген товарларды кабыл алуунун жыйынтыгы боюнча кайра жазылат, сейрек кездешүүчү каталар. - сапатсыз товарлардын сорттору жана келүүсү ИСтин чегинен тышкары жөнгө салынса.
Анан бир күнү сиз бүтүндөй таверна залы ачууланган жана ээн-эркин каракчыларга кантип толуп турганын көрөсүз. Не болду?

Ишиңиз өскөн сайын керектөөңүз да өскөн экен. Бир кезде башкаруу чечими кабыл алынган, эгерде жейрен көлөмү жана/же салмагы боюнча ашыкча жүктөлсө, бул өтө сейрек кездешүүчү, берүүчү жүктү суусундуктардын пайдасына биринчи орунга коёт.

Жеткирилбей калган товарлар кийинки тартипте бүтүп, жаңы рейске жөнөп кетишти, тавернадагы кампада минималдуу баланстын болушу жетишпеген учурларды байкабоого мүмкүндүк берди.

Акыркы атаандаш портто жабылып, газелдин ашыкча жүктөөнүн тешип кеткен учуру, минимум балансынын жетиштүүлүгү жана унааны мезгил-мезгили менен аз жүктөө болжолунун негизинде приоритеттөө жолу менен айланып өтүү көнүмүш адатка айланды. Түзүлгөн система идеалдуу түрдө ага камтылган алгоритмдерге ылайык иштейт жана пландалган заказдарды системалуу түрдө аткарбагандыгын көзөмөлдөө мүмкүнчүлүгүнөн ажыратылат. Бир гана бузулган репутация жана нааразы кардарлар көйгөйдү аныктай алат.

Кылдат окурман 2-бөлүмдөгү жана 5-бөлүмдөгү буйрутма спецификациясында (T_ORDER_SPEC) буйрутмаланган сан биринчи нормалдуу форманын талабына жооп бериши же жооп бербеши мүмкүн экенин байкаган болушу мүмкүн. Мунун баары товарлардын тандалган ассортиментин эске алуу менен, негизинен ар кандай өлчөө бирдиктери бир талаага түшө алабы же жокпу, көз каранды.

Экинчи нормалдуу форманын бузулушу:

Сиздин муктаждыктарыңыз өскөн сайын, сиз ар кандай өлчөмдөгү дагы бир нече унаа сатып аласыз. Жогоруда айтылган контекстте транспорт каражаттарынын каталогун түзүү ашыкча деп эсептелген, натыйжада жеткирүү жана кампа муктаждыктарын тейлеген бардык маалыматтарды иштетүү алгоритмдери жүк ташуучудан кампага чейин жүктүн кыймылын 1,5 тонналык жүктүн учуу катары кабыл алат. жейрен. Ошентип, жаңы унааларды сатып алуу менен бирге, сиз дагы эле унаа каталогун түзөсүз, бирок аны аягына чыгарууда, ар бир конкреттүү жерде шилтемелер мүнөздөмөлөргө тиешелүү экендигин билүү үчүн жүктүн кыймылына шилтеме берген бардык кодду талдап чыгышыңыз керек. бизнес башталган унаанын өзү.

Үчүнчү нормалдуу форманын бузулушу:

Качандыр бир учурда сиз лоялдуулук программасын түзө баштайсыз, кадимки кардардын жазуусу пайда болот. Эмне үчүн, мисалы, лоялдуулук программасынын башталышында кардарды кызыктырган нерселердин бардыгы кардардын эсебине жайгаштырылышы мүмкүн болсо, отчеттуулукта пайдалануу жана аналитикалык системаларга өткөрүү үчүн жеке кардарга сатуулар боюнча топтолгон маалыматтарды сактаган материалдык көрүнүштөрдү түзүүгө убакыт коротушат. ? Жана, чынында эле, бир караганда, эч кандай мааниси жок. Бирок сиздин бизнесиңиз, мисалы, жаңы сатуу каналдарын туташтырган сайын, аналитиктериңиздин арасында мындай топтоо атрибуту бар экенин эстей турган бирөө болушу керек.

Ар бир жаңы процессти долбоорлоодо, мисалы, Интернетте сатуу, жалпы лоялдуулук системасына туташтырылган дистрибьюторлор аркылуу сатуу, кимдир бирөө бардык жаңы процесстер код деңгээлинде маалыматтардын бүтүндүгүн камсыз кылышы керек экенин эстен чыгарбоо керек. Миң таблицалары бар өнөр жай базасы үчүн бул мүмкүн эмес иш сыяктуу көрүнөт.

Тажрыйбалуу иштеп чыгуучу, албетте, жогоруда айтылган бардык көйгөйлөрдү кантип жок кылууну билет, бирок, менин оюмча, тажрыйбалуу аналитиктин милдети аларды ачыкка чыгаруу эмес.

Басылманы даярдоодо баалуу пикирлери үчүн алдыңкы иштеп чыгуучу Евгений Ярухинге ыраазычылык билдиргим келет.

адабият

https://habr.com/en/post/254773/
Коннолли Томас, Бегг Кэролайн. Маалыматтар базасы. Дизайн, ишке ашыруу жана колдоо. Теория жана практика

Source: www.habr.com

Комментарий кошуу