pregled prvega dela predavanja DEFINICIJE ... - Student Info
pregled prvega dela predavanja DEFINICIJE ... - Student Info
pregled prvega dela predavanja DEFINICIJE ... - Student Info
Transform your PDFs into Flipbooks and boost your revenue!
Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.
<strong>pregled</strong> <strong>prvega</strong> <strong>dela</strong> <strong>predavanja</strong><br />
Računalniški praktikum<br />
2. predavanje:<br />
Uvod v E-R modeliranje in<br />
normalizacija modelov<br />
Ljupčo Todorovski<br />
http://www.fu.uni-lj.si/personal/ljupco/<br />
• definicije osnovnih pojmov<br />
– podatkovni model<br />
– modeliranje podatkov<br />
• osnove E-R modeliranja<br />
– entiteta, relacija, atributi, tipi, ...<br />
– entitetni diagram<br />
– gradniki entitetnih diagramov<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
podatkovni model<br />
<strong>DEFINICIJE</strong><br />
OSNOVNIH POJMOV<br />
• je formalni način predstavitve konceptov, o<br />
katerih zbiramo podatke<br />
– objekti, subjekti ali pojmi<br />
– ter relacije med njimi<br />
• primer – informacijski sistem FU<br />
–koncepti:<br />
• študent, predavatelj, predmet, izpit, študijski program, ...<br />
– relacije med koncepti:<br />
•študent posluša predmet<br />
•predavatelj predava predmet<br />
•študent je opravil izpit<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
trije nivoji podatkovnih modelov<br />
• konceptualni model<br />
– identifikacija osnovnih konceptov in relacij<br />
– kot primer na prejšnji prosojnici<br />
• logični model<br />
– prikaz organizacije podatkov (vse lastnosti<br />
posameznih konceptov in relacij)<br />
– ne upošteva omejitve programske in strojne<br />
opreme<br />
• fizični model<br />
– upošteva omejitve programske in strojne opreme<br />
– prevod logičnega mo<strong>dela</strong> v računalniško obliko<br />
– v okviru tega predmeta: Access podatkovna baza<br />
modeliranje podatkov<br />
• je postopek gradnje podatkovnega<br />
mo<strong>dela</strong><br />
• ponavadi po nivojih<br />
– najprej konceptualni, pa logični in na koncu<br />
še fizični model<br />
•pomemben korak<br />
– normalizacija podatkovnega mo<strong>dela</strong><br />
– na naslednjem predavanju<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007
E-R MODELIRANJE<br />
E: entiteta<br />
• predstavlja množico sorodnih<br />
– objektov, subjektov ali pojmov<br />
– ki so pomembni za delovanje organizacije<br />
– in o katerih zbiramo podatke v IS<br />
• ime entitete: samostalnik v ednini<br />
• dve rabi pojma entitete<br />
– tip entitete zajema vse objekte<br />
– predstavnik entitete je posamezen objekt<br />
•primer<br />
– tip entitete: študent<br />
–predstavnik entitete: Janez Horvat<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
R: relacija ali povezava<br />
• je povezava med dvema ali več tipi entitet<br />
– ki je pomembna za načrtovan IS<br />
• ime relacije: glagol<br />
• dve rabi pojma relacije<br />
– tip relacije zajame vse možne povezave<br />
– predstavnik relacije je konkretna povezava<br />
•primer<br />
– tip relacije: študent je opravil izpit<br />
– predstavnik relacije:<br />
Janez Novak je opravil <strong>Info</strong>rmatiko<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
atribut<br />
• opisuje oziroma določa lastnost entitete<br />
– ki je pomembna za načrtovan IS<br />
• ime atributa: samostalnik<br />
• dve rabi pojma atribut<br />
– tip atributa: številka, niz znakov, datum/čas, ...<br />
– vrednost atributa: 123, Janez Horvat, 1.3.2006<br />
• primeri atributov entitete študent<br />
– ime_in_priimek<br />
• tip: niz znakov, vrednosti: Janez Horvat, Mojca Novak<br />
–datum_rojstva<br />
• tip: datum, vrednosti: 1.3.1975, 20.5.1976<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
entiteta, atributi in primerki: primer<br />
atributi: vpisna št. ime in priimek datum rojstva naslov<br />
1. primerek: 123456 Janez Horvat 7. marec 1986 ...<br />
2. primerek: 123457 Mojca Novak 1. april 1985 ...<br />
ENTITETA ŠTUDENT<br />
E-R modeliranje<br />
• entitetni diagram<br />
– tudi entitetno-relacijski (E-R) diagram<br />
• trije osnovni koncepti [Chen 1976]:<br />
– objekt opazovanja – ENTITETA<br />
– lastnost entitete – ATRIBUT<br />
– povezava med entitetami – RELACIJA<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007
primer E-R diagrama:<br />
konceptualni model<br />
primer E-R diagrama:<br />
logični model<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
grafični simboli ERD<br />
• poimenovanje simbolov<br />
kategorije atributov<br />
• sestavljen atribut – primer naslov<br />
– ulica, hišna številka, naselje, pošta, ...<br />
• primarni ključ<br />
– ali identifikacijski atribut<br />
–omogoča enolično identifikacijo primerka entitete<br />
– primera: EMŠO, vpisna_številka<br />
• sekundarni ključ<br />
–omogoča enostavno (ne pa nujno enolično!) identifikacijo<br />
primerka entitete<br />
– primer: ime in priimek<br />
• sestavljen ključ<br />
– sestavljen iz večjega števila atributov<br />
– primer: ime_in_priimek + datum_rojstva<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
kategorije in kardinalnost relacij<br />
• eksistenčne kategorije relacij<br />
– NOT_NULL: primerek prve entitete mora<br />
obstajati pred obstojem druge entitete<br />
– NULL: ni nobenih zahtev po obstoju<br />
primerkov entitet<br />
grafična predstavitev relacij<br />
• števnost relacij<br />
–1:1<br />
–1:N<br />
–N:M<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007
primer relacije 1,N:1,1<br />
Primeri relacij 1:1<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
primeri relacij 1:N<br />
primeri relacij N:M<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Stranka<br />
Avtor<br />
E-R model: mediateka<br />
Izposoja<br />
Tip_medija<br />
Avtorstvo<br />
Delo<br />
Vrsta<br />
mediateka: primeri entitet<br />
• evidenca del v mediateki<br />
– entiteta delo<br />
– atributi: šifra, naslov, letnik, cena, količina,<br />
tip medija, vrsta, jezik<br />
– primarni ključ: šifra<br />
Zvrst<br />
Pripadnost<br />
_zvrsti<br />
Jezik<br />
• evidenca strank v mediateki<br />
–entiteta stranka<br />
– atributi: šifra, ime in priimek, telefon<br />
– primarni ključ: šifra<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007
mediateka: primeri povezav<br />
• evidenca izposoj<br />
– povezave med tabelami: “delo”, “stranka” in<br />
“izposoja”<br />
– primerek: Ana si je izposodila “Cvetje v jeseni”<br />
• kako povezave izvedemo v Accessu<br />
– preko tujih ključev (Lookup, Lookup Wizard)<br />
• tabela “izposoja” ima dva tuja ključa<br />
– en je šifra <strong>dela</strong>: povezava s tabelo “delo”<br />
– drugi je šifra stranke: povezava s tabelo “stranka”<br />
– primerek: 1 (Ana), 553 (Cvetje v jeseni)<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
<strong>pregled</strong> drugega <strong>dela</strong> <strong>predavanja</strong><br />
• normalizacija podatkovnega mo<strong>dela</strong><br />
–normalne forme<br />
– zakaj in kako<br />
• <strong>pregled</strong> fizičnega podatkovnega mo<strong>dela</strong><br />
– na praktičnem primeru iz programa Access<br />
• nekatere zahtevnejše relacije<br />
– relacije N:M<br />
–večmestne relacije<br />
– rekurzivne relacije<br />
– hierarhija tipov entitet<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
literatura za E-R modeliranje<br />
• zapiski s predavanj in vaj<br />
• poglavje 3.2 v knjigi<br />
– Kovačič, A. in Vintar, M. (1994)<br />
Načrtovanje in gradnja informacijskih<br />
sistemov. DZS, Ljubljana.<br />
• povezave na domači strani<br />
primeri vprašanj<br />
• Kaj je entiteta Kaj je atribut entitete Kaj je<br />
primarni ključ<br />
• Kaj je povezava med entitetami Navedi<br />
primer “tipa povezave” in “primerka<br />
povezave”<br />
• Kako realiziramo povezave v programu<br />
Access Kaj je tuji ključ<br />
• Za višjo oceno: Kaj je števnost povezav<br />
Navedi primer povezave M:N.<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
normalizacija: zakaj<br />
• E-R model (konceptualni in logični)<br />
– razumljiv razvijalcem in uporabnikom<br />
– ni direktno uporaben za konkretno izvedbo<br />
–težave<br />
• povezave M:N<br />
• sestavljeni atributi in ključi<br />
NORMALIZACIJA<br />
• zato NORMALIZACIJA<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007
nenormalizirani<br />
podatki<br />
normalizacija: kako<br />
prva normalna<br />
forma<br />
druga normalna<br />
forma<br />
tretja normalna<br />
forma<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
prehod v prvo normalno formo<br />
•najprej prehod iz<br />
– nenormaliziranih podatkov<br />
– v prvo normalno formo<br />
• kaj počnemo: izločamo<br />
–vse ponavljajoče se skupine atributov<br />
– v samostojne entitete<br />
• primera (na tabli)<br />
– obiski pri zdravniku<br />
– študenti in opravljeni izpiti<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
prehod v drugo normalno formo<br />
•potem prehod<br />
– iz prve normalne forme<br />
– v drugo normalno formo<br />
• kaj počnemo: zagotavljamo<br />
– vsi atributi odvisni od celotnega ključa<br />
– tam kjer se pojavijo sestavljeni ključi<br />
• primera (na tabli)<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
prehod v tretjo normalno formo<br />
• nazadnje prehod<br />
– iz druge normalne forme<br />
– v tretjo normalno formo<br />
• kaj počnemo: odstranimo<br />
– vse posredne odvisnosti<br />
– med primarnim ključem<br />
– in ostalimi atributi<br />
• primera (na tabli)<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
postopek denormalizacije<br />
• načelo učinkovitosti<br />
– zaradi povečanja učinkovitosti delovanja<br />
podatkovne baze<br />
– gremo v iz mo<strong>dela</strong> podatkov v tretji NF<br />
– za korak nazaj in v modelu dopustimo<br />
podatke v nižjih NF<br />
OGLED PRIMERA MODELA<br />
V PROGRAMU ACCCESS<br />
• postopek imenujemo<br />
DENORMALIZACIJA<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007
konceptualni E-R diagram<br />
• vključuje<br />
– pomembne entitete in relacije med njimi<br />
• atributi entitet še niso določeni<br />
• primarni ključi še niso določeni<br />
logični E-R diagram<br />
• vključuje<br />
– vse entitete in relacije med njimi<br />
• za vsako entiteto<br />
– so našteti vsi atributi<br />
– podrobni tipi atributov še niso določeni<br />
– določen primarni ključ<br />
• razrešene so relacije tipa M:N<br />
• tuji ključi so določeni<br />
• izveden je postopek normalizacije<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
fizični E-R diagram<br />
• podrobno so določene<br />
– vse tabele in stolpci<br />
• v vsaki tabeli<br />
– vsakemu atributu je določen fizični tip<br />
• tuji ključi določajo relacije med tabelami<br />
• glede na uporabniške zahteve je<br />
izveden postopek denormalizacije<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
nenormalizirana mediateka<br />
• ena sama entiteta “delo”<br />
•atributi<br />
– osnovni: šifra, naslov, letnik, cena, količina, tip<br />
medija, vrsta, jezik<br />
– ponavljajoča se skupina atributov: šifra<br />
stranke, ime in priimek, telefon, poštna številka,<br />
mesto, datum izposoje, datum vrnitve, plačilo<br />
• NAROBE: ponavljajoča se skupina atributov<br />
– če so si “Cvetje v jeseni” sposodili 10x<br />
– se skupina atributov ponovi 10x<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
mediateka v prvi normalni formi (1)<br />
• dve entiteti: “delo” in “izposoja”<br />
– ponavljajočo se skupino atributov ločimo v posebno entiteto<br />
“izposoja”<br />
• atributi entitete “delo”: osnovni od prej<br />
• atributi entitete “izposoja”:<br />
– šifra <strong>dela</strong> (tuji ključ, ki poveže delo z izposojo) +<br />
ponavljajoča se skupina od prej<br />
– šifra <strong>dela</strong>, šifra stranke, ime in priimek, telefon, poštna<br />
številka, mesto, datum izposoje, datum vrnitve, plačilo<br />
• kaj je primarni ključ entitete “izposoja”<br />
– sestavljen: šifra stranke, šifra <strong>dela</strong>, datum izposoje<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
mediateka v prvi normalni formi (2)<br />
• kaj je zdaj narobe<br />
• ponavljajoči se podatki<br />
– pri šifri stranke 1 (del ključa)<br />
– se vedno ponovijo isti podatki:<br />
• ime in priimek (Ana)<br />
• telefon (031555666)<br />
• poštna številka (1000)<br />
•mesto (Ljubljana)<br />
– če Ana opravi 10 izposoj se njeni podatki<br />
ponovijo 10x<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007
mediateka v drugi normalni formi (1)<br />
• tri entitete: “delo”, “izposoja” in “stranka”<br />
– ponavljajoče se podatke ločimo v posebno entiteto<br />
“stranka”<br />
• atributi entitete “delo”: isti kot prej<br />
• atributi entitete “izposoja”:<br />
– šifra <strong>dela</strong> (tuji ključ – povezava z delom)<br />
– šifra stranke (tuji ključ – povezava s stranko)<br />
– datum izposoje, datum vrnitve, plačilo<br />
• atributi entitete “stranka”:<br />
– šifra stranke, ime in priimek, telefon, poštna<br />
številka, mesto<br />
mediateka v drugi normalni formi (2)<br />
• kaj je zdaj narobe<br />
• ponavljajoči se podatki (spet!)<br />
– pri poštni številki 1000 (ni del ključa)<br />
– se vedno ponovi isti podatek:<br />
•mesto (Ljubljana)<br />
– če je 100 strank iz Ljubljane se kombinacija<br />
1000, Ljubljana ponovi 100x<br />
• tretja normalna forma: dodatna entiteta<br />
“mesto” (ali bolj splošno “kraj”)<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
literatura o normalizaciji<br />
• zapiski s predavanj in vaj<br />
• poglavje 3.4 v knjigi<br />
– Kovačič, A. in Vintar, M. (1994)<br />
Načrtovanje in gradnja informacijskih<br />
sistemov. DZS, Ljubljana.<br />
• povezave na domači strani<br />
primeri vprašanj<br />
• Zakaj uporabljamo normalne forme<br />
• Kaj zagotavlja prva normalna forma Kaj pa<br />
druga in tretja<br />
• Kako prehajamo v prvo normalno formo<br />
Kako pa prehajamo v drugo oz. tretjo<br />
• Za višjo oceno: Kaj je razlika med drugo in<br />
tretjo normalno formo<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
relacije N:M<br />
• relacija DELAVEC - PROJEKT<br />
• Vpeljemo novo entiteto RAZPORED<br />
BOLJ NAPREDNE RELACIJE<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007
večmestne relacije<br />
• transformacija v dvomestne relacije<br />
rekurzivna relacija<br />
• vsak zaposlen lahko ima šefa<br />
• vsak šef ima lahko več podrejenih<br />
DELAVEC<br />
PROJEKT<br />
ZNANJE<br />
RAZPORED<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
hierarhija tipov entitet<br />
• entiteta OSEBNI_AVTO, podtipi<br />
–KABRIOLET<br />
–SEDAN<br />
–KOMBI<br />
VPRAŠANJA IN DISKUSIJA<br />
•skupni atributi<br />
– barva, prostornina motorja<br />
• dodatni atributi<br />
– KABRIOLET: material za izvedbo strehe<br />
– KOMBI: dovoljena teža za prevoz tovora<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007<br />
Računalniški praktikum – 2. predavanje Fakulteta za upravo, 2007