31.01.2015 Views

pregled prvega dela predavanja DEFINICIJE ... - Student Info

pregled prvega dela predavanja DEFINICIJE ... - Student Info

pregled prvega dela predavanja DEFINICIJE ... - Student Info

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!