Transcript VAJE

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
• Oracle (SQL)
Načrtovanje PB
1.
Konceptualni model

2.
Logični model

3.
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)
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
1.
2.
3.

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:
1.
2.
3.
4.
5.
6.
7.
8.
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
Peter
ŠTUDENT
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
DEMONSTRATOR
ADMINISTRATOR
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
ŽENSKA
MOŠKI
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 entitetarazmerje 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 )
Priime
k
Id
Id
(1,1)
(1,n)
Je rojena
Ime
Ime
KRAJI
OSEBA
Starost
(1,n)
Je bivala
št.preb.
(1,n)
(1,1)
(t,e)
Se nahaja
Voj.cin
MOSKI
ZENSKA
dek.priimek
(1,n)
Ime
DRZAVE
št.preb.
Vaja 1: Konceptualni model p/b
Planica
 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/b
Formula1
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/b
Evidenca 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/b
Banč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/b
Volitve 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/b
Prevozi
 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 !
Vaja 7: Konceptualni model p/b
Datotečna struktura
Izdelaj konceptualni model na osnovi naslednjih (datotečnih) zapisov :
type student=record
stStudenta: integer;
type ocena=record
ime: string;
stStudenta: integer;
primek: string;
stPredmeta: integer;
naslov: string;
stUcitelja: integer;
end;
datum: string;
ocena:ineteger;
end;
type ucitelj=record
stUcitelja: integer;
ime: string;
primek: string;
naslov: string;
end;
type predmet=record
stPredmeta: integer;
ime: string;
end;
Vaja 8: Konceptualni model p/b
Dokumentacija
Številka naročilnice: 123456
21.12.99
Kupec: 432
Datum:
FOV
Prešernova 11, 4000 Kranj
Komentar: Dobaviti na računalniški center, Kidričeva 57l
Vaja 9: Konceptualni model p/b
Osebna izkaznica
 Izdelaj konceptualni model na podlagi
Osebne izkaznice.