logicko modelovanje podataka (baze podataka)

5
NEKA HEURISTIČKA UPUTSTVA ZA PROJEKTOVANJE BAZE PODATAKA CILJEVI: 1. Minimum redundanse. 2. Optimalno prema programskoj podršci - minimum utroška vremena za izd memorije. Funkcionalnost. Upotrebljivost u realnim uslovima. 3. Optimalno prema promenama u vremenu - pogodnost kasnijeg odravanja Fleksibilnost. !istem treba da ivi u vremenu uz minimalne ili nikakve ". Ugra#ivanje semanti$ki% odnosa realnog sveta - adekvatnost &. Ugra#ivanje ograni$enja 'integriteta( u bazu podataka odnosno) ako j !*+,-u) koristiti što više /0 * 45O! !60 naredbi) ili me%anizme podataka 'integritet domena) integritet torke relacije) re7erencijalni - da baza podataka sama sebe štiti od grešaka 'unosa() a ne da zavisi o - ugra#ivanje lokalni% pravila u vidu kardinaliteta ili uopšte u odnosi pravila 'loklani% pravila koja vae u odre#enoj organizaciji( 8. ,otpunost modela podataka) tako da pokriva podacima sve procese koji svega primitivne procese) tj) da su sve in7ormacione potrebe pokrivene) !! da ima adekvatan atribut u MO4) tj 9 M-u. akle) pokrivenost potre :. !manjenje broja tabela) radi lakše manipulacije i 7leksibilnijeg reš ;. Uvo#enje <reda<) zbog anomalija auriranja) korektnost. MATERIJAL KOJI KORISTIMO: 1. TEKST OPISA POSLA 2. ! *U/ U*5U ! ! M 5 0 =U a. lementarni podaci - na osnovu nji% dobijamo atribute za entitete b. Odnosi elementarni% podataka 'sintaksa pomo>u zagrada( - element jednoj celini naj$eš>e pripadaju jednom entitetu) ?@ govori o pona c. !kladišta podataka - naj$eš>e se razbijaju na entitete) tabele d. ,rimitivni procesi - osnov za podšeme 'podmodele( +, e. ,oslovna pravila - tabele sa parametrima 7. omeni - ši7arni$ke tabele - entiteti POSTUPAK: ,ostupak nije linearan. Opisan je kao niz koraka koje treba uraditi jed 1. Preuzim!"e e#eme!$r!i% &'($) a. mportovanje elementarni% podataka iz !! b. rans7ormacija elementarni% podataka koji su preuzeti iz !! ) ukoli - lementarni podaci koji su mnoina postaju jednina - lementarni podaci koji se nazivaju kao struktura i mogu se dalje de podatke) vrši se kreiranje novi% elementarni% podataka koji $ine tu st - 5epotpuno imenovani elementarni podaci se dopunjuju dovoljno precizni - 5eop%odno je imati) za nedovoljno jasno imenovane elementarne podatke nnotation delu u 9 ! alatu() kako bi se potpuno razumelo zna$enje k odrediti njegovo mesto. - !inonimi 'razliciti termini za isti pojam) svode se na jedan termin(D upotrebe) razdvajaju se razlicite pojave( 1

Upload: dacke23

Post on 06-Oct-2015

27 views

Category:

Documents


0 download

DESCRIPTION

Logicko Modelovanje Podataka (Baze Podataka)

TRANSCRIPT

NEKA HEURISTIKA UPUTSTVA ZA PROJEKTOVANJE BAZE PODATAKA

NEKA HEURISTIKA UPUTSTVA ZA PROJEKTOVANJE BAZE PODATAKA

CILJEVI:

1. Minimum redundanse.

2. Optimalno prema programskoj podrci - minimum utroka vremena za izdvajanje podataka i memorije. Funkcionalnost. Upotrebljivost u realnim uslovima.

3. Optimalno prema promenama u vremenu - pogodnost kasnijeg odravanja i intervencija. Fleksibilnost. Sistem treba da ivi u vremenu uz minimalne ili nikakve intervencije nad bazom.

4. Ugraivanje semantikih odnosa realnog sveta - adekvatnost

5. Ugraivanje ogranienja (integriteta) u bazu podataka odnosno, ako je implementirano u samom SRBP-u, koristiti to vie DEKLARATIVNOST SQL naredbi, ili mehanizme zatite integriteta baze podataka (integritet domena, integritet torke relacije, referencijalni integritet)

- da baza podataka sama sebe titi od greaka (unosa), a ne da zavisi od programa

- ugraivanje lokalnih pravila u vidu kardinaliteta ili uopte u odnosima, tj. ugraivanje poslovnih pravila (loklanih pravila koja vae u odreenoj organizaciji)

6. Potpunost modela podataka, tako da pokriva podacima sve procese koji su definisani u SSA, a pre svega primitivne procese, tj, da su sve informacione potrebe pokrivene, tj. svaki elementarni podatak iz SSA da ima adekvatan atribut u MOV, tj CDM-u. Dakle, pokrivenost potreba realnog sistema.

7. Smanjenje broja tabela, radi lake manipulacije i fleksibilnijeg reenja

8. Uvoenje "reda", zbog anomalija auriranja, korektnost.

MATERIJAL KOJI KORISTIMO:

1. TEKST OPISA POSLA

2. STRUKTURNU SISTEM ANALIZU

a. Elementarni podaci - na osnovu njih dobijamo atribute za entitete

b. Odnosi elementarnih podataka (sintaksa pomou zagrada) - elementarni podaci koji se javljaju u jednoj celini najee pripadaju jednom entitetu, {} govori o ponavljanju, [] isA, // null

c. Skladita podataka - najee se razbijaju na entitete, tabele

d. Primitivni procesi - osnov za podeme (podmodele) BP

e. Poslovna pravila - tabele sa parametrima

f. Domeni - ifarnike tabele - entiteti

POSTUPAK:

Postupak nije linearan. Opisan je kao niz koraka koje treba uraditi jednom ili vie puta u iteracijama.

1. Preuzimanje elementarnih podataka

a. Importovanje elementarnih podataka iz SSA

b. Transformacija elementarnih podataka koji su preuzeti iz SSA, ukoliko u SSA nije izvrena korekcija

- Elementarni podaci koji su mnoina postaju jednina

- Elementarni podaci koji se nazivaju kao struktura i mogu se dalje dekomponovati na elementarne podatke, vri se kreiranje novih elementarnih podataka koji ine tu strukturu.

- Nepotpuno imenovani elementarni podaci se dopunjuju dovoljno preciznim imenom.

- Neophodno je imati, za nedovoljno jasno imenovane elementarne podatke detaljniji opis (npr. u Annotation delu u CASE alatu), kako bi se potpuno razumelo znaenje kako bi se moglo pravilno odrediti njegovo mesto.

- Sinonimi (razliciti termini za isti pojam, svode se na jedan termin)= i homonimi (jedan termin za razne upotrebe, razdvajaju se razlicite pojave)

2. Kreiranje preliminarnog skupa entiteta i dodeljivanje atributa, primena heuristika ([ML], str. 51):

- ANALIZA TEKSTA OPISA POSLA: Imenice (subjekti, objekti) iz opisa posla postaju kandidati za entitete

- IJI ELEMENTARNI PODATAK: Na osnovu imena elementarnog podatka, odreuje se koji je entitet kojem pripada, pa se kreira odgovarajui entitet i njemu dodeljuje ovaj i ostali atributi koji mu odgovaraju.

- DEKOMPOZICIJA SKLADITA PODATAKA: Sva skladita podataka se preuzimaju iz DTP-a (SSA) i vri se njihova dekompozicija na entitete, tako to se uoavaju odnosi izmeu elementarnih podataka na nivou svakog skladita ponaosob (brojni odnosi, odnosi meuzavisnosti) i koriste se odnosi izraeni u navoenju strukture skladita pomou zagrada.

- NORMALIZACIJA - dovoenje skladita podataka do "normalizovanih" entiteta

1. normalna forma - atomarne vrednosti

2. normalna forma - potpuna funkcionalna zavisnost svakog od nekljunih obeleja od kandidata za klju

3. normalna forma - nepostojanje tranzitivnih funkcionalnih zavisnosti (obavezno), nepostojanje izraunljivih polja (u nekim sluajevima se dozvoljava, ali se mora strogo kontrolisati)

3. Transformacija preliminarnog skupa entiteta i atributa

a. Eliminisanje redundanse - atributi koji se ponavljaju u vie entiteta se izdvajaju u posebnu tabelu. Jedan elementarni podatak bi trebalo da se memorie samo u jednoj tabeli.

b. Transformacija elementarnih podataka - bitno je da se svaki elementarni podatak koji je preuzet iz SSA bude pokriven nekim oblikom.

- Izraunljivi elementarni podaci se ne memoriu, ve se od ostalih elementarnih podataka trai da li se moe pokriti njihovo izraunavanje, ukoliko je trivijalno njihovo izraunavanje, a ukoliko ne moe, dodaju se elementarni podaci koji su sirovi za ovaj izraunljivi podatak. Primeri: prosena ocena studenta, prosena plata radnika, broj studenata po smerovima,...

- Reavanje problema sinonima i homonima - potrebno je da ostane samo jedan termin za istovetno znaenje. HOMONIMI - isti naziv a razliito znaenje (semantika). Na primer, Obeleje DATUM, moe da znai Datum roenja Radnika, ali i Datum zaposlenja Radnika, pa jedan naziv DATUM ima razliito znaenje.

c. Dodavanje elementarnih podataka

- Dodavanje identifikacionih obeleja - Zgodno je da se identifikaciono obeleje zove ID_xxx, ili samo XXX, npr, Id_pacijenta, ili samo Pacijent (zgodno kasnije kada se vri migracija polja u drugu tabelu). Zaista, to polje je tamo u toj tabeli predstavnik pacijenta, tj, njegov zastupnik, pa je lake zbog razumevanja

- Dodavanje jo nekih atributa za odreene entitete, ukoliko se ukae potreba, a nije definisana u SSA.

d. Apstrakcija

- Uoptavanje vie slinih entiteta u jedan opti. Pri tome se kreiraju novi, opti atributi. Ovi konkretni slulajevi postaju vrste tog entiteta i kao takvi se javljaju u konkretnim slogovima, kao pojavni oblici. Potrebno je dodati jo jednu kolonu u tom optem entitetu, kojim se omoguuje razlikovanje objekata razliite vrste.

Mora se voditi rauna o tome da se tim uoptavanjem ne izgubi neki potreban podatak. Npr. ne mogu se svi datumi uoptiti u jedan elementarni podatak DATUM, jer nije svejedno da li je u pitanju DATUM IZDAVANJA ili DATUM VRACANJA u nekoj biblioteci.

Uoptavanje (generalizacija) se uglavnom vri na nivou vie entiteta. Moe se vriti i na nivou atributa, u situacijama kada je dozvoljeno i omogueno da se svi pojedinani sluajevi adekvatno pokriju. Npr. OCENA_MATEMATIKA i OCENA_SRPSKI se MORA apstrahovati u OCENA, NAZIV_PREDMETA ... kako bismo dobili fleksibilnije reenje.

Postoji vie REENJA kao projekta baze podataka, u zavisnosti od NIVOA APSTRAKCIJE.

e. Uoavanje odnosa (brojnih npr. 1:M i identifikacionih (funkcionalnih) zavisnosti) izmeu elementarnih podataka i izdvajanje grupa elementarnih podataka iz entiteta u poseban entitet

- uoavanje odnosa prema identifikacionom obeleju

- uoavanje meusobnih odnosa elementarnih podataka

f-a. Uoavanje i imenovanje odnosa izmeu entiteta

- odnosi celina - deo (npr. zaglavlje - stavke)

- odnosi opte - specifino

- odnosi stalno - promenljivo

- odnosi statino- dinamino

- odnosi potencijalno - stvarno

- odnosi prolo - sadanje- budue

- odnosi jedan -vie

- odnosi pre- posle

- odnosi sirovo- izraunljivo

- stanja jednog objekta se menjaju u vremenu.

Bitno je:

- Uloge jednog entiteta se ostvaruju relacijama ka drugim entitetima.

Primer: Moe se na jednom mestu memorisati tabela Mesto, a ona ima ulogu mesta roenja, mesta stanovanja, mesta kao sedita neke firme itd. i sve to u istoj tabeli.

f-b. Izdvajanje tipova entiteta:

Razlikovati:

- Entitet koji opisuje dokument.

- Entitet koji opisuje injenice o nekom objektu ili dogaaju.

Na je cilj fleksibilno reenje, tako da ne treba da teimo da memoriemo podatke pod nazivima dokumenata, jer je to promenljiva kategorija. Bolje je memorisati podatke o injenicama o dogaajima ili objektima, ukoliko nije potrebno da se realizuje deo za evidenciju dokumenata, pored osnovne evidencije dogaaja i objekata.

Razlikovati:

- tabelu ifarnik

- tabelu znanje

- tabelu poveziva

- tabelu koja opisuje osnovnu dinamiku redovnog rada (pokriva obradu, tj. primitivne procese iz SSA).

g. Kreiranje ifarnika

- Transformacija nabrojivog domena u ifarniku tabelu

- Izdvajanje elementarnog podatka koji ima nabrojivi domen vrednosti koji se pri unosu esto ponavlja - elementarni podatak koji ima nabrojiv skup vrednosti koji se esto unosi u originalnoj tabeli se izdvaja u posebnu tabelu ifarnik - memorie se ifra i naziv te vrste podatka. Unosi se samo jednom, a koristi vie puta, kad god treba, pozivom preko ifre se memorie, tako da ukoliko se podatak iz ifarnika menja, menja se automatski svako njegovo pojavljivanje u tabelama gde je njegova ifra strani klju.

- Jedan podatak je opti i koristie se na vie mesta, ako se izdvoji kao posebna tabela. Npr. tabela MESTO nastaje na osnovu polja: mesto roenja i mesto stanovanja.

g. Odreivanje kardinaliteta relacije

- odreivanje kardinaliteta svakog od preslikavanja

- voditi rauna da se odreivanje vri u 2 koraka:

- 1. Odnosi izmeu elemenata realnog sistema (vee ograniavanje)

- 2. Odnosi izmeu tabela u bazi podataka (manje ograniavanje, ukoliko se moe)

h. Odreivanje primarnog kljua za svaku buduu tabelu BP

Kriterijum:

- Jednoznanost

- Potpunost

- Minimalnost

Postoje 3 varijante:

- Prost broja od 1 polja za svaki entitet, koji slui samo za ostvarivanje relacija u prevoenju irelacioni model (jednostavnije je da se prenosi samo jedno polje, a ne sloeni primarni klju). Obavezno je kasnije u PDM-u (modelu relacione baze podataka) da se za svaku tabelu odredi unique index kojim se definiu alternativni kljuevi, tj. kombinacije polja koje se ne smeju ponoviti.

- Sloeni primarni klju (najee se sastoji od polja koja nose neko znaenje). Obezbeuje semantiku jednostvenost sloga, a nedostatak je pri migraciji polja.

- Tzv. govoree ifre - jedan elementarni podatak iji delovi imaju znaenje. Npr. Broj indeksa ili JMBG.

i. Odreivanje identifikacionih zavisnosti izmeu entiteta. Odreivanje tipova entiteta.

4. Zavrna optimizacija - izbor jedne od moguih korektnih varijanti, radi postizanja vee upotrebljivosti u okviru korienja od strane programa

Vri se u odnosu na:

- performanse celokupnog sistema, zajedno sa programom. Npr. dozvoljavaju se izraunljiva polja, ukoliko se time postie skraenje vremena odziva sistema, na zadatu komandu.

- lakou odravanja. Napraviti takvu organizaciju tabela koja zahteva kasnije to manje popravke i intervencije. Npr. sve to je mogue se uoptava i saima, tako da se dobija fleksibilno i upravljivo reenje.

Primeri:

- Mogu se podaci o ulazu ili izlazu neke materije objediniti da se uvaju u jednoj tabeli, sa bulovim poljem (.T. ili .F.) koji opisuje da li je ulaz ili izlaz.

- Mogu se svi ifarnici objediniti da se uvaju u jednoj tabeli. Potrebna je pored ifre i naziva jo i kolona tip ifarnika.

5. Kreiranje podmodela - provera potpunosti i povezanosti modela

- Kreiranje podmodela se radi kao izdvajanje podeme celokupne eme baze podataka, i to za svaki od primitivnih procesa se radi po jedna podema baze podataka.

- Podmodeli se rade iz 2 razloga:

- Proveravanje da li su svi primitivni procesi pokriveni podacima (dakle, pomou tih entiteta, tj. tabela e biti realizovan taj proces,

po pitanju unosa i pregleda podataka)

- Da li su na podmodelu svi entiteti meusobno povezani. Ako nisu, povezani su preko nekog drugog, pa i njega treba ukljuiti u

podmodel, ili da se doda direktna veza izmeu entiteta na celokupnoj emi.

6. Kreiranje fizikog modela podataka (PDM, odgovara relacionom modelu)

Fiziki model se u CASE alatu kreira automatski. U sutini se svodi na prevoenje MOV u RM, pri emu se RM koji se dobije dodaju osobine koje su vezane za konkretni SUBP za koji se uradio fiziki model. Kada je kreiran, proverava se:

- Da li su elementarni podaci odgovarajueg tipa podatka? Voditi rauna da neko polje ne postane memo, a trebalo bi da je string!

- Da li je dobro izvrena migracija primarnog kljua? Da li je dobijen eljeni relacioni model.

- Da li elementarni podaci imaju jasni naziv? Preimenovanje elementarnih podataka u jasnije i potpunije nazive.- Da li primarni klju obezbeuje semantiku jedinstvenost podataka u datoj tabeli? Najee je primrni klju "obian" broja i ne obezbeuje ouvanje semantike jedinstvenosti sloga, u smislu da se moe pod nekim drugim brojem uneti dati slog, tj, ostali nekljuni podaci. Da bi se to spreilo, radi se kreiranje Unique index-a nad svakom od tabela, gde je to mogue!

- Da li je obezbeen integritet podataka, pre svega referencijalni integritet putem pravila za ouvanje referencijalnog integriteta?PAGE 4