2. dio usmeni Flashcards
- Što je SQL i navedite njegove osobine?
SQL je strukturni jezik za pretraživanje,izradu i obradu podataka relacijskih baza podataka.
Osobine SQL-a:
-English-like jezik. Upotrebljava riječi kao što su npr.: select, insert, delete i sl. kao dio
naredbe
-Ne-proceduralni jezik
-U jednom trenutku češće obrađuje skup slogova nego jedan slog (na razini tablice)
-Mogu ga koristiti korisnici različitog profila: DB administratori, aplikativni programeri,
neprofesionalni korisnici i sl.
-Osigurava naredbe za različite zadaće uključujući:
Upite nad podacima
Dodavanje, mijenjanje i brisanje redaka u tablicama
Kreiranje, mijenjanje i brisanje objekata sheme
Kontrolu pristupa bazi podataka i objektima sheme
Osigurava konzistentnost baze podataka
- Navedite i opišite objekte SQL-a.
Baza podataka (Database) Tablica (Table) Pogled ili virtualna tablica (View) Pravilo integriteta (Constraint) Indeks (Index) Procedura (Stored Procedure) Okidač (Trigger) Sinonim (Synonym)
- Navedite tipove podataka u SQL-u.
Znakovni tipovi podataka
CHAR(n) - fiksna duljina zapisa, max. 8000 karaktera.
VARCHAR(n) - varijabilna duljina zapisa, max. 8000 karaktera.
TEXT - varijabilna duljina zapisa, max. 231-1 karaktera.
Numerički tipovi podataka
Cjelobrojni tipovi:
INT - cijeli brojevi od -231 do 231 - 1
BIGINT - cijeli brojevi od -263 do 263-1
SMALLINT - cijeli brojevi od -2^15 (-32,768) to 2^15-1 (32,767)
TINYINT - cijeli brojevi od 0 to 255
Decimalni brojevi:
DECIMAL(p,s) ili NUMERIC
-1038 +1 do 1038 - 1
p - ukupan broj znamenki (od 1 do 38)
s - broj decimalnih znamenki (o <= s <= p), opcionalan
Unicode tipovi podataka
NCHAR(n) -fiksna duljina zapisa, max. 4000 karaktera.
NVARCHAR(n) - varijabilna duljina zapisa, max. 4000 karaktera.
NTEXT - max. 230 - 1 (1,073,741,823) karaktera
Datum i vrijeme
DATETIME - od 01.01.1753 do 31.12.9999, zaokruženo na 0.003 sekunde.
SMALLDATETIME - od 01.01.1900 do 06.06.2079, zaokruženo na minutu.
TIMESTAMP - specijalna namjena, najčešće u milisekundama.
Binarni tipovi podataka
BINARY(n) - fiksna duljina binarnog zapisa, max. 4000 bytes.
VARBINARY(n) - varijabilna duljina binarnog zapisa, max. 4000 bytes.
IMAGE - max. 231-1 (2,147,483,647) bytes.
- Navedite tipove SQL izraza (funkcija).
DML izrazi (Data Manipulation Language Statements) tj. izrazi za upravljanje
podacima
DDL izrazi (Data Definition Language Statements) tj. izrazi za definiranje
podataka
Izrazi za kontrolu transakcija (Transaction Control Statements)
Izrazi za kontrolu sesije (Session Control Statements)
Izrazi za kontrolu sustava (System Control Statements)
Ugrađeni SQL izrazi (Embedded SQL Statements)
- Navedite osnovne metode spajanja.
equi-join(spajanje po jednakosti)
non-equi join(spajanje po nejednakosti)
outer joins(koristi se za prikaz redaka koji inače ne zadovoljavaju uvjet spajanja)
self joins(rekurzivna veza, tablica se veže na samu sebe)
- Što su podupiti i navedite primjer?
Podupit je SELECT iskaz ugniježđen u drugom SELECT iskazu.
Rezultat ovog “unutarnjeg” SELECT iskaza koristi se u “vanjskom” SELECT-tu kako bi
se odredio sadržaj konačnog rezultata.
Primjer: Pronaći sve uposlenike koji imaju isti posao kao Ana Anić:
SELECT ImePrezime, RadnoMjesto
FROM djelatnici
WHERE Radnomjesto=(SELECT RadnoMjesto FROM djelatnici WHERE ImePrezime
like ‘Ana Anić’);
- Što su pogledi i zašto se koriste?
Pogled je relacija čija su shema i sadržaj definirani izrazom relacijske algebre pomoću
SQL upita i određuje se tek pri obavljanju SQL upita.Naredba za stvaranje je CREATE
VIEW.
Uporaba pogleda:
za ograničenje pristupa podacima
za pojednostavljenje složenih upita
za omogućavanje neovisnosti podataka
za prikaz različitih pogleda na iste podatke
- U čemu je razlika između pogleda i relacije (tablice)?
Tablica je stalna relacija čija su shema i sav sadržaj trajno pohranjeni u bazi podataka.
Pogled je virtualna relacija koja se određuje tek pri obavljanju SQL upita,nema svoje
indexe niti datoteke sa podacima.Kreiranjem pogleda mozemo točno definirati što želimo
da se prikaže iz tablice.
- Što su funkcije i kad se koriste?
Funkcija je potprogram koji obavlja određenu funkcionalnost nad podacima, pohranjen je
u rječniku podataka i izvršava se u trenutku kad je to korisniku potrebno te u pozivajući
program VRAĆA rezultat kao povratnu vrijednost.Koristi se kada želimo nad podacima
odraditi određene funkcije i koristiti dobiveni rezultat te funkcije.
- Što su procedure i kad se koriste?
Procedura je potprogram koji obavlja određenu funkcionalnost nad podacima, pohranjena
je u rječniku podataka i izvršava se u trenutku kad je to korisniku potrebno te u pozivajući
program NE VRAĆA rezultat kao povratnu vrijednost.Koristi se kada želimo kontrolirati
tok programa,rukovati iznimkama i sl.
- Što su okidači i kad se koriste?
Okidači su programski kod koji se izvršava automatski prilikom izvođenja specificirane
DML operacije nad specificiranom tablicom. Koriste se za opisivanje aktivnih pravila u
današnjim SUBP.
- Što je ECA?
Najčešće korištena paradigma za opisivanje aktivnih pravila u današnjim SUBP
je događaj-uvjet-akcija (ECA: Event-Condition-Action).
on event
if condition then action
Ako se dogodi neki događaj (eng. event), izračunava se uvjet (eng. condition) i ako je on
zadovoljen izvršava se akcija (eng. action).
- Što je integritet baze podataka i navedite integritetska ograničenja?
Integritet baze podataka predstavlja ispravnost podataka i operacija nad istim podacima u
bazi.
Postoje sljedeća integritetska ograničenja:
Entitetski integritet (eng. Entity integrity)
Domenski integritet (eng. Domain integrity)
Ograničenja NULL vrijednosti (eng. Constraints on NULL)
Integritet ključa (eng. Key integrity)
Referencijalni integritet (eng. Referential integrity)
Opća integritetska ograničenja (eng. General integrity constraints)
- Što je sigurnost baze podataka i kako može biti narušena?
Sigurnost baze podataka (eng. database security) brine se o tome da korisnici koji
pristupaju bazi podataka za to imaju ovlaštenje te štiti bazu od korisnika koji nemaju
ovlast za pristup bazi podataka.
Sigurnost baze podataka može biti narušena na više načina:
Korisnik neovlašteno čita podatake
Korisnik neovlašteno mijenja podatake
Korisnik neovlašteno briše podatake
- Što je fizička organizacija baze podataka?
Pod pojmom fizičke organizacije baze podataka podrazumijevamo strukture podataka
korištene pri spremanju podataka u memoriji. Fizička organizacija baze podataka ne
utječe na rezultate operacija s podacima već utječe na učinkovitost baze podataka jer
djelotvornija fizička organizacija brže pristupa podacima.
- Koje su najčešće metode fizičke organizacije baze podataka?
Neporedana datoteka (eng. heap) Poredana datoteka (eng. sorted file) Raspršena datoteka (eng. hash file) Indeksno – slijedna organizacija (eng. index – sequential file) B – stablo (eng. B - tree)
- Objasnite B-stablo.
Stablo je balansirano (eng. balanced) ako je duljina puta od korijena do svakog lista u
stablu jednaka. Slovo B u B – Stablu znači da je ono balansirano.
U B – stablu reda n, interni čvor sadrži najviše n pokazivača, a najmanje n / 2 pokazivača
Ako u nekom čvoru imamo p pokazivača, broj pripadnih vrijednosti Ki u čvoru je p – 1,
gdje je Ki vrijednost ključa za pretragu.
- Što su indeksi?
Indeksi su podatkovne strukture koje se koriste za brže pretraživanje nad nekim atributom.
Kreiranjem indeksa nad relacijom, nad blokovima s podacima o atributu stvara se
B-stablo.
Ako stvorimo indeks nad atributom ime stvoriti će se B-stablo nad tim atributom
Nad istom relacijom može se kreirati više indeksa i za svaki indeks stvara se novo
B-stablo
Nakon što se stvori indeks podacima se vrlo djelotvorno može pristupiti preko tog
atributa, dok se preko atributa nad kojim nije stvoren indeks može pristupati preko
linearnog pretraživanja svih blokova što je dugotrajan proces
- Nabrojite i pojasnite tzv. ACID osobine transakcija.
Atomnost – „sve ili ništa‟ (transakcije nije moguće samo djelomično izvršiti)
Konzistentnost – transakcija mora transformirati bazu iz jednog konzistentnog
stanja u drugo
Izolacija – učinak transakcije postaje vidljiv drugim transakcijama tek nakon
završetka transakcije promatrajući izvana transakcija može biti ili izvedena ili ne
Trajnost – rezultat uspješno završenih (potvrĎenih) transakcija se trajno bilježi u
bazu podataka i ne smije se izgubiti zbog naknadnih grešaka (čak ni u slučaju pada
sustava)
- Ako je podatak zaključan ekskluzivnim (exclusive ili write) ključem, koje
zaključavanje može dobiti sljedeća transkacija koja traži pristup istom podatku?
Sljedeća transakcija koja traži pristup istom podatku može dobiti podijeljeno
zaključavanje pa ima ograničeni pristup podatku tijekom rada transakcije koja je
zaključala podatak.
21 Što je distribuirana baza podataka?
Skup baza podataka smještenih na više različitih računala i prostornih lokaliteta, a s
kojima korisnik radi kao da je u pitanju jedna jedinstvena baza.
- Pojasnite način funkcioniranja protokola dvofaznog potvrđivanja transakcija
kod distribuiranih baza podataka!
Dvofazno potvrđivanje transakcija omogućava sinkronizirano zaključavanje svih dijelova
transakcije. Ovakav način potvrđivanja kao rezultat daje jedinstvenu akciju kojom se
transakcija prenosi na više lokacija i procesora.
- Značajke DDBMS-a.
Skup logički povezanih djeljivih podataka
Podaci su razdvojeni na više fragmenata
Fragmenti se mogu replicirati
Fragmenti/Replikacije pripadaju lokacijama
Lokacije su povezane komunikacijskom mrežom
Podaci na svakoj lokaciji su pod nadzorom DBMS-a
DBMS na svakoj lokaciji može upravljati lokalnim aplikacijama autonomno
Svaki DBMS učestvuje u najmanje jednoj globalnoj aplikaciji.
- Navedite 4 osnovna dijela DDBMS-a.
Lokalna DBMS komponenta
Komunikacijska komponenta
Globalni katalog sustava
Distribuirana DBMS komponenta
- Navedite 4 osnovne strategije alociranja.
Centralizirana
Fragmentirana
Potpuna replikacija
Selektivna replikacija
- Što su NoSQL baze podataka i navedite najčešće?
No+SQL podrazumijeva rješenja koja nisu zasnovana na relacijskim SUBP-ovima.
To su ne-relacijske baze podataka novije generacije, većinom su otvorenog koda,
horizontalno skalabilne, jednostavan API, BASE (nisu ACID), rade s velikom količinom
podataka itd.
Najčešće NoSQL baze podataka su:
Dokumenti
Ključ-vrijednost
Grafovi
Objektne orijentirane baze podataka
- Što je skladište podataka?
Skladište podataka je predmetno orijentirani, integrirani, relativno stabilni i vremenski
orijentirani skup podataka u funkciji potpore odlučivanja menadžera.
- Zašto su metapodaci posebno značajni kod skladišta podataka?
Metapodaci su posebno značajni kod skladišta podataka zato što:
Koriste se za specificiranje podataka
Daju opisne informacije vezane za izvor podataka
Obuhvaćaju informacije potrebne za uspostavljanje procedura i rasporeda poslova
kod prikupljanja podataka sa različitih izvora
Sadrže raspored prijenosa podataka
Upravljaju tablicom dimenzija (definiranje zajedničkih dimenzija i zajedničkih
vrijednosti)
- U čemu je temeljna razlika između baza podataka i skladišta podataka?
Skladište podataka je baza podataka koja sadrži povijesne nepromjenjive podatke koji se
prikupljaju i obrađuju radi potpore poslovnom odlučivanju dok su podaci unutar baze
podataka promjenjivi.
- Koji je najčešći model podataka u skladišu podataka i navedite osnovna
svojstva?
Najčešći model podataka u skladištu podataka je dimenzijski model podataka
Osnovna svojstva dimenzijskog modela podataka su:
Dimenzijski model pravi razliku između vrijednosti i atributa.
Vrijednost je obično nešto što nije poznato unaprijed
Atributi su obično tekstualna polja i najčešće opisuju značajke
“opipljivih” stvari.
Atributi unutar dimenzijskih tablica su tekstualni ili se ponašaju kao tekst
(počivaju na diskretnim vrijednostima i osnova su aplikacijskih ograničenja)
- Opišite logičku i fizičku strukturu baze podataka.
a