Pitanja i odgovori za drugi test 1. Šta je BAZA PODATAKA? Baza podataka (DB = Data Base) je organizovana kolekcija logički povezanih podataka, koja obezbeđuje fleksibilnost i sigurnost korišćenja. 2. Objekti baze podataka u Microsoft Acces-u? Tabele (Tables), upiti (queries), obrasci (Forms), izveštaji (Reports), Stranice (Pages), makroi (Macros) i moduli (Modules). 3. Tipovi podataka? Tipovi podataka određuje vrstu podataka koji se mogu unositi u polje i način na koji će Access obrađivati te podatke. TIP PODATKA KORSTI SE ZA VELIČINA Text Memo Number Alfanumeričke znake. Koristite za tekst ili tekst i brojeve koji se ne koriste u računskim operacijama. Alfanumeričke znace (duže od 255 znakova) ili tekst koji koristi oblikovanje obogaćenog teksta. Koristite za tekst duži od 255 znakova ili za tekst koji koristi oblikovanje obogaćenog teksta. Beleške, duži opisi i pasusi sa oblikovanjem poput podebljanog teksta ili kurziva su dobar primer za korišćenje polja tipa Memo. Numeričke vrednosti (celi brojevi ili decimalne vrednosti). Koristite za skladištenje brojeva koji će se upotrebljavati u računskim operacijama, osim novčanih vrednosti (za novčane vrednosti koristite tip podatka Valuta ). Do 255 znakova 535 znakova 1, 2, 4 ili 8 bajtova, odnosno 16 bajtova kada se koristi za ID replikacije Date/Time Currency Datume i vreme. Koristite za skladištenje vrednosti datuma/vremena. Imajte na umu da svaka uskladištena vrednost sadrži datumsku i vremensku komponentu. Novčane vrednosti. Koristite za skladištenje novčanih vrednosti (valuta). 8 bajtova 8 bajtova 1
AutoNumber Jedinstvene numeričke vrednosti koje Office 4 bajta ili 16 bajtova kada se koristi za ID Access automatski umeće kada se doda replikacije Zapis. Koristite za generisanje jedinstvenih vrednosti Koje mogu da se koriste kao primarni ključ. Imajte na umu da vrednost polja tipa Automatsko numerisanje može da se povećava u nizu u skladu sa određenom vrednošću za povećavanje ili da bude slučajno izabrana. Yes/No OLE Object Hyperlink Bulove (logičke) vrednosti. Koristite za polja tipa Tačno/netačno koja mogu da sadrže jednu od dve moguće vrednosti: na primer, Da/Ne ili Tačno/netačno. OLE objekte i drugie binarne podatke. Koristite za skladištenje OLE objekata iz drugih Microsoft Windows aplikacija (slike, binarni podaci, Office datoteke). Hiperveze. Koristite za skladištenje hiperveza da biste omogućili pristup Web stranicama preko URL (Uniform Resource Locator) adrese ili datotekama putem imena u UNC (universal naming convention) formatu pomoću jednog klika. Možete da se povežete i sa Access objektima uskladištenim u bazi podataka. 1 bit (8 bitova = 1 bajt) Do 1 gigabajt Do 1 gigabajt znakova ili 2 gigabajta prostora (2 bajta po znaku), od kojih u kontroli možete da prikažete 65 535 znakova Lookup Wizard... Nije stvarni tip podataka; pokreće čarobnjak za pronalaženje. Koristite za pokretanje čarobnjaka za pronalaženje tako da možete da kreirate polje koje koristi kombinovani okvir da biste pronašli vrednost u drugoj tabeli, upitu ili listi vrednosti. Na osnovu tabele ili upita: veličina povezane kolone Na osnovu vrednosti: veličina tekstualnog polja koje se koristi za skladištenje vrednosti VRSTE BROJEVA U ACCESSU Tip broja Opis Byte Celi broj dužine jednog bajta, sadrži vrednosti od 0 do 255 Integer Celi broj dužine 2 bajta sadrži vrednosti od -32 768 do 32 767 Long Integer Single Celi broj dužine 4 bajta sadrži vrednosti od -2 147 483 648 do 2 147 483 647 Broj sa pokretnim zarezom (floating point) dužine 4 bajta sadrži vrednosti od -3.4x1038 do 3.4x1038 2
Double Broj sa pokretnim zarezom dužine 8 bajta sadrži brojeve od - 1.797x10138 do 1.797x10138 ReplicationID 16-bajtni globalni jedinstveni identifikator (GUID) 4. Indeksi? Indeks baze podataka je lista od jednog ili više polja koja baza podataka može da upotrebi da bi pronalazila i sortirala zapise. Indeksi ubrzavaju operacije te vrste jer baza podataka treba da ispituje samo sadržaj indeksiranih polja, ne celih zapisa. 5. Primarni i spoljni ključ? Primarni ključ je polje (ili kombinacija polja) iz tabele baze podataka koje nedvosmisleno identifikuje taj zapis. Spoljni kljuć pokazuje način povezivanja tabela kod relacionih modela. To može biti jedna ili više kolona u tabeli koje su u relaciji sa kolonama koje sadrže primarni ključ u tim tabelama. 6. Vrste odnosa između tabela? Veza ili odnos (relationship) jeste asocijacija između entiteta. Veza jedan-prema-jedan? jedan-prema-jedan, tj. svaki zapis u prvoj tabeli može imati samo jedan podudarni zapis u drugoj tabeli i svaki zapis iz druge tabele može imati samo jedan podudarni zapis iz prve tabele. Ovaj tip relacije nije uobičajen, jer su informacije povezane na ovaj način najčešće uskladištene u istoj tabeli. Relaciju jedan-prema-jedan možete koristiti da biste podelili tabelu sa više polja, da biste izolovali deo tabele iz bezbednosnih razloga ili da biste uskladištili informacije koje se primenjuju samo na podskup glavne tabele. Kada identifikujete takvu relaciju, obe tabele moraju da dele zajedničko polje (imaju jednake vrednosti primarnog ključa). Veza jedan-prema-više? jedan-prema-više, tj. svaki zapis u prvoj tabeli može imati nula, jedan ili više podudarnih zapisa u drugoj tabeli, ali zapis iz druge tabele moze imati samo jedan podudarni zapis u prvoj tabeli. Ove veze su najčešče. [Npr.:Jedan student sluša više predmeta.] Veza više-prema-više? više-prema-više, tj. svaki zapis u prvoj tabeli može imati nula, jedan ili više podudarnih zapisa u drugoj tabeli i svaki zapis u drugoj tabeli može imati nula, jedan ili više podudarnih zapisa u prvoj tabeli. Međutim, veze tipa više-prema-više ne mogu se neposredno predstaviti u relacionoj bazi podataka. Umesto toga, one se modeluju pomoću dopunske (vezne) relacije koja je u vezi jedan-prema-više sa svakim od učesnika izvorne veze. Takva dopunska relacija obično se zove vezna tabela (junction table). Vezna tabela se najčešće sastoji samo od primarnih ključeva obe tabele. [Npr.:Više studenata sluša predavanje jednog profesora, a isti student može slušati predavanja više profesora.] 3
7. Integritet entiteta? Integritet entiteta podrazumeva da svaka vrednost primarnog ključa mora biti jedinstvena na nivou cele relacije. Osim toga, mora biti ispunjen uslov da ni jedna stavka u koloni primarnog ključa ne sme imati NULL vrednost. 8. Referencijalni integritet? Referencijalni integritet odražava definisane odnose (relacije) među tabelama kada se u njih dodaju ili se iz njih brišu zapisi. Entitet ponekad sadrži kolone u kojima se prihvata vrednost kolone neke druge tabele (FK) Referencjalni integitet čuva vezu između entiteta čak i kada se podaci menjaju 9. Upiti (Queries)? Upit je skup uputstava, koja omogućavaju da se podaci iz baze podataka na različite načine pregledaju, menjaju ili analiziraju. Svaki upit ima ime i čuva se u bazi podataka. Pokrtanjem određenog upita izvršavaju se ta uputstva. Pored toga što daje rezultate koji mogu da se sortiraju, grupišu ili filtriraju, upit može da kreira, kopira, briše ili menja podatke. a. Tipovi upita? U Microsoft Access-u postoji nekoliko tipova upita: 1. Select queries (upiti za izdvajanje) - su najjednostavniji i najčešći upiti. Koriste se za izdvajanje podataka iz jedne ili više tabela i njihovo prikazivanje u formi dinamičkog skupa čiji se sadržaj može pregledati, analizirati i ažurirati (sa ograničenjem). Σ Totals (zbirni upit) predstavlja posebnu vrstu upita za izdvajanje podataka. Korišćenjem zbirnog upita, zapisi se mogu grupisati i izračunavati sume ili zbirne vrednosti (npr. ukupan broj zapisa ili njihova srednja vrednost) u upitima za izdvajanje podataka. 2. Parameter queries (parametarski upit) kada ga pokrenete zahteva unos jedne (ili više) vrednosti koju ovaj upit primenjuje kao kriterijum za polje. Parametarski upit nije posebna vrsta upita, on samo proširuje fleksibilnost upita. Uglavnom su to upiti za izdvajanje ili unakrsni upiti, ali mogu biti i upiti za ažuriranje i kreiranje tabela. 3. Crosstab queries (unakrsni upiti) prikazuje zbirne podatke u tabelarnom obliku. Generisani prikaz je poput onog koji daje program za tabelarne proračune, s tim što su zaglavlja redova i kolona zasnovana na poljima iz tabele. Pojedinačne ćelije u rezultujućem dinamičkom skupu su tabelarne odnosno izračunate. 4. Action queries (radni upiti) ovaj tip upita omogućava ažuriranje podataka u postojećim tabelama kao i kreiranje nove tabele. Radni upiti omogućavaju ažuriranje više zapisa u istoj operaciji, za razliku od upita za izdvajanje uz pomoć kojeg se može ažurirati samo jedan po jedan zapis. Delete Queries (upiti za brisanje) omogućavaju brisanje zapisa iz jedne ili više tabela u skladu sa navedenim uslovima. Update Queries (upit za ažuriranje) omogućava ažuriranje skupa zapisa u jednoj ili više tabela u skladu sa navedenim uslovima. 4
Append Queries (upiti za dodavanje) omogućava dodavanje skupa zapisa iz jedne ili više tabela na kraju neke druge (ili više drugih ) tabela. Make Table Queries (upit za kreiranje nove tabele) omogućava kreiranje nove tabele izborom polja iz jedne ili više tabela. 5. SQL queries (SQL upiti) - mogu da se otvore samo u SQL prikazu, ili da se pokrenu: Pass-through (prolazni upiti) su SQL upiti koje ne obrađuje mašine za bazu podataka, koja je sastavni deo programa Access. U stvari, oni se direktno prosleđuju na udaljeni server baze podataka koji ih obrađuje, a zatim vraća rezultate u Access. Data-definition (upiti za definisanje podataka) predstavljaju poseban tip upita koji ne obrađuje podatke. Umesto toga, oni kreiraju, brišu ili menjaju druge objekte baze podataka. Union upiti koji korite operator UNION za kombinovanje rezultata dva ili više upita za izdvajanje. Upiti za združivanje kombinuju podatke iz dve ili više tabela, ali ne na isti način kao drugi upiti. Većina upita kombinuje podatke spajanjem redova, dok ih upiti za združivanje kombinuju dodavanjem redova. Razlika između ovih upita i upita za dodavanje je u tome što upiti za združivanje ne menjaju osnovne tabele. Oni dodaju redove u skup zapisa koji se ne zadržava nakon zatvaranja upita. Select queries (upiti za izdvajanje) i Crosstab queries (Unakrsni upiti) se koristite za preuzimanje i prezentaciju podataka, kao i za popunjavanje obrazaca i izveštaja podacima. Svi radni upiti, izuzimajući upite za kreiranje tabela, menjaju podatke u tabelama na kojima se zasnivaju. Ove promene se ne mogu lako opozvati.(ako se pomoću radnog upita unesete izmene i kasnije se predomislite, obično ćete morati da podatke vratite u prethodno stanje iz rezervne kopije.) Zbog toga bi uvek trebalo proveriti da li postoji rezervna kopija osnovnih podataka pre nego što se pokrene radni upit. b. Mogućnosti upita? Mogućnosti upita: Izdvajanje podataka - Podaci mogu da se izdvoje iz jedne ili više tabela, ukoliko ih povezuje kolona sa istim podacima. Rezultat tog izdvajanja je prikaz u obliku virtuelne tabele. Biranje polja - Iz svake tabele mogu biti izvojena polja koja će biti prikazana u skupu rezultata upita Biranje zapisa - Koji će zapisi biti izdvojeni u skup rezultata, može da se zada postavljanjem određenih kriterijuma (uslova). Sortiranje zapisa - Sadržaj skupa rezultata može se prikazati sortiran po određenom redosledu. Proračuni - Upiti se mogu koristiti za razne proračune na osnovu podataka. Npr. može da se da izračuna proseke ukupne svote ili da se prebroje zapisi koji ispunjavaju određene uslove. Pravljenje tabela - Na osnovu upita moguće je kreirati tabelu u bazi podataka koja će sadržati podatke koji se dobijaju kao rezultat upita. Ova vrsta upita pravi novu tabelu na osnovu podataka iz dinamičkog skupa. Pravljenje formi i izveštaja - Dinamički skup koji je nastao kao rezultat upita može da ima upravo ona polja i podatke koji potrebni u izveštaju ili na obrascu (formi). Kada se izveštaj ili 5
obrazac zasniva na upitu, svaki put kada se izveštaj odštampa ili se otvori obrazac, upit će izdvojiti najsvežije podatke iz tabela. Pravljenje dijagrama na osnovu upita - Na osnovu podataka dobijenih upitom mogu se praviti dijagram koji će se koristiti u obrascu ili izveštaju. Korišćenje upita kao izvora podataka - Mogu se krirati dodatni upiti koji se zasnivaju na skupu zapisa izdvojenih prethodnim upitom. To je veoma korisno za ad hoc upite, u kojima može biti potrebno da se više puta ponovi upit s malim izmenama uslova. Sekundarni upit (podupit) može da se koristi za izmenu uslova dok primarni upit i njegovi podaci ostaju nepromenjeni. Upiti se mogu izdvajati iz drugih izvora podataka - Open Database Connectivity (ODBC) je protokol koji se može koristiti za povezivanje Microsoft Access baze podataka sa spoljnim izvorom podataka, te se mogu postavljati upiti nad podacima koji se nalaze u dbase, Paradox, Btrieve i Microsoft SQL Server bazama podataka. 10. SQL jezik? SQL (Structured Query Language) (SQL) je prvi put objavljen 1970. godine kao jezik relacionih baza podataka. SQL je uglavnom zasnovan na relacionoj algebri, s time da je matematička notacija zamenjena ključnim rečima nalik na govorni engleski jezik. SQL jezik podržava tri osnovne funkcije bazame podataka. To su: definicija baze podataka: pre početka rada sa bazom podataka neophodno je definisati njenu strukturu - koje tabele postoje, koji atributi postoje u tabelama i kog su tipa, koja ograničenja postoje unutar tabela i izme u njih, koje pomoćne strukture (indeksi) za ubrzanje pristupa podacima postoje i za koje tabele; ova komponenta jezika odgovara DDL-jeziku baze podataka (od "Data Definiton Language"); manipulacija bazom podataka: pored upita nad bazom podataka, kojima dobijamo željene informacije, neophodno je obezbediti i ažuriranje baze podataka, odnosno unos, izmenu i brisanje podataka; ova komponenta je u stvari DML-jezik baze podataka (od "Data Manipulation Language"); kontrola pristupu podacima: u svakoj bazi podataka neophodno je ostvariti kontrolu koji korisnici imaju pristup kojim podacima i šta mogu da rade sa tim podacima; ova komponenta predstavlja DCL-jezik baze podataka (od "Data Control Language"). Iz svega toga, može se zaključiti da naziv SQL ne odgovara u potpunosti, pošto u pitanju nije samo upitni jezik. SQL jezik podržava dva režima rada sa bazom podataka: interaktivni: korisnik zadaje jednu po jednu SQL naredbu interaktivno, preko tastature, a ishod svake se prikazuje preko monitora; pristup bazi podataka je ograničen jedino pravima korisnika; programski: korisnik pokreće program u kome se nalaze "ugrađene" SQL naredbe; pristup bazi podataka ograničen je pravima korisnika i sadržajem programa; pri tome, ugrađene naredbe mogu biti statičke (fiksirane u vreme prevo enja programa) ili dinamičke (konstruisane tokom izvršavanja programa). 6
11. Operatori? Operatori se koriste u operacijama kao što su: postavljanje standardnih (default) vrednosti, zadavanje uslova prilikom unosa vrednosti u tabele, korišćenje uslova u upitima, postavljanje izračunatih polja na obrasce i dodavanje objekata za sumarne operacije na izveštaje. OPERATOR ZNAČENJE = Jednako <> Različito od < Manje od <= Jednako ili manje od > Veće od >= Jednako ili veće od LIKE IN BETWEEN...AND = za tip podataka Text Definiše listu prihvatljivih vrednosti Definiše opseg ili niz prihvatljivih vrednosti Definiše opseg ili niz prihvatljivih vrednosti OR AND NOT Logičko ILI (definiše nekoliko mogućnosti vrednosti koje mogu biti unete) Lodičko I (koristi se ukoliko želimo da zadamo više od jednog kriterijuma pravila ispravnosti; pri upotrebi ovog parametra treba voditi računa o tome da jednim pravilom ne isključite drugo, čime biste onemogućili bilo kakav unos) Logičko NE (koristi se ukoliko želimo da izaberemo sve zapise koji ne zadovoljavaju njegove kriterijume) Logički operatori su: AND, OR, NOT Operatori poređenja su: =, <>, <, <=, >, >=, LIKE Aritmetički operatori su: +, -, *, /, & (tekstualni oblik operatora +) 7
12. Obrasci (Forms)? Ovi objekti podsećaju na štampane obrasce i služe prvenstveno za unošenje i ažuriranje podataka. Obrazac omogućava prikazivanje sadržaja jednog ili više zapisa, kao i svih njihovih polja istovremeno. U Access-u postoji šest osnovnih vrsta obrazaca: Obrazac sa poljima rasporenenim u kolone Tabelarni obrazac Tabelarni prikaz Glavni/Podobrazac Obrazac za izvedene tabele Dijagram 13. Izveštaji (Reports)? Ovi objekti omogućavaju prikazivanje, formatiranje, sabiranje i štampanje izabranih podataka. Poslednji korak u projektovanju baze podataka, uz pomoć Access-a, je pravljenje izveštaja. Slično obrascima, koriste se za prikaz podataka, ali za razliku od obrazaca, izveštaji se uglavnom koriste za štampanje izabranih podataka. Dakle, izveštaji su specijalizovani oblik prikazivanja podataka iz upita i tabela prilagođeni štampi. Njima se mogu prikazati sumarni podaci, rezultati statističke obrade podataka ili predstaviti podaci u grafičkom obliku. 8