12.07.2015 Views

Modeliranje podataka

Modeliranje podataka

Modeliranje podataka

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

• <strong>Modeliranje</strong> <strong>podataka</strong>(informaciono modeliranje)• Alati za projektovanje informacionih sistemai SUBP (CASE alati)• AllFusion ERwin Data Modeler1


<strong>Modeliranje</strong> <strong>podataka</strong>(informaciono modeliranje)• Izvodi se na osnovu definisanih kritičnihfunkcija za prethodno urađeni funkcionalnimodel (funkcionalnu dekompoziciju) sistema.• Kritične funkcije predstavljaju, svaka za sebe,po jedan glavni projekat koji se razvija uokviru aktivnosti “<strong>Modeliranje</strong> <strong>podataka</strong>".• Model <strong>podataka</strong> prikazuje u kakvom sumeđusobnom odnosu podaci u nekomrealnom sistemu.2


<strong>Modeliranje</strong> <strong>podataka</strong>(informaciono modeliranje)• Informaciono modeliranje omogućuje:• definisanje sistemske dokumentacije koja semoze koristiti za bazu <strong>podataka</strong> i za razvojaplikacija;• bolju komunikaciju međusobno i sa krajnjimkorisnicima;• jasnu sliku o poslovnim pravilima i• 'logičku' sliku baze <strong>podataka</strong> koju mogu koristitiautomatski alati za generisanje sistema zaupravljanje bazama <strong>podataka</strong> (DBMS).3


<strong>Modeliranje</strong> <strong>podataka</strong>(informaciono modeliranje)• Definisanje detaljnih zahteva• Kreiranje ER dijagrama (uz identifikacijuentiteta) prema IDEF1x standardu• sprovodi se uz pomoć top-down postupka• Izbor atributa• Sprovodi se bottom-up postupkom (analiziranjemdokumentacije)• Definisanje poslovnih pravila4


<strong>Modeliranje</strong> <strong>podataka</strong>Stablo aktivnosti5


Model <strong>podataka</strong>• <strong>Modeliranje</strong> <strong>podataka</strong> je intelektualno sredstvo pomoću koga seprikazuje kako su podaci u realnom sistemu međusobnopovezani.• Model <strong>podataka</strong> poseduje tri osnovne komponente:• Strukturu modela• Skup koncepata za opis objekata sistema, njihovih atributa imeđusobnih veza• Ograničenja• Semantička ograničenja vrednosti <strong>podataka</strong> koja u svakom trenutkumoraju biti zadovoljena. Ovo su pravila integriteta modela<strong>podataka</strong>.• Operacije• Nad konceptima modela, pod definisanim ograničenjima, preko kojihse može opisati dinamika sistema6


Model <strong>podataka</strong>• Svaki model <strong>podataka</strong> treba da zadovolji dvabitna kriterijuma:• Da poseduje koncepte pogodne za modeliranjerealnih sistema• Da se njegovi koncepti, strukture, ograničenja ioperacije mogu jednostavno implementirati naračunaru7


Model <strong>podataka</strong>• Na osnovu toga kako zadovoljavaju ova dvakriterijuma, modeli <strong>podataka</strong> se moguklasifikovati u sledeće “generacije”• Prvu generaciju, koju čine konvencionalniprogramski jezici• Drugu generaciju, koju čine baze <strong>podataka</strong>• Treću generaciju, koju čine tzv. semantički bogatimodeli <strong>podataka</strong> (model objekti-vezeveze)8


Model objekti-veze(ukratko)• Struktura modela objekti-veze (entity - relationship)• Predstavlja se ER dijagramima (DOV)• U modelu objekti-veze sistem se predstavlja kao skupobjekata i njihovih veza• Objekat (entitet - entity) je koncept (”stvar”) koji se posvojim osobinama razlikuje od ostalih objekata.• Objekat u modelu može da predstavlja:• Fizički objekat realnog sistema (konkretan radnik iliproizvod )• Vremenski trenutak ili period (semestar, obračunski period isl.)• koncept (smer studija, klasa daktilografije i sl.)10


Model objekti-veze(ukratko)• Pojedinačni objekti se klasifikuju u tipoveobjekata• Tip objekta je opšti predstavnik neke klase• Svaki pojedinačan objekat predstavlja jednopojavljivanje (primerak) datog tipa• Predstavljanje nekog konkretnog objektanjegovim tipom, naziva se generalizacija• Obrnuti postupak, navođenje pojavljivanjadatog tipa naziva se specijalizacija.11


• Atribut i domenModel objekti-veze(ukratko)• Objekti se u sistemu opisuju preko svojih svojstava iliatributa.• Svaki atribut u u jednom trenutku ima neku vrednost. Atributiuzimaju vrednost iz skupa mogućih vrednosti. Ovaj skup senaziva domen.12


Model objekti-veze(ukratko)• Koncept jakog i slabog objekta:• Slab objekat ne može da postoji (egzistencijalnoje zavisan) od nadređenog (jakog) objekta• Slab objekat ne može da seidentifikuje(identifikaciono je zavisan) bez veze sanadređenim objektom• Kardinalnost preslikavanja slab jak sepodrazumeva (1,1)13


Model objekti-veze(ukratko)• Veze u modelu opisuju način povezivanja(uzajamnog dejstva) objekata• Postupak generalizacije i specijalizacije semože primeniti i na veze• Karakteristika veze je kardinalnostpreslikavanja• (DG,GG) gde je DG – donja granica, najmanjimogući, a GG – gornja granica, najveći mogućibroj pojavljivanja tipa objekta za jednopojavljivanje povezanog tipa objekta14


Model objekti-veze(ukratko)• Objekat od koga je uspostavljena veza sezove “roditelj” (parent), a objekat prema komeje uspostavljena veza se zove “dete” (child)• Postoje sledeći tipovi veza:• Identifikujuće• Neidentifikujuće• Veza kategorije, tj. veza prema podtipovima• Neodređujuća veza – više prema više15


• Identifikujuća vezaModel objekti-veze(ukratko)• Ključevi objekta “roditelj” predstavljaju deo identiteta objekta“dete”, tj. objekat “dete” zavisi od objekta “roditelj” prekoidentifikatora.• Svaki primerak objekta “dete” mora biti povezan sa najmanjejednim primerkom objekta “roditelj”.• Pojavljivanja objekta “roditelj” se definišu nezavisno, apojavljivanja objekta “dete” se ne mogu identifikovati bezidentifikatora objekta “roditelj”16


Model objekti-veze(ukratko)• Neidentifikujuća veza• Ako se svaki primerak objekta “dete” može jedinstvenoidentifikovati, bez znanja veze sa primerkom objekta“roditelj”17


Model objekti-veze(ukratko)• Veza kategorije• Definisana je zahijerarhijsku vezu izmeđunadređenoggeneralizovanog objektakoji sadrži zajedničkeosobine i podređenihobjekata18


Model objekti-veze(ukratko)• Neodređujuća veza tipa više prema više• Primerak jednog objekta povezuje sa nijednim, jednim iliviše primeraka drugog objekta, a svaki primerak drugogobjekta povezuje sa nijednim, jednim ili više primerakaprvog objekta.19


Model objekti-veze(ukratko)• Dekompozicioni dijagram za kreiranje ER dijagrama20


Alati za projektovanje informacionihsistema i SUBP (CASE alati)• Razlozi za uvođenje naprednih alata• Softverska kriza• Niska produktivnost u razvoju informacionih sistema• Visoki proizvodni troškovi• Zaostajanje softvera u odnosu na hardver• Rešenje softverske krize je u iskorišćenjuosobina inženjera proverenih u praksi i to presvega:• metodičnosti• operativne discipline21


Alati za projektovanje informacionihsistema i SUBP (CASE alati)• Kao rezultat nastaje softverski inženjeringkoji u sebi sadrži sistematizovane ikoordinirane aktivnosti potrebne pri• projektovanju• implementaciji• eksploataciji• održavanju softverskih proizvoda22


Alati za projektovanje informacionihsistema i SUBP (CASE alati)• Automatizacija softverskog inženjeringa seizvodi posebnim alatom, čiji je naziv CASE(Computer Aided Software Engineering)• Osnovni cilj CASE alata:• Da razvijanje softvera postane više inženjerskadelatnost, a manje individualna umetnost i umeće.23


Alati za projektovanje informacionihsistema i SUBP (CASE alati)• Uspešnim korišćenjem pravilno izabranogCASE alata može se:• Minimizirati vreme i troškovi razvoja softvera• Povećati produktivnost u pisanju softvera• Podići nivo kvaliteta• Povećati pouzdanost• Standardizovati proizvedeni softver24


Alati za projektovanje informacionihsistema i SUBP (CASE alati)• Elementi CASE alata:• Repozitorijum• Aktivni rečnik <strong>podataka</strong> koji podržava definisanje različitih tipova objekata injihovih veza• Alati za grafičko predstavljanje• Omogućavaju razvoj različitih tipova dijagrama na osnovu ranije definisanihstandarda• Softver za definisanje teksta• Omogućava definisanje naziva, sadržaja i detalja stavki u repozitorijumu• Analizator softvera• Analizira ulaze u dijagram i repozitorijum i utvrđuje njihovu leksičkukompleksnost i proverava kompatibilnost sa ostalim objektima• Softverski interfejs prema repozitorijumu• Obezbeđuje vezu između dijagrama i repozitorijuma• Korisnički interfejs• Obezbeđuje interaktivnu i off-line obradu25


Alati za projektovanje informacionihsistema i SUBP (CASE alati)• Najpoznatiji CASE alati:• ORACLE Designer• ERwin• DBDesigner• Entity RelationshipDiagrammer (ERD)• MagiCASE• EasyCASE SystemDesigner• S-Designor• Application DevelopmentWorkbench (ADW)26


CASE alat za modeliranje <strong>podataka</strong>27


• Izgrađen na konceptima koji su postavljeniIDEF1X (Integration Definition for informationmodeling) standardom• Namenjen za modeliranje podatka ER (entityRelationship) metodom• Mogu se ravnopravno koristiti IDEF1X i IE(Information Engineering) notacije28


• <strong>Modeliranje</strong> <strong>podataka</strong> obuhvata dva aspekta• Logičko definisanje modela• Fizički dizajn bazeKorišćenje ERwin-a podrazumeva istovremenirazvoj logičkog modela i fizičko definisanje baze29


• Osnovi objekti umodelima• Logički model• Objekti• Atributi• Veze (relacije)• Fizički model• Tabele• Polja• Ograničenja (constraints)• Pogledi (views)30


• U bilo kom trenutku definisanja logičkognivoa baze, potrebno je odabrati ciljni server(DBMS na kome će baza biti realizovana)• Izbor ciljnog servera nije definitivan, štoznači da se on može menjati• ERwin insistira na nezavisnosti modela odDBMS platforme31


• U Erwin-u postoje logički i fizički tipovi<strong>podataka</strong>• Logički tip <strong>podataka</strong> (logical datatype) jepredefinisani skup karakteristika atributa, kojiodređuje dužinu polja, pripadnost ERwindomenu i naziv.• ERwin poseduje listu predefinisanih logičkihtipova koje možemo dodeljivati atributima32


Predefinisani logički tipovi• Datatype ERwin Domain Length Precision• AUDIO Blob None None• BINARY Blob Optional None• BOOLEAN Number None None• CHAR String Optional None• DATE Datetime None None• DECIMAL Number Optional Optional• FLOAT Number None None• HUGE Number None None• INTEGER Number None None• INTERVAL Number Optional None• LARGE BINARY Blob Optional None• LONG Number None None• LONG FLOAT Number None None• MONEY Number Optional Optional• NCHAR String Optional None• NUMBER Number Optional Optional• NVAR CHAR String Mandatory None• SHORT FLOAT Number None None• SMALLINT Number None None• TEXT String Optional None• TIME Datetime Optional None• TIMESTAMP Datetime Optional None• UNIQUEID Number None None• VARCHAR String Mandatory None• VIDEO Blob None None33


• Mapiranje logičkih u fizičke tipove <strong>podataka</strong>• Logički tipovi <strong>podataka</strong> su nezavisni od DBMS, alioni odgovaraju postojećim fizičkim tipovima.• Kreiranjem fizičkog modela iz logičkog, ERwinautomatski dodeljuje fizički tip <strong>podataka</strong> za svakiatribut na osnovu odgovarajućeg logičkog tipa34


• Mapiranje fizičkih u fizičke tipove <strong>podataka</strong>• Kreiranjem novog fizičkog modela iz postojećeg fizičkogmodela ERwin automatski dodeljuje odgovarajući fizički tip<strong>podataka</strong> za ciljni DBMS.• Prilikom prelaska sa jedne verzije DBMS na noviju, ERwinmože da promeni tipove <strong>podataka</strong> za ciljni DBMS.• Prilikom kreiranja fizičkog modela putem inverznoginženjerstva, ERwin izdvaja informacije o tipovima<strong>podataka</strong> sa postojećeg DBMS i automatski dodeljujeodgovarajuće tipove svakom polju novih tabela35


• Za svaki DBMS koji podržava, ERwin sadržiodgovarajuću šemu mapiranja logičkih ufizičke tipove, kao i fizičkih u fizičke tipove<strong>podataka</strong>• Primer : za migraciju sa MS Acess-a naOracle koristi se sledeća predefinisana šemamapiranja:36


AccessAutoNumberByteCounterCurrencyDate/TimeDoubleIntegerLong IntegerMemoOLE ObjectReplication IDSingleTextYes/NoORACLEROWIDSMALLINTNUMBERNUMBERDATEFLOATSMALLINTINTEGERLONG VARCHARCLOBINTEGERFLOATVARCHAR2SMALLINT37


• Na osnovu logičkog modela može da se kreira generički fizičkimodel koji sadrži rešenja nezavisna od konkretnog DBMS.• Na osnovu generičkog modela može se kreirati više konkretnihfizičkih modela za različita DBMS okruženja• Kada se kreira generički fizički model, odgovarajućim poljima sedodeljuju isti tipovi <strong>podataka</strong> kao kada se kao ciljni DBMSizabere ODBC (Open Database Connectivity).• Kada preko ODBC drajvera pristupate bazi <strong>podataka</strong>, ERwinutvrđuje koji tipovi <strong>podataka</strong> su podržani i pruža mogućnostzamene bilo kog generičkog tipa <strong>podataka</strong> tipom <strong>podataka</strong> kojipodržava konkretan DBMS.38


• Server FRE (Forward and ReverseEngineering) omogućava “živu” vezu ERwinmodela i baze <strong>podataka</strong>• Forward Engineering• Konekcija se ostvaruje preko ODBC (OpenDatabase Connectivity) drajvera• Na osnovu definisanog fizičkog modela može sekreirati baza na odabranoj RDBMS platformi40


• Poseduje i modul za inverzni inženjering(RE), koji na osnovu postojeće baze<strong>podataka</strong> kreira ER dijagram po metodologijiIDEFX1• To se postiže korišćenjem sistemskih katalogapostojeće baze <strong>podataka</strong>41


• Oba smera se svode na:• sinhronizaciju modela <strong>podataka</strong> za bazom<strong>podataka</strong> i• Poređenje modela sa stanjem baze42


Isti model <strong>podataka</strong> se može koristiti zagenerisanje više baza <strong>podataka</strong> na različitimDBMS platformama ili za konvertovanjeaplikacija sa jedne DBMS platforme na drugu43


• ERwin-ModelMartpredstavlja alat kojiomogućava višekorisnički rad na modelima<strong>podataka</strong> (Workgroup)• Vodi se računa o svim aspektima timskog rada:• zaključavanju modela• verzijama• ovlašćenjima korisnika44


• Razvijen je set specijalizovanih verzijanamenjenih različitim RDBMS ili razvojnimalatima kao što su:• Erwin for Oracle• Erwin for Sybase• Erwin for Visual Basic• Erwin for Power Builder• Cilj je da se pojača sprega sa proizvodom zakoji je verzija specijalizovana45

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

Saved successfully!

Ooh no, something went wrong!