Model Podataka I Server Model
Model Podataka I Server Model
Sadraj
Model podataka Priprema za projektovanje server modela Transformacija ERM-a u server model UML profil za projektovanje baze podataka Realizovanje fizikih aspekata baze podataka
Model podataka
Pojednostavljena reprezentacija o relevantnim karakteristikama sistema data preko skupa objekata(entiteta), veza meu objektima i atributa objekata i veza
Model podataka
Podela modela podataka obzirom na koncepte koji omoguavaju semantiki bogatiju prezentaciju podataka:
I generacije svaki programski jezik je zaseban model podataka, a podaci se modeliraju preko koncepata kojima taj jezik raspolae (pointer, integer, matrica itd) II generacije- sadre koncepte za prezentaciju podataka kao: stablo, set, relacija itd. i semantiki su siromani: funkcionalni, hijerarhijski, mreni, klasini relacioni model (Codd 1970), warnier-ovi dijagrami III generacije- imaju koncepte generalizacije i agregacije i semantiki su bogatij :model objekti veze (MOV) - Entity relationship model (ERM) - Entity relationship atribut model(ERA) (Chen 1976), proireni relacioni model(RMT)(Codd 1979) IV generacije -objektno relacioni model, objektni orijentisani model itd
Model podataka
Objektno orijentisana A/D-> Objektno orijentisani model podataka -> Dizajn dijagrama klasa Relaciono modeliranje -> Relacioni model podataka -> ERD
Model podataka
Model podataka se sastoji iz tri dela:
Strukture - predstavljena skupom objekata i njihovih veza Ogranienja - razdvajaju dozvoljena od zabranjenih stanja skupa podataka Operatora - omoguavaju manipulaciju podacima u modelu podataka
Model podataka
Logiki model podataka
Dizajn dijagrama klasa Dizajn dijagrama Dizajn dijagrama klasa klasa za aplikaciju za bazu Model objekti veze
Notacija
Notacija
Chen 1976 -Entity relationship atribut model(ERA) Codd 1979 - proireni relacioni model(RM-T) UML (Booch, Rumbaugh, Jacobson) objektno relacioni, objekti model
UML pravljen imajui u vidu Chen-ovu i Codd-ovu notaciju UML je superskup ER notacije Dodavanjem Profila za projektovanje Baza Podataka UML podrava poslovne modele, logike i fizike modele aplikacija kao i modele podataka
Server model
Ime tabele Ime kolone Primarni klju Jedinstveni identifikator NOT NULL kolona na strani stranog kljua i ogranienje nad stranim kljuem Kolona na strani stranog kljua i ogranienje nad stranim kljuem
Opcionalna veza
Klase asocijacija
Ako u modelu podataka postoji tabela asocijacija i sadri dodatne kolone pored stranog kljua onda mora u logikom modelu da postoji klasa asocijacija
Klasa1 n n Klasa 2
Klasa asocijacija
Klasa asocijacije
Pristup
Kod objektnog modela
Koje e klase iz modela logike analize biti transformisane u model baze podataka i kako (kod objektnog modela vano)? Polazimo od dizajna dijagrama klasa Svaku trajnu klasu treba oznaiti U bazu podataka se preslikavaju samo trajne klase
U trajnim klasama mogu se nai atributi koji se ne preslikavaju u kolone (umesto da se smetaju u bazu oni se prosto izraunavaju u aplikaciji)
Pristup
Veza izmeu modela logike analize, projekta baze podataka i projekta aplikacije
Objektni pristup Projekat aplikacije (klase)
Sinhronizuj
Relacioni pristup
Pristup
Potrebno je da razumemo klase/entitete u modelu Uoiti atribute koji postoje u aplikaciji
Zadravamo ih u logikom modelu podataka, ali ih ne elimo nigde u bazi Pravimo izvedeni atribut i metod za njegovo izraunavanje i on postoji u aplikaciji
U logikom modelu atribute definisemo preko optih tipova, tipova za potrebe analize i domena (korisniki definisani tipovi)
Ne definiemo tipove podataka koji odgovaraju odreenom RDBMS-u Opti tipovi se u toku realizacije preslikavaju u tipove koji odgovaraju konkretnom RDBMS-u
Pristup
U ovoj fazi postaje bitno i nasleivanje i generalizacija
Treba odgovoriti na pitanje hoemo li sve tabele da podignemo u jednu, da ih spustimo na podtipove ili da ih ostavimo u relaciji 1-1 ?
Pristup
Treba se uveriti da svaka klasa/entitet definie samo jednu stvar koncept normalizacije
Ako definie vie od jedne stvari treba je razloiti na vie klasa/entiteta
Sada moe da se uradi denormalizacija modela -Pojedine klase/entiteti se mogu kombinovati radi optimizacije ali tek kada smo se uverili da je model normalizovan
Sadraj
Transformacija ERM u server model Denormalizacija Kreiranje objekta baze podataka Primena Oracle CASE alata Literatura
Ekskluzivna veza
Crtica na relaciji
Rekurzivna veza
Surograt kljuc
Presecni ent.
Denormalizacija
Normalizacija
Uklanja redundansu podataka Garantuje integritet podataka uva prostor
Denormalizacija
Uvodi redundansu Ispravlja performanse upita
Server model
Literatura
Designer/2000 R2: Server Design and Generation, Oracle Education Designer/2000:First Class, Oracle Education Designer/2000 R2: System Modeling, Oracle Education UML za projektovanje baza podataka, Eric J. Naiburg, Roberta A. Maksimchuk, CET Sistem analiza I modeliranje podataka, Mile Pavi, Nauna knjiga Korienje CASE alata u razvoju IS, skripte, FON Proireni model objekti veze, skripte, FON, Beograd 1997
Uvod
UML profil slui za projektovanje baze podataka -> dijagram baze podataka (Sinonimi: server model, fiziki model) UML notacija omoguava da na dijagramu vizuelno obuhvatimo mnogo vie stavki nego pomou tradicionalne ER notacije Moemo da modelujemo domene, interne procedure, ogranienja, tabele, kolone , relacije
Elementi dijagrama
Element Tabela (table) Primarni klju (Primary key) Strani klju (Foreign key) Relacija sa identifikacijom (Identifying relationship) Relacija bez identifikacije (Non identifying relationship) View Memorisana procedura (Stored procedure) Domen (Domain) <<Identifying>> <<Non Identifying>> <<View>> <<SP>> <<SP Container>> <<Domain>> Stereotip <<Table>> PK FK
0..* 1
Ikona
1..*
Server model
< < Vie w > > K lije n t P o ru d zb in a < < D e rive d > >
< < D e ri ve d > > < < id e n tifyin g > > + is p o s ta vlje n a o d 1 ..n P o ru d zb in a < < P K > > b ro jP o r : In te g e r < < P F K > > b ro jK lij : In te g e r o p is : S trin g < < N o n Id e n tifyin g > > + is p o s ta vlja + k u pu j e o d 1 0 ..n lije n t K < < P K > > b ro jK lij : In te g e r < < F K > > b ro jZ a p : S trin g Im e : S trin g < < P K > > p k _ k lije n t2 () < < F K > > fk _ k lije n t3 () < < C h e c k > > s ta n je () < < T rig g e r> > p o b u d _ k lije n t() < < U n iq u e > > T C _ k lije n t1 3 () < < In d e x> > im e k lije n ta ()
+ p ro d a je
0 ..1 Z a p o s le n i < < P K > > P K b ro jZ a p : In te g e r im e Ip re zim e : S trin g < < S P C o n ta in e r> > P ra vila p o ru d zb in e < < S P > > p o ru d z_ s ta n je ()
Uvod
Veliina baze podataka Smetanje baze podataka
Hardverski Softverski
Particionisanje podataka Specifina svojstva izabranog DBMSa Komuniciranje aplikacije sa bazom podataka
Literatura
Eric J. Naiburg, Robert A. MaksimChuk, UML za projektovanje baza podataka, CET