MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

Similar documents
Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

Podešavanje za eduroam ios

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

MRS. MRSLab03 Metodologija Razvoja Softvera Vežba 03 LAB Dijagram aktivnosti

Otpremanje video snimka na YouTube

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

Uvod u relacione baze podataka

SAS On Demand. Video: Upute za registraciju:

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

Struktura i organizacija baza podataka

Ime sekvence mora biti uključeno u CREATE SEQUENCE iskazu, a svi ostali izrazi su opcioni, ali se savetuje da se uključe svi izraz.

Port Community System

Da bi se napravio izvještaj u Accessu potrebno je na izborniku Create odabrati karticu naredbi Reports.

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

1. MODEL (Ulaz / Zadržavanje / Stanje)

Ikone za brz pristup alatima. Slovne oznake kolona. ime. Traka sa alatima. Dugme Office Brojčane oznake redova

Modeli podataka. Model podataka - osnovne komponente

Upute za korištenje makronaredbi gml2dwg i gml2dgn

Priprema podataka. NIKOLA MILIKIĆ URL:

2. Kreiranje nove baze podataka

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

1. Instalacija programske podrške

Advertising on the Web

Tema 2: Uvod u sisteme za podršku odlučivanju (VEŽBE)

Tutorijal za Štefice za upload slika na forum.

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

Ali kako znati koja maksimalna plata pripada kojem sektoru? GROUP BY in SELECT Obično se uključuje GROUP BY kolona u SELECT listi.

msc Velimir Milanovic Unošenje prvih zapisa Kreiranje elektronskih obrazaca - formi Prva forma - Čitaoci U P I T I

Klasterizacija. NIKOLA MILIKIĆ URL:

PROJEKTNI PRORAČUN 1

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

INFORMATIKA II AutoCAD 9. deo. Rudarsko-geološki fakultet Rudarski odsek

U sledećem koraku birate traženi program:

Pravljenje Screenshota. 1. Korak

3D GRAFIKA I ANIMACIJA

mdita Editor - Korisničko uputstvo -

KatzeView Uputstvo. verzija Novi Sad Josifa Marinkovića 44. Tel: +381 (0) Fax: +381 (0) Mob: +381 (0)

Slika broj 1. Primer dijagrama sekvenci

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

1. Lekcija Pojam entiteta, podatka i informacije

IMPLEMENTACIJA TEHNIKA ZA POVEĆANJE BROJA PODRŽANIH KONKURENTNIH KORISNIKA VEB SAJTA

za STB GO4TV in alliance with GSS media

PowerPoint deo Umetanje oblika (shapes)

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

Bušilice nove generacije. ImpactDrill

STRUČNA PRAKSA B-PRO TEMA 13

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

STRUKTURNO KABLIRANJE

Beograd, Srbija, Vojvode Bogdana 34 Secamcctv Corporation DOO. program za evidenciju radnog vremena I prisustva na radu 2011g

SQL standard podrzava sledece vrste ogranicenja: Ogranicenja domena Ogranicenja tabela i kolona Opsta ogranicenja

4.1 Korišćenje aplikacije Ćelije Rukovanje radnim listovima... 32

Nejednakosti s faktorijelima

2. Objektno orjentirana analiza i dizajn poslovnih aplikacija, MVC model

3.2. Prikazati podatke o svim proizvodima, koji se proizvode u Zrenjaninu.

BENCHMARKING HOSTELA

Primer-1 Nacrtati deo lanca.

Prilikom instaliranja MySQL-a trebalo bi koristiti nalog koji ima administratorska prava.

LabVIEW-ZADACI. 1. Napisati program u LabVIEW-u koji računa zbir dva broja.

Zoran Ikica. Modul 5

Direktan link ka kursu:

STABLA ODLUČIVANJA. Jelena Jovanovic. Web:

pripremila: prof. dr Sonja Pravilović

Sybase PowerDesigner 12

Fizičko projektovanje baza podataka. Ivana Tanasijevic, Matematički fakultet, Beograd

Babylon - instalacija,aktivacija i rad sa njim

Projektovanje IS. Fizičko modelovanje Aplikativno modelovanje Softver

Mindomo online aplikacija za izradu umnih mapa

SKRIPTA ZA VEŽBE IZ PREDMETA ELEKTRONSKO POSLOVANJE

Programiranje baza podataka

Prilikom instaliranja MySQL-a trebalo bi koristiti nalog koji ima administratorska prava.

Windows Easy Transfer

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

KREIRANJE DINAMIČKIH INTERFEJSA ZASNOVANIH NA META-ŠEMAMA CREATION OF DYNAMIC INTERFACES BASED ON META-SCHEMES

Desna strana menija sadrži spisak nedavno otvaranih dokumenata.

Office 365, upute za korištenje elektroničke pošte

FAKULTET ZA POSLOVNU INFORMATIKU

PANEVROPSKI UNIVERZITET APEIRON FAKULTET ZA POSLOVNU INFORMATIKU BANJA LUKA. Specijalističke studije TEMA: WEB DNEVNIK

Uvod u web okruženje SQL

MATEMATIČKI FAKULTET BEOGRADSKI UNIVERZITET MASTER TEZA. Aplikacija za voñenje evidencije prihoda i rashoda zasnovana na.

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

Primer izrade dinamičkog sajta

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

VEB APLIKACIJA ZA IZBOR KOKTELA

MICROSOFT EXCEL SKRIPTA ZA INTERNU UPOTREBU

UPITI (Queries) U MICROSOFT ACCESSU XP

INFORMACIONI SISTEMI ZA PODRŠKU MENADŽMENTU

Sveučilište Jurja Dobrile u Puli Fakultet ekonomije i turizma «Dr. Mijo Mirković» Josip Bošnjak. Fizički dizajn baze podataka.

Kako instalirati Apache/PHP/MySQL na lokalnom kompjuteru pod Windowsima

DEFINISANJE TURISTIČKE TRAŽNJE

Korak X1 X2 X3 F O U R T W START {0,1}

CRNA GORA

Transcription:

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09 LAB 09 Fizički model podatka 1. Fizički model podataka Fizički model podataka omogućava da se definiše struktura baze podataka sa stanovišta fizičke implementacije. On uzima u obzir fizičke resurse: DBMS (sistem za upravljanje bazom podataka), strukture za skladištenje podataka i softver kako bi opisao strukturu baze podataka. Fizički dijagram se kreira na kraju procesa analize podataka, pre nego što se krene sa programiranjem softvera. On omogućava da se definiše kako će podaci iz konceptualnog modela biti implementirani u bazi podataka. Slika broj 1. Primer fizičkog modela podatka 1

1.1. Kreiranje fizičkog modela podataka Da bi kreirali novi fizički model podataka iz menija u PowerDesigner-u biramo File New Model da bi se prikazao prozor New Model kao na sledećoj slici. Slika broj 2. Kreiranje Fizičkog modela podataka U listi tipova modela na levoj strani prozora biramo "Physical Data Model". U polju "Model name:" upisujemo ime novog modela koji kreiramo. 1.2. Objekti u fizičkom modelu podataka U fizičkom modelu podataka kreiraju se sledeći objekti: Objekat Alat Simbol Opis Tabela Kolekcija redova (slogova) koji imaju pridružene kolone (polja). Kolona N/A N/A Struktura podataka koja sadrži pojedinačan podatak unutar reda Primarni ključ N/A N/A Kolona ili kolone čije vrednosti jedinstveno identifikuju svaki red u tabeli, a koje su dizajnirane kao primarni identifikator svakog reda u tabeli Alternativni N/A N/A Kolona ili kolone čije vrednosti jedinstveno 2

ključ identifikuju svaki red u tabeli, ali koje nisu primarni ključ Strani ključ N/A N/A Kolona ili kolone čije vrednosti zavise od i dolaze iz primarnog ili alternativnog ključa druge tabele. Indeks N/A N/A Struktura podataka povezana sa jednom ili više kolona u tabeli, u kojoj su vrednosti kolona poređane u takvom redosledu da se ubrza pristup podacima. Default N/A N/A Podrazumevana vrednost za kolonu (dostupno u određenim DBMS). Domen N/A N/A Definiše validne vrednosti za kolonu Sekvenca N/A N/A Definiše način inkrementacije kolone (dostupno u određenim DBMS) Apstraktni tip N/A N/A Tip podataka koje definiše korisnik (dostupno u podataka Referenca Pogled određenim DBMS) Veza između primarnog ili alternativnog ključa u tabeli roditelju, i stranog ključa u tabeli potomku. Struktura podataka koja se dobija pomoću SQL upita od podataka iz jedne ili više tabela. Referenca pogleda Veza između tabele i pogleda Triger N/A N/A Deo SQL koda pridružen tabeli ili pogledu. Procedura Izkompajlirana kolekcija SQL izraza uskladištena pod određenim imenom u bazu podataka. Baza N/A N/A Baza podataka koja je predstavljena pomoću PDM Skladište N/A N/A Deo na uređaju za skladištenje podataka Tablespace N/A N/A Deo u bazi podataka. Korisnik N/A N/A Osoba koja može da se konektuje na bazu podataka. Uloga N/A N/A Predefinisani profil korisnika. Grupa N/A N/A Definisane privilegije i dozvole za grupu korisnika. Sinonim N/A N/A Alternativno ime za različite tipove objekata. Web servis N/A N/A Kolekcija SQL izraza uskladištenih u bazi podataka koji služe da se dobiju podaci u obliku HTML, XML, WSDL ili tekstualnog formata, kroz HTTP ili SOAP zahteve. Web operacije N/A N/A Pod-objekti Web servisa koji sadrže SQL izraze i prikazuju Web parametre i rezultujuće kolone. Slika broj 3. Objekti u fizičkom modelu podatka 3

1.2.1. Tabele Tabele predstavljaju kolekcije podataka organizovanih u kolone i redove. Tabele mogu sadržati bilo koji od sledećih objekata: kolone indekse ključeve trigere Person ID Address Email Name Phone number Person numeric varchar(50) varchar(30) varchar(50) varchar(15) <pk> Slika broj 4. Primer tabele Najjednostavniji način kreiranja tabele je pomoću palete sa alatkama iz koje se odabere alat koji predstavlja tabelu. Osobine tabele se mogu menjati iz njene stranice sa osobinama. Da bi otvorili ovu stranicu potrebno je da dvokliknemo na simbol za tabelu. Nakon ovoga se otvara stranica sa osobinama koja sadrži više kartica. Kartica General sadrži sledeće osobine: Name - navodi ime stavke, koje treba da bude jasno i da pokriva značenje stavke Code - navodi tehničko ime stavke koje se koristi za generisanje koda ili skripti Comment - opis tabele Stereotype - pod-klasifikacija koja se koristi da proširi značenje stavke bez menjanja njene strukture Owner - navodi ime vlasnika tabele. Vlasnik se može izabrati iz liste korisnika. Tabela može imati samo jednog vlasnika, a to je obično osoba koja je kreirala tabelu Number- navodi procenjeni broj slogova tabele u fizičkoj bazi podataka, koji se koristi da bi se procenila veličina baze. Generate - određuje da li će tabela biti kreirana u bazi podataka Dimensional type - određuje multidimenzionalni tip tabele Pored kartice General, postoje i druge kartice: Columns - prikazuje kolone pridružene tabeli Indexes - prikazuje indekse pridružene tabeli Keys - prikazuje ključeve pridružene tabeli Triggers - prikazuje trigere pridružene tabeli Procedures - prikazuje procedure pridružene tabeli Physical Options - prikazuje fizičke opcije pridružene tabeli Preview - prikazuje SQL kod pridružen tabeli 4

1.2.1.1. Denormalizacija tabela i kolona Normalizacija baze se sastoji u uklanjanju suvišnih i protivrečnih zavisnosti između tabela. Dok normalizacija uglavnom predstavlja osnovni cilj prilikom dizajniranja baze podataka, denormalizacija koja predstavlja promišljeno dupliranje određenih podataka kako bi se ubrzalo dobavljanje podataka, može biti korisna u određenim slučajevima: kritični upiti se oslanjaju na podatke koji se nalaze raspoređeni u više tabela mnoga računanja treba da budu primenjena na više kolona pre nego što je moguće uspešno odgovoriti na upit tabelama je potrebno pristupati na različite načine od strane različitih korisnika tokom istog vremenskog intervala upiti nad nekim kolonama zahtevaju dosta vremena Kada se razmišlja o denormalizaciji, potrebno je analizirati zahteve pristupa ka datim podacima od strane aplikacija i njihove stvarne performanse. Često dobro postavljeni indeksi i druga rešenja rešavaju dosta problema u performansama umesto denormalizacije. Denormalizacija se može izvršiti na više načina: horizontalno deljenje se koristi tako što se tabela podeli u više tabela koje sadrže iste kolone ali manje redova Tabela Annual Sales je podeljena u tri tabele: Annual Sales_2000, Annual Sales_2001 i Annual Sales_2002. vertikalno deljenje se koristi tako što se tabela podeli u više tabela koje sadrže isti broj redova ali manje kolona 5

Tabela Customer je podeljena u dve tabele: Customer_credit_details i Customer_address. spajanje tabela se koristi tako što se dve tabele spoje u jednu kako bi se izbeglo njihovo spajanje u upitima. Tabele Customer i Order su spojene u tabelu Cust_Order. 6

denormalizacija kolone se koristi tako što se određena kolona ponavlja u više tabela kako bi se izbeglo spajanje između tabela radi dobijanja datih vrednosti U prethodnom primeru želimo da imamo ime odeljenja (division) odštampano na računu za svakog zaposlenog. Da se ne bi stalno spajale tabele, ova kolona se multiplicira. 7

1.2.2. Kolone Kolone sadrže pojedinačne podatke u okviru redova. To je model koji je ekvivalentan koloni u bazi podataka. Kolona se uvek definiše za tabelu. Kada se kreira kolona, mora joj se dodeliti ime i kod. Takođe se može odabrati i tip podatka za datu kolonu. Ovo se može uraditi automatski iz dostupne liste raspoloživih tipova, ili vezivanjem kolone za određeni domen. Kolona se može kreirati pomoću kartice Columns koja se nalazi u stranici sa osobinama tabele, tako što kliknemo na alat Add a Row. Osobine kolone se mogu menjati iz njene stranice sa osobinama. Da bi otvorili stranicu sa osobinama kolone potrebno je da kliknemo na alat Properties u kartici Columns koja se nalazi u stranici sa osobinama tabele. Nakon toga se otvara stranica koja ima više kartica. Kartica General sadrži sledeće osobine: Name - navodi ime stavke, koje treba da bude jasno i da pokriva značenje stavke Code - navodi tehničko ime stavke koje se koristi za generisanje koda ili skripti Comment - opis kolone Stereotype - pod-klasifikacija koja se koristi da proširi značenje stavke bez menjanja njene strukture Table - navodi tabelu u kojoj se nalazi kolona Data type - navodi tip podataka koji se nalaze u koloni, kao što su alfanumerički, logički,... Displayed - kada je odabrana ova opcija, omogućen je prikaz kolone u simbolu tabele Length - navodi maksimalnu dužinu tipa podataka Precision - navodi maksimalni broj mesta iza decimalne tačke Identity - kada je odabrana ova opcija, to znači da je kolona autoinkrement (sama povećava svoju vrednost) Domain - navodi ime pridruženog domena Computed - označava da je kolona dobijena pomoću izraza i drugih vrednosti iz tabele Primary key - označava kolonu čije vrednosti jedinstveno označavaju red unutar tabele Foreign key - označava kolonu koja je povezana sa primarnim ključem u drugoj tabeli Mandatory - označava kolonu kojoj mora biti dodeljena neka ne NULL vrednost With default - označava da je koloni dodeljena podrazumevana vrednost u slučaju da je vrednosu u njoj NULL Kartica Detal sadrži sledeće osobine: Null Values - navodi broj (ili procenat) unosa u kolone koji sadrže vrednost NULL. Distinct Values - navodi broj (ili procenat) unosa u kolone koji sadrže različite vrednosti. Averate Length - navodi prosečnu dužinu vrednosti. Profile - testira tip podata koji je odabran u listi Computed Expression - izrazi koji se kucaju u ovom delu pomažu da se definiše kompleksna logika 8

1.2.3. Ključevi Ključ je kolona ili kombinacija kolona koja jedinstveno identifikuje red u tabeli. Svaki ključ može kreirati jedinstveni indeks ili jedinstveno ograničenje u datoj bazi. Fizički dijagrami podržavaju sledeće tipove ključeva: Primarni - kolona ili kombinacija kolona koje jedinstveno identifikuju svaki red u tabeli. Tabela može imati samo jedan primarni ključ Alternativni - kolona ili kombinacija kolona (ne ista kolona ili kombinacija kolona kao za primarni ključ) čije vrednosti jedinstveno identifikuju svaki red u tabeli. Strani - kolona ili kombinacija kolona čije vrednosti moraju da se poklapaju sa vrednostima u pirmarnom ili alternativnom ključu neke druge tabele Npr. tabela Title (Naslov) ima primarni, alternativni i strani ključ. Title ISBN Publisher ID Title name Title price Title publication date PK_Title_ID AK1_Title_Name Title NUMBER NUMBER VARCHAR2(50) NUMBER DATE <pk> <ak> <pk> <fk> <ak> Slika broj 5. Primer tabele sa primarnim alternativnim i stranim ključem PK_Title_ID je primarni ključ koji se sastoji od kolone Title ISBN koja identifikuje svaki naslov knjige u tabeli AK_Title_Name je alternativni ključ koji sadrži kolonu Title Name. On omogućava svakom naslovu da se identifikuje pomoću imena. Pošto je ovo alternativni ključ on označava da postoji ograničenje na ne mogu postojati dva ista naslova. Tabela sadrži i strane ključeve kroz kolonu Publisher ID. Ova kolona ukazuje na kolonu sa primarnim ključem u tabeli Publisher Osobine ključeva se mogu menjati kroz stranicu sa osobinama. Da bi otvorili ovu stranicu potrebno je da na stranici sa osobinama tabele odaberemo karticu Keys. Stranica sa osobinama sadrži više kartica. Kartica general sadrži sledeće osobine: Name - navodi ime stavke, koje treba da bude jasno i da pokriva značenje stavke Code - navodi tehničko ime stavke koje se koristi za generisanje koda ili skripti Comment - opis ključa Stereotype - pod-klasifikacija koja se koristi da proširi značenje stavke bez menjanja njene strukture Table - navodi tabelu u kojoj se nalazi ključ Constraint name - navodi ime ograničenja ključa. PowerDesigner automatski kreira ime ograničenja za ključ, koje se koristi tokom kreiranja i modifikovanja baze. Ovo podrazumevano ime se može menjati. Primary key - ukazuje da li je ključ primarni ključ tabele. Može biti samo jedan primarni ključ u tabeli 9

Cluster - ukazuje da li je ograničenje ključa istovremeno i ograničenje klastera Primarni ključ je primarni identifikator za tabelu, i povezan je sa jednom ili više kolona čije vrednosti jedinstveno identifikuju svaki red u tabeli. Svaka tabela mora imati primarni ključ. Da bi se kreirao primarni ključ potrebno je: 1. Dvokliknuti na simbol za tabelu kako bi se otvorila strani sa osobinama tabele 2. Kliknuti na karticu Columns i odabrati ček boks u koloni P za jednu ili više kolona u listi 3. Kliknuti na karticu Keys i promeniti ime ključu 4. Potvrditi klikom na OK Alternativni ključ je ključ koji je povezan sa jednom ili više kolona čije vrednosti jedinstveno identifikuju svaki red u tabeli. Alternativni ključ može biti i strani ključ. Svaki alternativni ključ može generisati jedinstveni indeks ili jedinstveno ograničenje u bazi. Da bi se kreirao alternativni ključ potrebno je: 1. Dvokliknuti na simbol za tabelu kako bi se otvorila stranica sa osobinama tabele 2. Kliknuti na karticu Keys koja prikazuje sve ključeve koji su definisani za tabelu 3. Kliknuti na alat Add a Row i upisati ime za novo kreirani ključ (konvencija za davanje imena nalaže da ime počinje sa AK nakon čega sledi broj ključa i ime kolone koja učestvuje u ključu, npr AK1_CUSNAME) 4. Kliknuti na alat Properties i potvrditi kreiranje objekta kako bi se otvorila stranica sa osobinama za dati ključ 5. Upisati ime ograničenja u polje Constraint Name. Ukoliko ne navedemo ime ograničenje, PowerDesigner će automatski kreirati podrazumevano ime ograničenja. 6. Kliknuti na karticu Columns, koja prikazuje sve kolone koje su povezane sa ključem. Prilikom kreiranja ključa, ova lista je prazna. 7. Kliknuti na Add Columns alat kako bi se otvorilo polje koje prikazuje sve kolone u tabeli (osim onih koje su povezane sa primarnim ključem) 8. Odabrati jednu ili više kolona i kliknuti na OK u svakom od prozora. Strani ključ je primarni ili alternativni ključ iz neke druge tabele. 1.2.4. Indeksi Indeksi su strukture podataka povezane sa tabelom koje su logički uređene na osnovu vrednosti ključeva. One povećavaju performanse baze i brzine pristupa. Obično se indeksi kreiraju za kolone kojima se često pristupa, i gde je vreme odziva važno. Indeksi imaju najviše efekta kada se koriste nad kolonama koje sadrže najviše jedinstvenih vrednosti. Npr. u tabeli Author, možemo kreirati indekse za primarni ključ Author_ID i za kolonu Author_Name, ali ne i za kolonu City. Vrednosti za grad najverovatnije nisu jedinstvene, niti će često biti pretraživane, i samim tim neće pomoći da se smanji vreme upita. Možemo kreirati sledeće tipove indeksa: Indeks kreiran od strane korisnika koji je povezan sa jednom ili više kolona Indeks povezan sa ključem koji se automatski menja kada se menjaju kolone ključa. 10

Indeks baziran na funciji koji računa vrednost funkcije ili izraza na osnovu jedne ili više kolona i čuva je u indeksu. Da bi kreirali indeks potrebno je: 1. Dvokliknuti na simbol za tabelu kako bi se otvorila stranica sa osobinama tabele 2. Kliknuti na karticu Indexes koja prikazuje sve indekse pridružene tabeli 3. Kliknuti na alat Add a Row i uneti ime indeksa i kod indeksa Slika broj 6. Dodavanje Indeksa 4. Kliknuti na dugme Properties kako bi se otvorila stranica sa osobinama novog indeksa 5. Uneti ili odabrati odgovarajuće osobine indeksa i odabrati karticu Columns 6. Da bi se kreirao indeks kreiran od strane korisnika potrebno je kliknuti na Add Columns dugme i odabrati jednu ili više kolona iz liste i potvrditi klikom na OK. Da bi se kreirao indeks povezan sa ključem potrebno je odabrati primarni, alternativni ili strani ključ iz Columns definition liste. Da bi se kreirao indeks baziran na funkciji (ukoliko je podržan od strane DBMS) potrebno je kliknuti na Add a Row dugme a zatim odabrati Expression kolonu i odabrati elipsasto dugme kako bi se pojavio SQL editor. U njega se unosi izraz i potvrđuje klikom na OK. 7. Odabrati Ascending ili Descending u koloni Sort 8. Potvrditi klikom na OK u svakom prozoru Osobine indeksa možemo menjati iz njegove stranice sa osobinama. Da bi otvorili stranicu sa osobinama za indeks, potrebno je kliknuti na dugme Properties u kartici Indexes u stranici sa osobinama tabele. Stranica sa osobinama sadrži više kartica. 11

Kartica general sadrži sledeće osobine: Name - navodi ime stavke, koje treba da bude jasno i da pokriva značenje stavke Code - navodi tehničko ime stavke koje se koristi za generisanje koda ili skripti Comment - opis indeksa Stereotype - pod-klasifikacija koja se koristi da proširi značenje stavke bez menjanja njene strukture Table - navodi tabelu u kojoj se nalazi indeks Unique - navodi da li je indeks jedinstveni indeks Cluster - ukazuje da li je indeks istovremeno i indeks klastera. Tabela ne može imati više od jednog indeksa klastera 1.2.5. Domen Domeni pomažu da se identifikuju tipovi informacija u modelu. Oni definišu skup vrednosti za koje je atribut kolone validan. Primenom domena na atribute kolona olakšava se standardizacija karakteristika podataka za atribute kolona u različitim tabelama. 1.2.6. Sekvenca Sekvenca je napredna forma auto-inkrement kolone koja omogućava da se definišu kompleksnije liste brojeva. Npr. može se definisati lista brojeva koja se nalazi između dve vrednosti i inkrement koji može predstavljati bilo koji broj. Jednom kada se sekvenca definiše, možemo je primeniti na koloni. Tip podataka u koloni koja se povezuje sa sekvencom mora biti numerički. 1.2.7. Referenca Referenca je veza između tabele roditelja i tabele potomka. Ona definiše ograničenje između parova kolona koje predstavljaju primarni ključ, alternativni ključ ili strani ključ. Kada su parovi kolona povezani pomoću reference, svaka vrednost u koloni tabele potomka se odnosi na ekvivalentnu vrednost u koloni tabele roditelja. Reference spajaju kolone u primarnom ili alternativnom ključu sa kolonama u stranom ključu. Npr. dve tabele Sale i Store su povezane po referenci. Store je tabela roditelj, a Sale je tabela potomak. Referenca ograničava povezivanje koje vezuje primarni ključ Store ID i strani ključ Store ID. Sale Sale Ivoice ID Store ID Title ISBN Sale Date Sale Amount Sale Terms Sale Quantity <pk> <fk> Store Store ID Store Name City State Postal Code Store Address <pk> Slika broj 7. Primer reference Da bi kreirali referencu možemo koristiti dugme Reference u paleti sa alatkama. 12

Osobine reference se mogu menjati iz njene stranice sa osobinama. Da bi otvorili stranicu sa osobinama reference potrebno je da se dvoklikne levim tasterom miša na simbol za referencu. Nakon toga se otvara stranica sa osobinama koja sadrži veći broj kartica. Kartica General sadrži sledeće osobine: Name - navodi ime stavke, koje treba da bude jasno i da pokriva značenje stavke Code - navodi tehničko ime stavke koje se koristi za generisanje koda ili skripti Comment - opis reference Stereotype - pod-klasifikacija koja se koristi da proširi značenje stavke bez menjanja njene strukture Parent table - navodi tabelu roditelja. Ova tabela sadrži primarni ključ ili alternativni ključ povezan referencom. Parent role - navodi ulogu tabele roditelja u referenci. Tekst se prikazuje na dijagramu u blizini tabele roditelja Child table - navodi tabelu potomka. Ova tabela sadrži strani ključ povezan referencom Child role - navodi ulogu tabele potomka u referenci. Tekst se prikazuje na dijagramu u blizini tabele potomka Generate - kada je odabrana ova opcija, generiše se referenca u bazi podataka Kartica Joins prikazuje veze između kolona u tabeli roditelju i kolona u tabeli potomku koje su definisane u okviru reference. U ovoj stranici se u polju Parent key bira ključ nad čijim kolonama se radi spajanje. 1.2.8. Pogledi Pogled predstavlja alternativni način pregledanja podataka u jednoj ili više tabela. On je sastavljen od podskupa kolona iz jedne ili više tabela. Za svaki pogled se definiše SQL upit. Da bi kreirali pogled možemo koristiti dugme View u paleti sa alatkama. Osobine pogleda se mogu menjati iz njegove stranice sa osobinama. Da bi otvorili stranicu sa osobinama pogleda potrebno je da se dvoklikne levim tasterom miša na simbol za pogled. Nakon toga se otvara stranica sa osobinama koja sadrži veći broj kartica. Kartica general sadrži sledeće osobine: Name - navodi ime stavke, koje treba da bude jasno i da pokriva značenje stavke Code - navodi tehničko ime stavke koje se koristi za generisanje koda ili skripti Comment - opis pogleda Stereotype - pod-klasifikacija koja se koristi da proširi značenje stavke bez menjanja njene strukture Owner - navodi se vlasnik pogleda. Vlasnik se bira iz liste korisnika. Pogled može imati samo jednog vlasnika. To je obično korisnik koji je kreirao pogled. Usage - navodi se upotreba pogleda: o query only - pogled koji ne može da menja tabele, već služi samo za pregled podataka o updatable - pogled koji može da menja tabele i da daje pregled podataka o with check options - daje kontrole nad insertovanjem podataka Dimensional type - navodi višedimenzioni tip pogleda 13

Type - omogućava da se definiše tip pogleda (ako baza podržava) Generate - uključuje kreiranje pogleda kao deo skripte za kreiranje baze Kartica Columns prikazuje listu kolona koje se nalaze u pogledu. Lista kolona reflektuje SELECT naredbu iz upita za dati pogled. Jedini način da se dodaju ili uklone kolone iz liste je da se izmeni upit pogleda. Kartica SQL Query prikazuje SQL kod za sve upite pridružene pogledu. U ovaj deo možemo ukucati sledeći kod za tabele Sale i Store: Sales View Title ISBN Sale Date Store Name City SALE STORE 1.2.9. Referenca pogleda Slika broj 8. Primer pogleda Referenca pogleda je veza između tabele ili pogleda roditelja i tabele ili pogleda potomka. Koristi se da definiše skup predefinisanih spajanja između kolona tabela ili pogleda roditelja i potomaka. 14

Za vežbu na času / Domaći zadatak: Kreirati fizički model podataka za konceptualni model iz vežbe 8 (domaći zadatak iz vežbe 8). 15