• No results found

N´ avrh a struktura datab´ aze

Bˇehem procesu repasov´an´ı se z´ısk´av´a velk´e mnoˇzstv´ı dat, kter´e je nutn´e ukl´adat kv˚uli zpˇetn´e kontrole procesu. Veˇsker´a data musej´ı b´yt pˇr´ıstupn´a z libovoln´e

sta-nice v libovoln´em okamˇziku. Proto jsou ukl´ad´ana do datab´aze bˇeˇz´ıc´ı na serveru. Jako v´ychoz´ı datab´azov´y syst´em byla zvolena datab´aze MySQL. Program je vˇsak navrˇzen tak, aby pˇrid´an´ı nov´eho syst´emu bylo co nejsnaˇzˇs´ı.

Mezi d˚uvody ke zvolen´ı MySQL patˇr´ı :

• dostupnost – Vzhledem k finanˇcn´ı n´aroˇcnosti na poˇr´ızen´ı ˇcteˇcek ˇc´arov´eho k´odu, tisk´arny a poˇc´ıtaˇc˚u pro bˇeh aplikace je v´yhodn´e, ˇze pouˇzit´a datab´aze je zcela zdarma.

• platformov´a nez´avislost – MySQL funguje pod vˇetˇsinou z dnes pouˇz´ıvan´ych operaˇcn´ıch syst´em˚u.

• rozˇs´ıˇrenost – MySQL datab´aze je dnes velmi rozˇs´ıˇrena. V souladu s t´ım byla struktura navrˇzena tak, aby obsahovala veˇsker´e informace o datech v n´ı uloˇzen´ych, a bylo moˇzn´e s datab´az´ı pracovat pˇr´ıpadnˇe i z jin´ych program˚u (zejm´ena pro ˇcten´ı, nikoliv pro z´apis).

Data z´ıskan´a bˇehem repasovac´ıho procesu m˚uˇzeme podle zp˚usobu uloˇzen´ı rozdˇelit do nˇekolika skupin :

• screeny – jedn´a se o obr´azky, neboli

”printscreeny“ specializovan´ych program˚u.

Krom printscreen˚u n´aleˇz´ıc´ıch pˇr´ımo dan´e stanici (napˇr. screeny pˇred a po vy-maz´an´ım pamˇeti ECU, kter´e se prov´adˇej´ı v r´amci diagnostiky) je ve vˇsech sta-nic´ıch moˇznost pˇridat neomezen´y poˇcet

”pˇr´ıdavn´ych screen˚u“, kter´e se poˇrizuj´ı zejm´ena pˇri nˇejak´e neoˇcek´avan´e chybˇe.

• podmnoˇzina z mnoˇziny moˇzn´ych hodnot – jde o v´ybˇer N moˇznost´ı ze seznamu moˇzn´ych hodnot uchov´avan´ych v datab´azi. Z´astupcem t´eto skupiny je napˇr´ıklad uloˇzen´ı seznamu chybˇej´ıc´ıch d´ıl˚u EPS prov´adˇen´e v r´amci stanice diagnostiky.

• hodnota z mnoˇziny moˇzn´ych hodnot, ruˇcnˇe vkl´adan´e hodnoty – pro uloˇzen´ı jedn´e hodnoty z mnoˇziny variant se v aplikaci pouˇz´ıv´a stejn´eho objektu jako u v´ybˇeru podmnoˇziny, ale syst´em uloˇzen´ı vybran´e hodnoty je odliˇsn´y. Prin-cip ukl´ad´an´ı je stejn´y pro kolonky urˇcen´e pro ruˇcnˇe vkl´adan´e hodnoty nebo hodnoty naˇc´ıtan´e ˇcteˇckou.

Krom tˇechto dat datab´aze uchov´av´a samozˇrejmˇe i data t´ykaj´ıc´ı se zak´azek.

Z d˚uvodu vyˇsˇs´ı pˇrehlednosti je celkov´a struktura datab´aze rozdˇelena na nˇekolik samostatnˇe funkˇcn´ıch blok˚u. Sch´ema a popis jednotliv´ych blok˚u jsou zobrazeny v n´asleduj´ıc´ıch podkapitol´ach.

4.2.1 Syst´em uloˇzen´ı zak´azek

Obr´azek 9: Sch´ema uloˇzen´ı zak´azek v datab´azi

C´ˇast datab´aze staraj´ıc´ı se o uloˇzen´ı zak´azek je zobrazena na obr´azku ˇc. 9. Seznam vˇsech zak´azek v datab´azi je uloˇzen v tabulce commissions. Ta obsahuje identifik´ator zak´azky a jej´ı typ dan´y ciz´ım kl´ıˇcem z tabulky possible types of commissions.

Protoˇze kaˇzd´y typ zak´azky obsahuje jin´e informace, jsou jednotliv´e zak´azky stejn´eho typu uloˇzeny v samostatn´ych tabulk´ach. Tabulky commissions se vyuˇz´ıv´a napˇr´ıklad pˇri naˇc´ıt´an´ı zak´azky, kdy nen´ı zn´am typ, ale pouze identifikaˇcn´ı ˇc´ıslo zak´azky.

4.2.2 Syst´em uloˇzen´ı obr´azk˚u (screen˚u)

Veˇsker´e obr´azky ukl´adan´e do datab´aze (reprezentuj´ıc´ı pˇredevˇs´ım printscreeny poˇr´ızen´e bˇehem procesu repasov´an´ı) jsou ukl´ad´any do tabulky screens. Identifik´atorem obr´azku je zde datab´az´ı generovan´a hodnota screen id.

Obr´azek 10: Sch´ema uloˇzen´ı obr´azk˚u (printscreen˚u) v datab´azi Pˇr´ısluˇsnost screenu k zobrazen´ym dat˚um je d´ana tˇremi ciz´ımi kl´ıˇci :

• eps id – ciz´ı kl´ıˇc do tabulky eps table, kter´y specifikuje EPS, u nˇehoˇz byl dan´y screen poˇr´ızen.

• station id – ciz´ı kl´ıˇc do tabulky vˇsech moˇzn´ych stanic, kter´y specifikuje stanici ve kter´e byl dan´y screen poˇr´ızen. Tohoto kl´ıˇce je vyuˇzito zejm´ena pro pˇr´ıdavn´e screeny, tedy screeny typu ADDITIONAL SCREEN, jelikoˇz se mohou vyskyto-vat ve vˇsech stanic´ıch.

• screen type id – ciz´ı kl´ıˇc do tabulky possible types of screens, kter´y urˇcuje typ screenu (napˇr. ADDITIONAL SCREEN, SCREEN OF CALIBRATION apod.) Pomoc´ı t´eto hodnoty je screen identifikov´an v r´amci stanice a je pˇriˇrazen spr´avn´emu tlaˇc´ıtku.

4.2.3 Syst´em uloˇzen´ı dat jednotliv´ych stanic

Na obr´azku ˇc. 11 je zobrazen syst´em ukl´ad´an´ı dat pro jednotliv´e stanice (zde se jedn´a o konkr´etn´ı ˇreˇsen´ı stanice diagnostiky, princip je vˇsak stejn´y pro vˇsechny stanice).

Obr´azek 11: Sch´ema uloˇzen´ı dat stanice diagnostiky v datab´azi

Ruˇcnˇe zad´avan´e hodnoty nebo hodnoty naˇc´ıtan´e ˇcteˇckou se ukl´adaj´ı do tabulky reprezentovan´e n´azvem stanice. Tato tabulka vˇzdy obsahuje prim´arn´ı kl´ıˇc id odkazuj´ıc´ı na tabulku eps table, kter´y identifikuje EPS, ke kter´emu stanice n´aleˇz´ı. Pˇri pˇrid´an´ı nov´eho EPS do datab´aze program vloˇz´ı nov´y z´apis nejen do tabulky eps table, ale tak´e vytvoˇr´ı nov´y z´aznam ve vˇsech tabulk´ach reprezentuj´ıc´ıch stanice. Tyto nov´e z´aznamy maj´ı defaultnˇe nastaven´y stav na UNCOMPLETE (oznaˇcuj´ıc´ı neuzavˇrenou stanici, viz kapitola ˇc. 5.2.4), a vˇsechny ostatn´ı parametry maj´ı defaultn´ı hodnotu null.

Stejnˇe se ukl´adaj´ı i hodnoty z mnoˇziny moˇzn´ych variant. Jedin´ym rozd´ılem je, ˇze datov´y typ atributu je celoˇc´ıseln´eho typu (obvykle SMALLINT, pˇr´ıpadnˇe INT ) a m´a n´avaznost na tabulku s moˇznostmi reprezentovanou ciz´ım kl´ıˇcem (pˇr´ıkladem je atribut noise v tabulce diagnostiky na obr´azku ˇc. 11).

Ukl´ad´an´ı mnoˇziny hodnot je realizov´ano odliˇsnˇe. Z d˚uvodu dosaˇzen´ı co moˇzn´a nejvyˇsˇs´ı norm´aln´ı formy datab´aze, byla pro kaˇzdou skupinu dat, u kter´ych je umoˇznˇen v´ybˇer v´ıce moˇznost´ı, vytvoˇrena vazebn´ı tabulka reprezentuj´ıc´ı vazbu M:N. Kaˇzd´a va-zebn´ı tabulka obsahuje atributy eps id a value id, kter´e tvoˇr´ı sloˇzen´y prim´arn´ı kl´ıˇc.

Z´aroveˇn je eps id ciz´ım kl´ıˇcem do tabulky eps table ud´avaj´ıc´ım pˇr´ısluˇsnost k EPS, a value id je ciz´ı kl´ıˇc z tabulky obsahuj´ıc´ı mnoˇzinu vˇsech moˇznost´ı. Pˇr´ıkladem vazebn´ı tabulky na obr´azku ˇc. 11 je tabulka diagnostic damages parts.