Denormalîzekirina databasên ERP û bandora wê li ser pêşkeftina nermalavê: vekirina meyxaneyek li Tortuga

Slav! Navê min Andrey Semenov e, ez li Sportmaster analîstek payebilind im. Di vê postê de ez dixwazim pirsgirêka denormalîzasyona databasên pergala ERP rakim. Em ê li şert û mercên gelemperî, û hem jî mînakek taybetî binihêrin - em bibêjin ku ew ê ji bo korsan û deryavanan bibe meyxaneyek monopolek ecêb. Di kîjan pirat û deryavan de pêdivî ye ku ji hev cûda bêne xizmet kirin, ji ber ku ramanên bedewî û şêwazên xerîdar ên van birêzên baş bi girîngî cûda ne.

Meriv çawa her kesî dilşad bike? Hûn çawa dikarin ji sêwirandin û domandina pergalek wusa dîn nebin? Ger ne tenê pirat û keştiyên adetî dest bi hatina meyxaneyê bikin, çi bikin?

Denormalîzekirina databasên ERP û bandora wê li ser pêşkeftina nermalavê: vekirina meyxaneyek li Tortuga

Her tişt di bin qutbûnê de ye. Lê em bi rêzê herin.

1. Sînor û texmîn

Hemî yên jorîn tenê ji bo databasên pêwendiyê derbas dibin. Encamên denormalîzasyonê yên di forma guheztin, jêbirin, û anomaliyên têketinê de, ku baş hatine nixumandin, di nav de li ser Înternetê, nayê hesibandin. Li derveyî çarçoweya vê weşanê doz hene ku denormalîzasyon cîhek hevpar e, digel mînakên klasîk: rêz û hejmar pasaportê, dîrok û dem, hwd.

Post pênaseyên xwerû û pratîkî yên bikêrhatî yên formên normal bikar tîne, bêyî referansa termên matematîkî. Di forma ku ew dikarin ji bo ceribandina pêvajoyên karsaziya rastîn (BP) û sêwirana nermalava pîşesaziyê werin sepandin.

Tê nîqaş kirin ku sêwirana depoyên daneyê, amûrên raporkirinê û peymanên entegrasyonê (yên ku temsîla tabloyî ya agahdariyê bikar tînin) ji sêwirana databasên pergala ERP cûda dibe di wê yekê de ku hêsaniya serfkirinê û karanîna denormalîzasyona hişmendî ji bo bidestxistina wê dibe ku pêşî li yekrêziyê bigire. daneyên parastinê. Ez vê ramanê parve dikim, û ya ku li jêr tê ravekirin tenê ji bo daneyên sereke û modelên daneya danûstendinê yên pergalên ERP derbas dibe.

Ravekirina formên normal bi mînakek ku di asta rojane de ji bo piraniya xwendevanan tê fam kirin tê dayîn. Lêbelê, wekî nîgarek dîtbar, di paragrafên 4-5 de, bi qestî peywirek "xalîfî" hate bikar anîn. Ger hûn wiya nekin û mînakek pirtûka dersê bigirin, mînakî, heman modela hilanînê ya fermanê ji xala 2-ê, dibe ku hûn xwe di rewşek de bibînin ku bala xwendevan ji veqetandina pêşniyarê ya pêvajoyê veguhezîne modelek, ji bo ezmûna kesane û têgihîştina pêvajo û modelên ji bo hilanîna daneyan di IS-ê de çawa bêne çêkirin. Bi gotinek din, du analîstên IT-ê yên jêhatî bigirin, bila yek ji lojîstîkerên ku rêwiyan vediguhezînin, ya din ji lojîstîkerên ku makîneyên ji bo hilberîna mîkroçîpan vediguhezînin re peyda bike. Ji wan bipirsin, bêyî ku pêşî li BP-yên otomatîkî nîqaş bikin, ku modelek daneyê ji bo hilanîna agahdariya li ser rêwîtiyek rêwîtiyê biafirînin.

Ihtimalek ne-sifir heye ku di modelên pêşniyarkirî de hûn ê ne tenê komek taybetmendiyên cihêreng ên berbiçav, lê di heman demê de komek sazûmanên cihêreng jî bibînin, ji ber ku her analîst dê xwe bispêre pêvajo û peywirên ku ji wî re naskirî ye. Û di rewşeke weha de ne mimkûn e ku meriv bêje ka kîjan model "rast e", ji ber ku pîvanek nirxandinê tune.

2. Formên normal

Denormalîzekirina databasên ERP û bandora wê li ser pêşkeftina nermalavê: vekirina meyxaneyek li Tortuga

Yekem forma normal ya databasê atomîbûna hemî taybetmendiyan hewce dike.
Bi taybetî, heke tişta A xwedan taybetmendiyên ne-kilît a û b be, wusa ku c=f(a,b) û di tabloya ku tişta A diyar dike de hûn nirxa taybetmendiya c hilînin, wê hingê forma yekem a normal di databasê de tê binpê kirin. . Mînakî, heke diyardeya fermanê mîqdarek destnîşan dike, yekeyên pîvandinê yên ku bi celebê hilberê ve girêdayî ye: di rewşek de ew dikare bibe perçe, di lîtreyek din de, di pakêtek sêyemîn de ku ji perçeyan pêk tê (di modela jorîn Good_count_WR) , wê demê atomîbûna taybetmendiyan di databasê de tê binpêkirin. Di vê rewşê de, ji bo ku hûn bibêjin komika sifrê ya rêziknameya fermanê divê çi be, hûn hewceyê ravekek armanckirî ya pêvajoya xebatê ya di IS-ê de ne, û ji ber ku pêvajo dikarin cûda bin, dibe ku gelek guhertoyên "rast" hebin.

Forma normal ya duyemîn a databasê pêdivî bi pabendbûna bi forma yekem û tabloya xwe ya ji bo her saziyek girêdayî proseya xebatê di IS de heye. Ger di tabloyekê de girêdayiyên c=f1(a) û d=f2(b) hebin û c=f3(b) nebin, wê demê di tabloyê de forma normal ya duyemîn tê binpêkirin. Di mînaka li jor de, di tabloya Orderê de di navbera rêz û navnîşan de girêdayî tune. Navê kolanê an bajêr biguherînin û hûn ê ti bandorek li ser taybetmendiyên bingehîn ên fermanê nebin.

Databasa forma normal ya sêyemîn Pêdivî ye ku bi forma normal ya duyemîn û nebûna girêdanên fonksiyonel di navbera taybetmendiyên pêkhateyên cûda de pêk were. Ev qaîde dikare wiha were formulekirin: "Her tiştê ku dikare were hesibandin divê were hesibandin." Bi gotineke din, heke du tiştên A û B hebin. Di tabloya ku taybetmendîyên tişta Ayê hildide, taybetmendiya C tê xuyang kirin û tişta B xwedan taybetmendiya b ye, wusa ku c=f4(b) heye, wê hingê forma normal ya sêyemîn. tê binpêkirin. Di mînaka jêrîn de, taybetmendiya Quantity of Pieces (Total_count_WR) li ser tomara fermanê bi eşkere îdîa dike ku forma normal ya sêyemîn binpê dike.

3. Nêzîkatiya min a sepandina normalîzekirinê

1. Tenê pêvajoyek karsaziya otomatîkî ya armanckirî dikare dema ku modelek hilanîna daneyê diafirîne pîvanên tespîtkirina sazî û taybetmendiyan peyda bike. Afirandina modela pêvajoyê ji bo afirandina modelek daneya normal şertek e.

2. Ger hin an hemî şertên jêrîn pêk werin, gihîştina forma normal ya sêyemîn di wateya hişk de dibe ku di pratîka rastîn a afirandina pergalên ERP de ne pratîk be:

  • pêvajoyên otomatîkî kêm kêm têne guhertin,
  • muhletên lêkolîn û pêşveçûnê teng in,
  • hewcedariyên ji bo yekparebûna daneyê nisbeten kêm in (çewtiyên potansiyel ên di nermalava pîşesaziyê de ji hêla xerîdarê nermalavê ve dibe sedema windakirina drav an xerîdar)
  • û mîna.

Di bin şert û mercên diyarkirî de, dibe ku lêçûnên naskirin û danasîna çerxa jiyanê ya hin tiştan û taybetmendiyên wan ji hêla karbidestiya aborî ve ne rastdar be.

3. Hemî encamên ji normalîzekirina modela daneyê di IS-ya ku jixwe hatî afirandin de dikare bi lêkolînek pêşîn a berfireh a kod û ceribandinê were kêm kirin.

4. Denormalîzasyon rêyek e ku lêçûnên kedê ji qonaxa lêkolîna çavkaniyên daneyan û sêwirana pêvajoyek karsaziyê berbi qonaxa pêşkeftinê, ji heyama pêkanînê heya heyama pêşkeftina pergalê veguhezîne.

5. Tê pêşniyar kirin ku ji bo forma sêyemîn a normal a databasê hewl bidin ger:

  • Arasteya guherîna di pêvajoyên karsaziya otomatîkî de dijwar e ku meriv pêşbîn bike
  • Di nav ekîba pêkanîn û/an pêşdebirinê de dabeşkirineke qels a xebatê heye
  • Pergalên ku di çarçoveya entegrasyonê de cih digirin, li gorî planên xwe pêşve diçin
  • Nakokiya daneyan dikare bibe sedem ku pargîdaniyek xerîdar an drav winda bike

6. Sêwirana modela daneyê divê ji hêla analîstek ve tenê bi modelên pêvajoya karsaziya armanc û pêvajoya di IS-ê de ve girêdayî be. Ger pêşdebirek modelek daneyê dîzayn dike, ew ê neçar bimîne ku xwe di qada mijarê de bi qasî ku, bi taybetî, ew cûdahiya di navbera nirxên taybetmendiyê de fêm bike - şertek pêwîst ji bo veqetandina taybetmendiyên atomî. Bi vî rengî, fonksiyonên bêhempa digire.

4 Pirsgirêka ji bo nimûne

Ka em bibêjin li benderê meyxaneyek piçûk a robotîkî ya we heye. Beşa bazara we: keştîvan û piratên ku dikevin benderê û pêdivî bi veqetandinê heye. Hûn çayê bi tirş difiroşin deryavanan, rûm û rîhên hestî jî difiroşin korsanan. Xizmeta li meyxaneyê bi xwe ji hêla hosteyê robot û barmanek robot ve tê peyda kirin. Bi saya qalîteya weya bilind û bihayên kêm, we reqîbên xwe derxistin, ji ber vê yekê her kesê ku ji keştiyê peya dibe were meyxana we, ku li bendergehê tenê ye.

Kompleksa pergalên agahdariya meyxaneyê ji nermalava jêrîn pêk tê:

  • Pergalek hişyariya zû ya li ser xerîdarek ku kategoriya xwe li gorî taybetmendiyên taybetmendiyê nas dike
  • Pergala kontrolê ya ji bo hosteyên robot û barmendên robotan
  • Pergala rêveberiya wargeh û radestkirinê heya xala firotanê
  • Pergala Rêvebiriya Têkiliya Pêşkêşker (SURP)

Pêvajoya

Pergala hişyariya zû kesên ku ji keştiyê derdikevin nas dike. Ger kesek paqij be, ew wî wekî deryavan dide nasîn, heke kesek rîh wî hebe, wê demê ew wekî pirat tê nasîn.

Mêvan dema dikeve meyxaneyê, li gorî kategoriya xwe silavek ji hosteyê robot dibihîze, mînakî: "Ho-ho-ho, piratek delal, here ser maseya No..."

Mêvan diçe ser tabloya diyarkirî, li wir barmenê robot jixwe li gorî kategoriyê ji wî re tişt amade kiriye. Robot bartender agahdarî ji pergala depoyê re vediguhezîne ku divê beşa din a radestkirinê were zêdekirin; IS ambaran, li ser bingeha hevsengên mayî yên di hilanînê de, di pergala rêveberiyê de daxwazek kirînê çêdike.

Gava ku dibe ku pergala hişyariya zû ji hêla IT-ya weya hundurîn ve hatî pêşve xistin, dibe ku bernameya rêveberiya robot-bar ji hêla peymankerek derveyî ve bi taybetî ji bo karsaziya we hatî afirandin. Û pergalên ji bo birêvebirina wargeh û têkiliyên bi peydakeran re çareseriyên pakkirî yên xwerû yên ji sûkê ne.

5. Nimûneyên denormalîzasyonê û bandora wê li ser pêşveçûna nermalavê

Di dema sêwirana pêvajoyek karsaziyê de, pisporên mijara hevpeyvînê bi yekdengî diyar kirin ku li çaraliyê cîhanê pirat rûmê vedixwin û rihên xwe bi kulmeyên hestî dişewitînin, û deryavan jî çayê bi tirş vedixwin û her dem paqij in.

Peldanka celebên xerîdar bi du nirxan xuya dike: 1 - pirat, 2 - keştîvan, ji bo tevaya agahdariya pargîdanî ya hevpar.

Pergala ragihandina xerîdar tavilê encama hilberandina wêneyê wekî nasnavê (ID) xerîdarê naskirî û celebê wê hilîne: deryavan an pirat.

ID object naskirin
Kategoriya xerîdar

100500
Pirate

100501
Pirate

100502
Deryavan

Ka em vê yekê careke din bidin zanîn

1. Deryavanên me bi rastî jî mirovên tirşkirî ne
2. Piratên me bi rastî mirovên rih in

Di vê rewşê de çi pirsgirêk hewce ne ku werin rakirin da ku avahiya me ji bo forma normal ya sêyemîn hewl bide:

  • binpêkirina atomî ya taybetmendiyê - Kategoriya Xerîdar
  • tevlihevkirina rastiya analîzkirî û encamê di yek tabloyê de
  • têkiliya fonksiyonel a sabît di navbera taybetmendiyên pêkhateyên cûda de.

Di forma normalîzekirî de, em ê du tabloyan bistînin:

  • encama naskirinê di forma komek taybetmendiyên sazkirî de,

ID object naskirin
Porê rû

100500
ku

100501
ku

100502
na

  • encama destnîşankirina celebê xerîdar wekî serîlêdana mantiqê ku di IS-ê de cîh girtiye ji bo şîrovekirina taybetmendiyên sazkirî

ID object naskirin
Nasnameya Nasnameyê
Kategoriya xerîdar

100500
100001
Pirate

100501
100002
Pirate

100502
100003
Deryavan

Çawa rêxistinek hilanîna daneya normalîzekirî dikare pêşkeftina kompleksek IP-ê hêsan bike? Ka em bibêjin hûn ji nişka ve xerîdarên nû digirin. Bila ew korsanên Japonî bin ku dibe ku rih wan tune be, lê ew bi papagayekê li ser milê xwe dimeşin, û piratên hawirdorparêz bin, hûn dikarin bi hêsanî wan bi profîla şîn a Greta ya li ser sînga çepê nas bikin.

Piratên hawîrdorê, bi xwezayî, nikarin kulên hestî bikar bînin û daxwazek analogek ku ji plastika deryayê ya vezîvirkirî hatî çêkirin dixwazin.

Pêdivî ye ku hûn algorîtmayên bernameyê li gorî têketinên nû ji nû ve bixebitin. Ger qaîdeyên normalîzekirinê bihata şopandin, wê hingê hûn ê tenê ji bo hin şaxên pêvajoyê di hin pergalan de danûstendinan temam bikin û tenê ji bo wan rewşan û di wan IS-an de ku porê rû girîng e, şaxên nû biafirînin. Lê, ji ber ku rêgez nehatin şopandin, hûn ê neçar bin ku li seranserê çerxa ku tê de nirxên pelrêça celebê xerîdar têne bikar anîn tevahî kodê analîz bikin û bi zelalî destnîşan bikin ku di yek rewşê de divê algorîtma profesyonel li ber çavan bigire. çalakiya xerîdar, û di taybetmendiyên laşî yên din de.

Bi rengekî ku digere ji bo normalîzekirinê, em ê du tabloyên bi daneyên xebitandinê û du pelrêçan bistînin:

Denormalîzekirina databasên ERP û bandora wê li ser pêşkeftina nermalavê: vekirina meyxaneyek li Tortuga

  • encama naskirinê di forma komek taybetmendiyên sazkirî de,

ID object naskirin
Greta li ser sînga çepê
Çûk li ser milê
Porê rû

100510
1
1
1

100511
0
0
1

100512

1
0

  • encama destnîşankirina celebê xerîdar (bila ew dîmenek xwerû be ku tê de danasînên ji pelrêçan têne xuyang kirin)

Ma denormalîzasyona hatî tespît kirin tê vê wateyê ku pergal nikarin werin guheztin da ku şertên nû bicîh bînin? Helbet na. Ger em xeyal bikin ku hemî pergalên agahdariyê ji hêla yek tîmek bi zerarbûna karmendan ve hatine afirandin, pêşkeftin baş têne belge kirin û agahdarî di hundurê tîmê de bê windahî têne veguheztin, wê hingê guheztinên hewce dikarin bi hewildanek piçûk werin çêkirin. Lê heke em vegerin şertên eslî yên pirsgirêkê, dê 1,5 klavyeyan tenê ji bo çapkirina protokolên nîqaşên hevbeş û 0,5ek din jî ji bo prosedurên kirînê werin jêbirin.

Di nimûneya jorîn de, her sê formên normal têne binpêkirin, em hewl bidin ku wan ji hev cuda binpê bikin.

Binpêkirina forma yekem a normal:

Em bibêjin ku ji embarên dabînkeran bi hilgirtina yek gazelek 1.5 ton ku aîdî meyxana we ye, tişt têne radest kirin embara we. Mezinahiya fermanên we li gorî danûstendina dabînkeran ew qas piçûk e ku ew her gav yek bi yek bêyî li benda hilberînê têne qedandin. Ma hûn bi pêvajoyek karsaziyek weha re tabloyên cihêreng hewce ne: wesayît, celebên wesayîtan, gelo pêdivî ye ku di fermanên xwe de ji dabînkerên derketine re plan û rastiyê veqetînin?

Tenê bifikirin ka çend girêdanên "zêde" dê bernamenûsên we binivîsin ger hûn modela jêrîn bikar bînin da ku bernameyek pêşve bibin.

Denormalîzekirina databasên ERP û bandora wê li ser pêşkeftina nermalavê: vekirina meyxaneyek li Tortuga

Ka em bêjin me biryar da ku strukturên pêşniyarkirî nehewce tevlihev e; di rewşa me de veqetandina plan û rastiya di qeyda fermanê de agahdariya zêde ye, û taybetmendiya fermana hatî hilberandin li ser bingeha encamên pejirandina tiştên gihîştî ji nû ve hatî nivîsandin, xeletiyên kêm -Destnîşankirin û hatina kelûpelên bi kalîte ne têr li derveyî DI-yê têne bicihkirin.
Û dûv re rojek hûn dibînin ku çawa tevahiya salona meyxaneyê bi piratên hêrs û nelirêtî tije ye. Çi qewimî?

Derket holê ku her ku karsaziya we mezin bû, vexwarina we jî zêde bû. Carekê, biryarek rêveberiyê hate girtin ku ger gazelek bi hejmûn û / an giraniya xwe zêde were barkirin, ku pir kêm bû, peydaker dê barkirinê di berjewendiya vexwarinan de bide pêş.

Tiştên ku nehatine radest kirin di rêza paşîn de diqedin û di firînek nû de dihêlin; hebûna balansek herî kêm di depoya li meyxaneyê de hişt ku meriv hay ji dozên wenda nebe.

Hevrika paşîn li benderê girtî, û doza qutkirî ya zêde barkirina gazêlê, ku ji hêla pêşanîbûnê ve li ser bingeha têra xweya hevsengiya hindiktirîn û barkirina periyodîk a wesayitê hate derbas kirin, bû pratîkek hevpar. Pergala hatî afirandin dê bi îdeal li gorî algorîtmayên ku tê de hatine bicîh kirin bixebite û dê ji her fersendê bêpar bimîne ku têkçûna sîstematîk a bicîhanîna fermanên plansazkirî bişopîne. Tenê navûdengek xerakirî û xerîdarên nerazî dê karibin pirsgirêkê tespît bikin.

Xwendevanek baldar dibe ku ferq kiriye ku hêjmara fermankirî ya di rêzika fermanê de (T_ORDER_SPEC) di beşa 2 û beşa 5 de dibe ku hewcedariya forma yekem a normal bicîh bîne an nebe. Hemî bi vê yekê ve girêdayî ye ku, ji ber cûrbecûr hilbijartî ya hilbijartî, bi bingehîn yekeyên pîvanê yên cihêreng dikarin bikevin heman qadê.

Binpêkirina forma normal ya duyemîn:

Her ku hewcedariyên we mezin dibin, hûn çend wesayîtên din ên bi pîvanên cihêreng bikirin. Di çarçoweya jorîn de, çêkirina pelrêçek wesayîtek zêde hate hesibandin; di encamê de, hemî algorîtmayên hilberandina daneyê ku ji hewcedariyên radestkirinê û wargehê re xizmet dikin, tevgera bargiraniyê ji dabînkerê berbi depoyê ve wekî firîna bi taybetî 1,5 ton dihesibînin. gazelle. Ji ber vê yekê, digel kirîna wesayîtên nû, hûn hîn jî pelrêçek wesayîtê diafirînin, lê dema ku wê bi dawî bikin, hûn ê neçar bin ku hemî koda ku tevgera barkêşiyê referans dike analîz bikin da ku hûn fêr bibin ka li her cîhek taybetî referans li ser taybetmendiyan têne destnîşan kirin. ya pir wesayîta ku karsazî jê dest pê kir.

Binpêkirina forma normal ya sêyemîn:

Di demekê de hûn dest bi afirandina bernameyek dilsoziyê dikin, tomarek xerîdarek birêkûpêk xuya dibe. Mînakî, çima wextê xwe bi afirandina nêrînên maddî yên ku daneyên berhevkirî yên li ser firotanê ji xerîdarek kesane re hilîne ji bo karanîna di raporkirin û veguheztina pergalên analîtîk de derbas dike, ger di destpêka bernameyek dilsoziyê de her tiştê ku xerîdar eleqedar dike dikare li ser tomara xerîdar were danîn. ? Û, bi rastî, di nihêrîna pêşîn de, tiştek tune. Lê her gava ku karsaziya we, mînakî, kanalên firotanê yên nû ve girêdide, divê di nav analîstên we de kesek hebe ku dê ji bîr bike ku taybetmendiyek wusa kombûnê heye.

Dema sêwirana her pêvajoyek nû, mînakî, firotana li ser Înternetê, firotana bi navgîniya belavkerên ku bi pergalek dilsoziya hevpar ve girêdayî ne, divê kesek ji bîr meke ku hemî pêvajoyên nû divê yekbûna daneyê di asta kodê de misoger bikin. Ji bo databasek pîşesaziyê bi hezar tabloyan, ev wekî karekî ne mumkun xuya dike.

Bê guman, pêşdebirek bi tecrûbe dizane ku meriv çawa hemî pirsgirêkên ku li jor hatine destnîşan kirin rawestîne, lê, bi dîtina min, peywira analîstek pispor ne ew e ku wan derxe holê.

Ez dixwazim spasiya xwe ji pêşdebirê pêşeng Evgeniy Yarukhin re ji bo nerînên wî yên hêja di dema amadekirina weşanê de diyar bikim.

Wêjeyê

https://habr.com/en/post/254773/
Connolly Thomas, Begg Caroline. Database. Sêwirandin, pêkanîn û piştgirî. Teorî û pratîk

Source: www.habr.com

Add a comment