1 / 24

Maja Petekić

Jezik za rad s relacijskom bazom podataka. S. S. Q. Q. Maja Petekić. L. L. Prisjetimo se. Baza podataka mjesto na kojemu se čuvaju podaci. Relacijska baza podataka

nolcha
Download Presentation

Maja Petekić

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jezik za rad s relacijskom bazom podataka S S Q Q Maja Petekić L L

  2. Prisjetimo se . . . Baza podataka • mjesto na kojemu se čuvaju podaci • Relacijska baza podataka • ona baza podataka u kojoj se podaci čuvaju u tabelama i koja istovremeno vodi evidenciju o tome kako su te tabele međusobno povezane • Tabela • objekt u kojemu se čuvaju podaci • svaka tabela sadrži podatke o određenom entitetu

  3. Sadržaj . . . • Naredbe (za definiranje podataka, za rukovanje podacima, za upravljanje podacima) • Ključne riječi • Detaljan opis naredbi • View(pogled) • Primjer • Formiranje upita(upiti nad jednom tabelom, upit nad jednom tabelom uz prikaz modificiranog sadržaja tabele, ulaganje upita nad jednom tabelom u upit nad drugom tabelom, upiti kojima se realizira spajanje tabela, upiti nad tabelama koje u sebi imaju hijerarhijsku strukturu) • Standardni način povezivanja SQL-a s višim programskim jezicima • Kursori

  4. Uvod . . . • za rad s relacijskom bazom podataka postoji više jezika: SQL, QUEL, QBE • to su jezici četvrte generacije, koji se služe parafraziranim dobro oblikovanim formulama logike prvog reda • svi opisuju uvjete pretraživanja pomoću predikatne logike prvog reda • SQL je “userfriendly” jezik

  5. SQL– Structured Query Language . . . strukturirani upitni jezik . . . • tvorac Chamberlin • nastao 1974. godine uIBM-ovom istraživačkom laboratoriju u Californiji • prethodnik mu je SEQUEL

  6. Osnovne karakteristike . . . • Jednostavnost u korištenju • tabela (relacija) se kreira izvršnom naredbom i odmah je raspoloživa za korištenje • svi podaci se memoriraju u obliku tabela i rezultat svake operacije se logički prikazuje tabelom • Mogućnost interaktivnog i aplikativnog programiranja • SQL daje odgovore na unaprijed nedefinirane zahtjeve ili se SQL blokovi ugrađuju u viši programski jezik (Fortran, C) i mogućuju klasičnu obradu • Minimalna proceduralnost • SQL definira ŠTO, a ne KAKO: koji podaci se žele, koji uvjeti moraju biti ispunjeni, bez specifikacije procedure za dobivanje željenih podataka • funkcija SQL-a je omogućavanje definiranja, korištenja i kontrole podataka relacijske baze • SQL je na višem nivou apstrakcije, nego klasični viši programski jezici

  7. Kada se uči gramatika novog jezika (naredbe), bitno je kategorizirati njegov rječnik prema namjeni, stoga slijedi gramatika SQL-a u narednih 6 kategorija: 1.DDL(Data Definition Language) = jezik za definiranje podataka . . . CREATE TABLE, CREATE VIEW , . . . 2.DQL (Data Query Language) = jezik za ispitivanje podataka . . . SELECT . . . 3.DML (Data Manipulation Language) = jezik za upravljanje podacima . . . INSERT, DELETE, UPDATE, . . . 4.TPL (Transaction Processing Language) = jezik za obradu podataka . . . COMMIT, ROLLBACK, . . . 5.CCL (Cursor Control Language) = jezik za kontrolu kursora 6.DCL (Data Control Language) = jezik za kontrolu podataka . . . GRANT, REVOKE, . . .

  8. Naredbe za definiranje podataka • definiraju strukture tabela i pogleda, koriste se za njihovo mijenjanje, te za izradu i brisanje indeksa • CREATE TABLE (kreiranje tabele baze podataka) • CREATE VIEW (kreiranje virtualne tabele – “pogleda”) pogled je nova definicija postojećeg podatka, prividna tabela koja ne sadrži podatke • CREATE INDEX (kreiranje indexa nad kombinacijom kolona tabele) • ALTER TABLE (izmjena definicije tabele) • DROP TABLE (izbacivanje tabele iz baza podataka)

  9. Naredbe za rukovanje podacima • omogućuju ažuriranje i izvještavanje iz relacijske baze podataka • SELECT (prikaz sadržaja relacijske baze podataka) • UPDATE (izmjena vrijednosti u kolonama tabele) • DELETE (izbacivanje redova tabele) • INSERT (dodavanje redova u postojeću tabelu)

  10. Naredbe za upravljanje • omogućuju sigurnost, konkurentnost, oporavak i integritet relacijske baze podataka • GRANT (dodjela prava korištenja vlastite tabele drugim korisnicima) • COMMIT WORK (djelovanje na bazu podataka) • REVOKE (oduzimanje prava korištenja vlastite tabele od drugih korisnika) • ROLLBACK WORK (poništavanje djelovanja)

  11. Ključne riječi • KVALIFIKATORI – ograničavaju opseg vrijednosti entiteta koji čine upit (WHERE) • NAREDBE– glagoli koji prouzrokuju akciju, koja se izvršava (SELECT) • KLAUZULE– mijenjaju akciju instrukcije (ORDER BY) • OPERATORI – poredaju vrijednosti (=, <, >) • AGREGATNE FUNKCIJE GRUPA – vraćaju jedan rezultat za skup vrijednosti (MIN())

  12. Detaljan opis naredbi • AŽURIRANJE – dodavanje, izmjena sadržaja i brisanje reda ili redova tabele: 1. INSERT 2. UPDATE 3. DELETE 4. SELECT • sve četiri navedene naredbe moraju se primjenjivati nad istom tabelom (radi očuvanja integriteta baze podataka)

  13. 1. INSERT– postoje tri načina za unos: 1.ubacivanje vrijednosti SVIH atributa n-torke (ne specificiramo nazive atributa) 2. ubacivanje vrijednosti NEKIH atributa n-torke (specificiramo nazive atributa) 3. ubacivanje podataka iz jedne tabele u drugu (tabele moraju imati isti broj atributa koji su jednako definirani) Opći oblik: INSERT INTO naziv_tabele VALUES (vrijednosti atributa)

  14. Opći oblik: UPDATE tabela SET atribut=izraz [WHERE uvjet] 2.UPDATE – kod izmjene sadržaja tabele potrebno je paziti da vrijednost svakog atributa mijenjamo samo jednim izrazom 3.DELETE– brisanje (uz unaprijed zadane kriterije) Opći oblik: DELETE [FROM] tabela [WHERE uvjet] 4.SELECT – prikaz sadržaja baze podataka Opći oblik: SELECT atributi FROM tabela [WHERE uvjet]

  15. Definiranje podataka i kontrolne funkcije • CREATE TABLE – kreiranje nove tabele • potrebno je navesti ime relacije i za svaki atribut (kolonu tabele), naziv, tip, dužinu i da li su NULL vrijednosti dozvoljene Opći oblik: CREATE TABLE ime_tabele (atr1 tip [not null], atr2 tip [not null], . . .) • nedostatak– ne definira primarni ključ, pa ni sekundarni (sekundarni ključ je kombinacija atributa, koja nije ključ u toj, nego u nekoj drugoj tabeli baze podataka)

  16. Opći oblik: ALTER TABLE tabela ADD (atr tip [, atr tip]) • ALTER TABLE – dodavanje novog atributa (nove kolone) postojećoj tabeli • DROP TABLE – služi za izbacivanje tabele iz baze podataka Opći oblik: DROP TABLE tabela • razlika naredbi DROP TABLE i DELETE: • naredba DELETE briše kompletan sadržaj tabele, ali ne i samu tabelu • naredba DROP TABLE briše i sadržaj tabele i samu tabelu

  17. INDEKSI : 1. omogućuju brzi pristup kolonama koje se indeksiraju 2. omogućuju jedinstvenost vrijednosti indeksiranih kolona (tada te kolone imaju ulogu primarnog ključa) Opći oblik: CREATE [UNIQUE] INDEX naziv_indexa ON tabela (atribut) • indeks se izbacuje naredbom: DROP INDEKS naziv_indeksa

  18. Sigurnost, integritet podataka • GRANT – dodjeljivanje prava korištenja vlastite tabele drugim korisnicima (sva prava ALL, svim korisnicima PUBLIC) • REVOKE – oduzimanje prava korištenja

  19. View (pogled) • Pogled – virtualna tabela (ne uzima nikakav memorijski prostor, nema svoje podatke, ali se s njim redi slično kao s običnom tabelom) • prozor kroz koji se vide podaci baze podataka • ažuriranje preko pogleda može se vršiti samo kada je pogled definiran nad jednom tabelom i ako on sadrži sve NOT NULL kolone te tabele

  20. Prednosti korištenja pogleda • jednostavnost • tajnost • izvedba (čuva se u kompajliranom obliku ) • nezavisnost podataka Opći oblik: CREATE VIEW naziv_pogleda [(nazivi atributa)] SELECT atributi FROM . . .

  21. Primjer • relacijski model sastavljen od dvije relacije: RADNIK(atributi: IME, POSAO, SRUKOV, DATZAP, OD, PREMIJA, SOOUR, ključ: SRADNIK) OOUR (atributi: NAZIV, GRAD, ključ: SOOUR ) • atribut SOOUR relacije RADNIK omogućuje povezivanje te relacije s relacijom OOUR (vanjski, sekundarni ključ) OOUR (SOOUR, NAZIV, GRAD) RADNIK (SRADNIK, IME, POSAO, SRUKOV, DATZAP, OD, PREMIJA, SOOUR)

  22. Relacijska shema za primjer

  23. Relacijski model za primjer

  24. Komentar . . . • ova relacijska shema nije optimalna, jer sadrži NULL vrijednosti u koloni PREMIJA, koje je potrebno eliminirati izbacivanjem kolone PREMIJA iz tabele RADNIK i formiranjem nove relacije: TRGOVACKI_PUTNIK (SRADNIK, PREMIJA) • tako PREMIJA postaje svojstvo svih radnika

More Related