570 likes | 972 Views
PODATKOVNE BAZE naloge iz konceptualnega modeliranja. mag. Boštjan Vouk. TŠC Nova Gorica. Programska orodja. Konceptualno modeliranje Dia http://dia-installer.sourceforge.net/download.php Logično modeliranje DBDesigner 4 http://www.fabforce.net/downloads.php Fizično modeliranje
E N D
PODATKOVNE BAZEnaloge iz konceptualnega modeliranja mag. Boštjan Vouk TŠC Nova Gorica
Programska orodja • Konceptualno modeliranje • Dia • http://dia-installer.sourceforge.net/download.php • Logično modeliranje • DBDesigner 4 • http://www.fabforce.net/downloads.php • Fizično modeliranje • Oracle (SQL)
Načrtovanje PB • Konceptualni model • izdelava modela podatkov v organizaciji, ki naj zadovolji vse informacijske potrebe oz. zahteve na izbranem področju (primer: poslovni sistem – računovodstvo / finance, kadri, proizvodnja, prodaja, nabava, razvoj) • Logični model • izdelava modela podatkov, ki upošteva ciljno PB (primer: relacijska PB) • Fizični model • izdelava fizične PB, ki je odvisna od izbrane PB (tabele, povezave, pravila, poizvedbe, …) • V procesu načrtovanja PB uporabljamo različne metodologije. • Metodologija - strukturni pristop, ki vsebuje oz. uporablja različne procedure, tehnike, orodja in dokumentacijske tehnike
Trije nivoji načrtovanja – trije modeli • Konceptualno načrtovanje – konceptualni oz. semantični podatkovni model • Logično načrtovanje – logični podatkovni model • Kreiranje fizične podatkovne baze – fizična podatkovna baza oz. fizični podatkovni model • Prehodi med modeli in avtomatizacija prehodov
Konceptualni model - Izhodišče IZHODIŠČE ??? • Opis problema v pisni ali ustni obliki in zahteve oz. želje uporabnika/ov; • Dokumentacija ( predpisana(zakonska) ali interna ); • Datotečna struktura (če obstaja)
Konceptualni model - Problem • Kaj je problem? • dobro definiran problem je pol rešitve! • Kako to dosežemo? • Spoznamo organizacijo kot celoto (poslovni & organizacijski sistem): • kdo izdeluje, posreduje, prodaja… • kako je organizirano delovanje… • kakšne so zahteve za podatki in informacijami: - vsakodnevne - občasne - tedenske, mesečne, letne… • postavimo temelje razumevanja organizacije • dokumentacija (zunanja(zakonska) ali notranja) • datotečni zapisi, če obstajajo in so dostopni
Konceptualni model - Izdelava Postopek izdelave: • Identifikacija entitet (entitetnih tipov) • Identifikacija povezav (relationship) • Identifikacija atributov (ime, opis, privzeta vrednost,….) • Opredelitev domen (zaloga vrednosti) • Določitev kandidatnih ključev in primarnega ključa • Specializacija/Generalizacija entitetnih tipov (po potrebi) • Risanje E/R (entity-relationship) diagrama • Konzultacija z uporabnikom(i)
Kaj je konceptualno načrtovanje? • Konceptualno načrtovanje je opredelitev podatkovnih potreb oz. zahtev poslovne domene s pomočjo konceptualnega na semantičnem nivoju (semantičnega modela) • Konceptualno načrtovanje preko konceptualnega modela poskrbi za opis pomena podatkov, potrebnih za poslovno domeno • Konceptualnega načrtovanja ne moremo avtomatizirati, za njegovo izvedbo je odgovoren analitik. Gre za prenos semantike v model
Kaj lahko še rečemo o konceptualnem načrtovanju? • Je najbolj kritično, saj se napake narejene pri konceptualnem načrtovanje prenašajo naprej na naslednje modele • Pri konceptualnem načrtovanju je zelo pomembno sodelovanje uporabnikov in interakcija z uporabniki. Uporabniki so nosilci znanja o poslovni domeni, so poznavalci semantike • Konceptualno načrtovanje mora upoštevati tudi poslovna pravila
Konceptualno načrtovanje • Osnove konceptualnega načrtovanja • Abstrakcija • Entitetni model • Metodologija konceptualnega načrtovanja: tehnike, pristopi, recepti • Podatkovni podmodeli • Prehod iz konceptualnega modela v logični model
Predstavitev pojmov konceptualnega načrtovanja • Percepcija sveta (poslovne domene), ki ga modeliramo: • Razumeti meje poslovne domene • Razumeti poslovno domeno (poslovne procese in poslovne funkcije) ter podatkovne potrebe poslovne domene • Predstavitev intencionalnega dela percepcije: • Opis dejstev, pravil, objektov in dogodkov ter razmerij med njimi preko izdelave konceptualnega oz. semantičnega modela
Percepcija, intencionalnost • Percepcija: zaznavanje, zaznava • Intencionalno: načrtno, premišljeno raziskovanje • Intencionalni del percepcije: načrt, model narejen kot posledica raziskovanja preko percepcije poslovne domene. Model je lahko narejen v katerikoli diagramski tehniki, priporočeno v standardni • Vir: Slovenski pravopis
Abstrakcija • Abstrakcija je mentalni proces, s pomočjo katerega se pri opazovanju in razmišljanju o poslovni domeni osredotočimo le na za nas pomembne karakteristike • Abstrakcija je temelj ustrezne percepcije v okviru konceptualnega načrtovanja • Epizodni spomin: pomnjenje dogodkov • Semantični spomin: pomnjenje principov, pomnjenje oz. razumevanje konceptov • Koncept predstavlja abstraktno idejo o tem, kaj neka stvar je, kaj pomeni, kako jo lahko opišemo…
Abstrakcija • Za konceptualno načrtovanje so pomembne tri vrste abstrakcije: • Klasifikacija • Ureditev tipov • Agregacija
Klasifikacija • Uporablja se za definiranje koncepta kot tipa objektov (dogodkov, predmetov, oseb, pravil, dejstev) na osnovi njihove podobnosti oz. skupnih lastnosti • Skupne lastnosti so podlaga za razvrščanje objektov v pripadajoče tipe – koncepte • Posamezni objekt lahko klasificiramo bodisi v le en tip, bodisi v več tipov hkrati
Klasifikacija OSEBA Peter Tina OSEBA ŠTUDENT Peter Tina
Ureditev tipov • V okviru poslovne domene obstaja več tipov objektov, ki jih je možno urediti v delno urejeno množico z relacijo “je” • Tip B je podtip tipa A, če ob vsakem trenutku velja, da so vsi primerki tipa B hkrati tudi primerki tipa A • Vsak tip je podtip samega sebe • Množice tipov objektov je delno urejena zato, ker vseh tipov objektov ni možno urediti z relacijo je • Zaradi preglednosti ne prikazujemo tranzitivnih in rekurzivnih povezav met tipi objektov
Ureditev tipov • Urejenost tipov objektov podpira tudi dedovanje lastnosti • Vsak tip deduje vse lastnosti svojega neposrednega nadtipa in tranzitivno od vseh nadrejenih tipov • Ko ima tip več neposrednih nadtipov, deduje lastnosti od vseh
Ureditev tipov OSEBA FAKULTETNI DELAVEC ŠTUDENT PEDAGOŠKI DELAVEC ADMINISTRATOR DEMONSTRATOR UČITELJ
Ureditev tipov • Posebna primera urejanja tipov sta generalizacija in specializacija • Generalizacija je postopek prirejanja skupnega nadtipa dvema ali več obstoječim tipom • Specializacija je postopek, kjer posameznemu tipu priredimo dva ali več podtipov. Običajno temelji na določeni lastnosti nadtipa
Ureditev tipov OSEBA ŠTUDENT PEVEC OSEBA MOŠKI ŽENSKA
Agregacija • Preko agregacije definiramo novi – agregirani tip na osnovi obstoječih tipov • Konceptualno ustreza agregaciji iz UML • UML –The Unified Modeling Language • Grafični jezik • za vizualizacijo, specifikacijo, konstruiranje in dokumentiranje
Zahteve pri izdelavi konceptualnega modela I • Izraznost • Potrebna je možnost prikaza različnih konceptov za modeliranje različnih aspektov poslovne domene • Zato so potrebni koncepti za predstavitev tipov objektov, predstavitev njihovih lastnosti in njihovih medsebojnih razmerij • Preprostost • Konceptualni model mora biti preprost, enostaven za uporabo ter lahko in nedvoumno razumljiv • Konceptualni model namreč služi tudi za komunikacijo med uporabnikom in analitikom • Minimalnost • Vsak koncept naj ima svoj pomen • Model naj ne obsega sestavljenih konceptov – kompozitov, ki se jih da izraziti s pomočjo ostalih osnovnih konceptov • Uporaba kompozitov bi morda povečala izraznost in preprostost
Zahteve pri izdelavi konceptualnega modela II • Formalnost • Vsak koncept mora imeti natančno, enoumno in dobro definiran pomen • Ne sme biti dvoma o tem, kaj predstavlja oz. kaj pomeni nek koncept • Grafična popolnost • Vsak koncept mora imeti svojo grafično predstavitev • Model naj ne bo predstavljen le v linearni obliki z uporabo simbolov, temveč v grafični obliki • Grafična oblika pozitivno vpliva na preprostost in večjo informativnost • Berljivost • Model naj bo predstavljen pregledno • Za potrebe preglednosti uporabljati tudi večkratne pojavitve istega koncepta
Lastnosti konceptualnega modela • Pomen besedne zveze Konceptualni model: • Konkretni model okolja – poslovne domene, izražen z intencionalnimi tipi • Opisni in strukturni mehanizem, jezik za opis okolja – poslovne domene • Cilj je, predstaviti poslovno domeno na način, ki bo čim bližje človekovemu razumevanju in dojemanju sveta • Lastnosti konceptualnega modela: izraznost, preprostost, minimalnost, formalnost, grafična popolnost, berljivost
Entitetni model – model entiteta razmerje • Je najpogosteje uporabljana tehnika za predstavitev konceptualnih podatkovnih modelov • Nazivi, ki se uporabljajo: • Konceptualni podatkovni model • Podatkovni model • Entitetni model • ER model • … • Razširjeni model entiteta razmerje
Vloga konceptualnega modela v razvoju IS • Predstavlja podatkovne strukture, ki: • Omogočajo delovanje poslovnih procesov, poslovnih funkcij in izvajanje poslovnih pravil • Predstavljajo podatkovno podlago poslovnim procesom, poslovnim funkcijam in poslovnim pravilom • Govorimo lahko o poslanstvu konceptualnega modela – entitetnega modela
Koncepti entitetnega modela • Entitetni tip (v žargonu se uporablja kar izraz entiteta) • Atribut • Razmerje • Enolični identifikator entitete (ključ)
Entitetni tip - Entiteta • Entitete so posamezne instance tipov objektov iz poslovne domene: dogodki, predmeti, osebe, pravila, dejstva • O entitetah obstaja določena predstava o tem: • kakšne lastnosti dejansko imajo • kakšne lastnosti jim moramo določiti (morajo imeti), da bodo izpolnjevale poslanstvo entitetnega modela • Na osnovi predstave o tem in percepcije, lahko entitete klasificiramo v entitetne tipe: vse entitete, ki ustrezajo določeni predstavi, pripadajo posameznemu entitetnemu tipu
Entitetni tip – Entiteta • Vsak trenutek pripada posameznemu entitetnemu tipu množica entitet tega entitetnega tipa, ki jo imenujemo entitetna množica • Entitetna množica je časovno spremenljiva: entitete nastajajo, se spreminjajo in tudi izginjajo (izstopajo iz množice). Entitetna množica je v nekem trenutku lahko tudi prazna • Simbol za predstavitev entitete IME ENTITETE
Entitetni tip – Entiteta • Različno dojemanje in/ali poimenovanje istega entitetnega tipa – istega koncepta • Razumevanje/poznavanje koncepta iz različnih zornih kotov
Razmerje med entitetami – entitetnimi tipi • Entitete niso svet zase, medsebojno se povezujejo preko razmerij, povezav • Razmerje ima določen pomen • Predstavitev razmerja v klasičnem modelu entiteta-razmerje in v entitetnem modelu (v zadnjem času se v praksi uporablja entitetni model) • Med opazovanim parom (v splošnem podmnožici) entitet je lahko več razmerij: OSEBA, KRAJ – stalno bivališče, začasno bivališče
Predstavitev razmerja OSEBA živi KRAJ
Atribut • Entitete imajo določene lastnosti, posamezne entitete (istega entitetnega tipa) se med seboj razlikujejo po vrednosti njihovih lastnosti • Entiteta ima praviloma veliko lastnosti, le del teh lastnosti je zanimiv oz. pomemben za opazovano poslovno domeno • Lastnosti, ki so pomembne za opazovano poslovno domeno, vključimo v konceptualni model tako, da jih kot atribute določimo entiteti (entitetnemu tipu)
Atribut • Govorimo lahko o več vrstah lastnosti: • Entitetna imena: naziv, ime, opis • Prave entitetne lastnosti: višina, teža, cena, vrednost • Lastnosti, ki jih določimo za potrebe poslovnih procesov, poslovnih funkcij in poslovnih pravil: statusi • Atribut določimo za tisto lastnost, ki je za poslovno domeno pomembna
Primer: Konceptualni model p/b • OPIS: • Podan je naslednji opis sistema. Obstajajo osebe, ki jih opišemo z imenom, priimkom, starostjo, krajem bivanja in krajem rojstva. Osebe so lahko moškega in ženskega spola. Za moške nas zanima še vojaški čin, če ga ima, za ženske pa dekliški priimek. Za kraj nas zanima še čas bivanja v kraju (leta bivanja) in število prebivalstva. Tako za kraj rojstva kot tudi kraj bivanja, nas zanima država v kateri se nahaja(jo). Poleg imena države nas zanima še število prebivalstva države. • Izdelaj konceptualni model !
Primer: Konceptualni model p/b 1) Entitete: entitete so posamezne stvari, ki obstajajo ali mislimo da obstajajo • Osebe (moški + ženske; to so podtipi); specializacija • Kraji • Države
Primer: Konceptualni model p/b 2) Povezave: razmerja med entitetami (1:1, 1:N, M:N) • Oseba / Kraji (je rojena) • Oseba / Kraji (je bivala) ; povezava vsebuje atribut: število let • Kraji / Drzave (leži v)
Primer: Konceptualni model p/b 3) Atributi : so lastnosti entitet. Vsakemu atributu definiramo kardinalnost (m,n); m je min. število in n max. pojavitev • Osebe( ime, priimek, starost) • podtip Moski (vojaški čin) • podtip Zenska(dekliški priimek) • Kraji(ime, število prebivalcev) • Drzave(ime, število prebivalcev)
Primer: Konceptualni model p/b 4) Domene: vrednosti, ki jih lahko ima atribut. Glede na domeno definiramo podatkovni tip • znakovni tipi • številčni tipi • datumski tip • …
Primer: Konceptualni model p/b 5) Identifikatorji – ključi ( močni-sestavljen iz lastnih atributov, šibki-sestavljen iz atributov več entitet) • Osebe( ime, priimek, starost); lahko tudi ID • podtip Moski (vojaški čin) • podtip Zenska(dekliški priimek) • pri podtipih identifikatorja (ključa) nista postavljena ker dedujeta vse lastnosti od nadtipa OSEBE • Kraji( ime, število prebivalcev); lahko tudi ID • Drzave( ime, število prebivalcev); lahko tudi ID
Primer: Konceptualni model p/b 6.) Specializacija / generalizacija (t,e) totalno in ekskluzivno pokrivanje • osebe moški, ženske
Orodje za izdelavo konceptualnega modela • Dia • http://dia-installer.sourceforge.net/download.php
Primer: Konceptualni model p/b 7.) E / R diagram (dia-installer.sourceforge.net) Id Priimek Id (1,n) (1,1) Je rojena Ime Ime KRAJI OSEBA št.preb. Starost (1,n) (1,n) Je bivala (1,1) (t,e) Se nahaja (1,n) Voj.cin dek.priimek MOSKI ZENSKA Ime DRZAVE št.preb.
Vaja 1: Konceptualni model p/bPlanica • OPIS: • V Planici vsako leto prirejajo tekmovanja v smučarskih skokih in poletih. O tekmovanjih zbiramo več podatkov: datum in čas začetka tekmovanja, ime tekmovanja (npr. »20. TEKMOVANJE ZA SVETOVNI POKAL«) , predviden čas trajanja in na kateri skakalnici poteka (npr. »90 metrska skakalnica«). Neko tekmovanje lahko poteka le na eni izmed skakalnic. Na tekmovanja se lahko prijavijo tekmovalci za katere moramo poznati: ime, priimek in ime države iz katere prihaja (npr. »NORVEŠKA«). Za vsakega tekmovalca vodimo tudi podatke o skokih, ki jih je izvedel na posameznem tekmovanju. Za vsak skok poznamo tudi dolžino skoka v metrih (npr. 158,6), skupno oceno za slog v točkah (npr. 8,98), status skoka (npr. »USPEŠEN«, »RAZVELJAVLJEN«, »PADEC«,…) in zaporedno številko skoka (vsak tekmovalec lahko izvede največ tri skoke, oziroma v primeru ponovitve tudi več). • Izdelaj konceptualni model !
Vaja 2: Konceptualni model p/bFormula1 OPIS: • Sestavite konceptualni model podatkov, s katerim boste hranili podatke o tekmovanju formule 1. O tekmovanju hranimo naslednje podatke: država, kraj, ime steze, datum in ura začetka tekme, vreme (deževno, oblačno, spremenljivo, sončno), temperaturo zraka in steze ter sliko steze, število obiskovalcev in število nastopajočih voznikov. Vsako tekmovanje je označeno z zaporedno številko (2 mesti). Za vsakega voznika hranimo ime, priimek, ime moštva, zaporedno številko, štartno mesto, čas najhitrejšega kroga in sliko. V kolikor je voznik prišel do cilja, hranimo podatke o doseženem mestu, številu prevoženih krogov, skupnem času in povprečni hitrosti. Če je voznik izpadel, zabeležimo številko kroga in razlog (okvara, nesreča, vozniška napaka). • Izdelaj konceptualni model !
Vaja 3: Konceptualni model p/bEvidenca zdravil • OPIS: • Aplikacija evidenca zdravil naj omogoča evidenco zdravil, njihovih dobaviteljev ter evidenco porabe zdravil po uporabnikih. Aplikacija naj omogoča tudi evidenco zalog in njihovo naročanje ko le-te padejo pod neko kritično količino – signalno zalogo. O zdravilih hranimo naslednje podatke: šifro, naziv, dobavitelja, cena, davčna skupina in opis. Vodimo tudi evidenco zalog zdravil po letih. O dobaviteljih/kupcih vodimo naslednje podatke: šifra, naziv, kraj, naslov, poštna številka in naziv pošte, država, telefon, fax, e-mail in kontaktna oseba. Zdravila prejmemo z dokumentom (prejeta dobavnica), izdamo/prodamo pa z dokumentom (izdana dobavnica oz. račun). O dokumentih vodimo podatke: vrsta dokumenta(prejeta dobavnica, izdana dobavnica,…), številka dokumenta, datum dokumenta, kupec/dobavitelj. Vsak dokument ima še podrobnosti, to so podatki : zdravilo(izdelek) in količina. • Izdelaj konceptualni model !
Vaja 4: Konceptualni model p/bBančno poslovanje • OPIS: • Enostavno bančno poslovanje naj omogoča evidenco komitentov(strank), bank ter evidenco dvigov oz. pologov in posojil. Za komitente hranimo naslednje podatke: ime in priimek, naslov, kraj, pošto in naziv pošte ter višina limita in dnevnega limita. Za banke pa naslednje podatke: naziv, naslov in kraj. Komitenti(stranke) lahko dvigujejo in polagajo na svoj bančni račun različne vsote denarja, dvig pa je omejen z limitom. Vsak uporabnik lahko dvigne na dan samo določeno vsoto denarja(dnevni limit). Poleg tega komitent najame lahko tudi posojilo/a pri banki, ki jih odplačuje v mesečnih obrokih. O le-teh hranimo naslednje podatke : višina posojila (glavnica), število obrokov in višina obroka. • Izdelaj konceptualni model !
Vaja 5: Konceptualni model p/bVolitve v šolski parlament • OPIS: • Na volitvah v šolski parlament, dijaki glasujejo tako da, na volilnem listu obkrožijo številko kandidata za katerega glasujejo. Vsak dijak odda dva glasova: enega za predsednika in enega za člana šolskega parlamenta. O dijakih evidentiramo naslednje podatke: vpisna številka, ime in priimek, datum rojstva in razred, o kandidatih pa poleg le-teh še zaporedno številko kandidata, ki jo določimo z žrebom ter volilni program. Izide volitev zapišemo tako da, poleg vpisne številke dijaka, ki je volil zapišemo tudi zaporedno številko kandidata za katerega je glasoval ter funkcijo (član ali predsednik). • Izdelaj konceptualni model !
Vaja 6: Konceptualni model p/bPrevozi • OPIS: • Transportna delovna organizacija opravlja transportno-prevozniško dejavnost. Prevoze opravljajo s tovornjaki. Ker se tovornjaki med seboj razlikujejo in so izkušnje ter vozne sposobnosti voznikov različne, je v podjetju za vsak posamezni tovornjak znano, kateri voznik sme voziti kateri tovornjak. Za vsakega voznika jih zanimajo naslednji podatki: ime in priimek, naslov, kraj, državljanstvo in kategorije(A,B,C,D,E), za katere ima izpit. Za vsako vozilo jih zanima naslednje: teža, nosilnost, znamka, dolžina in tip. Za vsako naročilo stranke se izda delovni nalog, ki lahko obsega tudi več prevozov. Za vsak posamezni prevoz nas zanima teža tovora in pa cena prevoza. Vse prevoze enega delovnega naloga opravi isti voznik. Ko je posel opravljen, se za delovni nalog stranki izda račun. • Izdelaj konceptualni model !