napredno web programiranje - webdizajn.ict.edu.rs · web programiranje. zend technologies. termini...
TRANSCRIPT
Napredno web programiranjeweb programiranje
Zend Technologies
Termini koje treba razumetiDatabaseTableColumnKeyIndexPrimary keyy yForeign keyReferential IntegritySortinggGroupingAggregate functionsTransactionEscaping
Tehnike koje treba savladatiCreating tablesDesigning and optimizing indicesI i d d l i dInserting and deleting dataSelecting data from tablesSorting result setsSorting result setsGrouping and aggregating dataUsing transactionsUsing transactionsEscaping user inputManaging dates
Baze podatakaModerne baze podataka (Database management systems) DBMS podrazumevaju relacioni model organizacijeBaza podataka se sastoji od tabelaBaza podataka se sastoji od tabelaU tabelama se nalaze zapisi (redovi)Svaki od redova ima koloneSvaki od redova ima koloneSvakako kolona ima tip podatakaPostoji veliki broj tipova podataka, od kojih su neki j j p p jzajednički za sve, a neki su karakteristični za neke baze podataka
IndeksiIndeksi su osnovni element u kontekstu kreiranja relacionog modelaIndeks predstavlja mogućnost dodele jedinstvane vredosti Indeks predstavlja mogućnost dodele jedinstvane vredosti celom zapisu, i povezivanje sa drugim tabelamaNačin korišćenje indeksa može uticati na brzinu rada baze podatakapodatakaPreporuke:
Ukoliko se upitom dohvata sadržaj tri kolone, maksimalne f k k l dperformanse su ako te tri kolone imaju isti index
Brz upit ne mora biti optimalan, jer možda radi sa malom količinom podatakaTreba koristiti alate koje pružaju baze podataka za praćenje serverske aktivnosti. Na taj način se može pratiti svaki upit.
Primarni ključPoseban tip indeksa je primarni ključPrimarni ključ nikada ne sme biti NULL i mora biti jedinstven za konkretnu tabelujedinstven za konkretnu tabeluPrimarnim ključem može se na jedinstven način izvršiti selekcija odreženog zapisaj g p
Strani ključStrani ključ je kolona u jednoj tabeli koja referencira kolonu u drugoj tabeliR l i i d l j i li b klj čRalacioni model je nezamisliv bez stranog ključaStrani ključ je ključan za obezbeđivanje referentialintegrity(podaci iz više tabela koji su međusobno integrity(podaci iz više tabela, koji su međusobno povezani, su “samo održivi”)
Kreiranje tabele i rad sa redovima
INSERT [INTO] table_name[(column1[ column2[ column]])]
CREATE TABLE table_name(
[(column1[, column2[, column]])]VALUES(value1[, value2[, valuen]])
Column1 datatype[,Column2 datatype[,...]] DELETE [FROM] table name...]])
DELETE [FROM] table_name
DELETE FROM my tableDELETE FROM my_tableWHERE user_name = ‘Daniel’
SelekcijaSelect *From my_table
l l l bSelect column_a, column_bFrom my_table
S l t l l bSelect column_a, column_bFrom my_tableWhere column_a > 10 and column_b <> ‘Daniel’
Select *From table1 inner join table2 on table1.id = table2.id
Select *From table1 left outer join table2 on table1.id = table2.id
Agregatne funkcijeSELECT *From my tableFrom my_tableGroup by column_a
Select sum(column b)Select sum(column_b)From my_tableGroup by column_a
MIN() i MAX()
SortiranjeSelect *From my_tabley_Order by column_a, column_b DESC
Selekcija se vrši po koloni a u rastućem redosledu. Samo ukoliko u koloni a imaju dva ili više zapisa sa istim sadržajem onda se unutar njih dodatno vrši istim sadržajem, onda se unutar njih dodatno vrši drugi nivo selekcije na bazi podataka u koloni b, u opadajućem redosledu.
TransakcijeTransakcija je skup SQL komandi, koje se tumače kao jedinstven paket, koji se može opozvati u bilo kom trenutkuTransakcija se koristi kada se mora obezbediti da više različitih jupita mora biti realizovano, ili se poništiti uticaj dela onih upita koji su realizovani, ako nisu svi realizovani
BEGIN TRANSACTION(Your data‐altering instructions here)[COMMIT TRANSACTION | ROLLBACK TRANSACTION]
Ako se na kraju transakcije dobije COMMIT TRANSACTION sve promene upita koji su definisani će se primeniti na bazu podaka. U suprotnom izvršava se ROLLBACK TRANSACTION i sve promene U suprotnom izvršava se ROLLBACK TRANSACTION i sve promene u bazi se odbacuju.
Zend Technologies
Napredno web programiranjeweb programiranje