530 likes | 817 Views
Relacione baze podataka Microsoft Access 200 3 SQL Server. Miljan G. Jeremi ć. Sadržaj iz baza podataka. Uvod u relacione baze podataka Jet-SQL Tabele i relacije Upiti Forme Izveštaji Visual Basic for Applications Osobine Access baze podataka Access i SQL Server.
E N D
Relacione baze podatakaMicrosoft Access 2003SQL Server Miljan G. Jeremić
Sadržaj iz baza podataka • Uvod u relacione baze podataka • Jet-SQL • Tabele i relacije • Upiti • Forme • Izveštaji • Visual Basic for Applications • Osobine Access baze podataka • Access i SQL Server
Šta je Microsoft Access 2003? • Deo paketa Microsoft Office • RDBMS – Relational Database Management System • Kompletno rešenje za rad sa lokalnim bazama podataka • Primena gde god treba sakupljati, organizovati, pretraživati i prikazivati velike količine podataka
Podaci u bazi podataka • Tabela – podaci o objektima iste vrste • Slog – vrsta u tabeli • Polje – kolona u tabeli
Ograničenja nad poljima • Tip podatka Integer, Text • Primary Key B • Input Mask (999-900-0000) • Default Value Date() • Validation Rule [Plata] > 0 • Required (Not Null) • Allow Zero Length • Indexed (No Duplicates)
Ključ • Primarni ključ – jedno ili više polja koja jedinstveno identifikuju svaki slog u tabeli. Ne može imati NULL vrednost i mora imati jedinstveni indeks. Služi za uspostavljanje veze između tabela. • Strani ključ – jedno ili više polja u tabeli koja se odnosi na primarni ključ iz druge tabele. Vrednosti se moraju poklapati.
Relacije • Veze između polja zajedničkih za dve tabele • One-to-one • One-to-many • Many-to-many
Referencijalni integritet • Svim pojavama stranog ključa mora odgovarati pojava primarnog ključa • Narušen referencijalni integritet daje nekonzistentne podatke
Kaskadno brisanje • Zasniva se na uspostavljenim relacijama između tabela • Može se proširiti na niz tabela, sve dok je relacija One-To-Many u istom smeru Cascade Delete Related RecordsRadnici.ID = [Radni dani].[ID radnika]
Kaskadno ažuriranje • Omogućava održanje konzistentnosti podataka i nakon izmena primarnog ključa • Može da se proširi na više tabela, kao i kaskadno brisanje Cascade Update Related FieldsPoslovi.ID = RadniciPoslovi.[ID posla]
Istorijat • Baze podataka implementirane u pj opšte namene • Mrežni i hijerarhijski model(1955. do 1970.) • Relacioni model, Dr. E.F. Codd 1970.
Hijerarhijski model podataka 1:m A Nivo Specifičnost
Hijerarhijski model - osobine • Jednostavan edit/insert • Velike indeksne datoteke • Neophodno je frekventno održavanje • Svi upiti su unapred definisani
Mrežni model podataka 1:m, m:1,m:n A Nivo Specifičnost
Mrežni model - osobine • Fleksibilnost • Indeksne datoteke veće od istih datoteka kod hijerarhijske organizacije • Svi upiti su unapred definisani(nije moguće zadavati proizvoljne upite)
Relacioni model podataka 1:m, m:1,m:n M S S
Relacioni model - osobine • Fleksibilnost i podrška složenim organizacijama podataka • Veze među podacima nisu sadržane u samoj strukturi • Omogućeni su proizvoljni upiti • Najšire prihvaćen model podataka
Objektni model podataka internimehanizmi DB I O
Objektni model - osobine • Mehanizmi održavanja podataka sadržani u samoj bazi podataka • Nativno se nadovezuje na OOP pj • Neefikasan • Nedovoljno prihvaćen
Relacioni model podataka deo II
Tabela baze podataka kolona red polje primarni ključ
Tipovi podataka • Tip i opseg • INTEGER, FLOAT, [DECIMAL] • CHAR, VARCHAR, MEMO • [BOOLEAN] • Specijalna NULL vrednost
Pristup poljima • Identifikacija pojedinačnog polja: • Tabela u kojoj se nalazi • Vrednost primarnog ključa vrste • Kolona (atribut) • Ne na osnovu rednog broja vrste!
Normalne forme • Definišu kako izgleda i funkcioniše relaciona baza podataka • Sprečavaju pojavu redundancije • 12 pravila i 3 osnovne normalne forme
Relacije među tabelama, 1:1 Tabela transakcija - master FK FK Tabela dobavljača - detail PK Tabela kupaca - detail PK
Relacije među tabelama, 1:m Tabela porudžbi - master FK Tabela inventara - detail PK
Operacije nad bazom • Upiti: • Insert/Edit/Delete • Administracija (korisnička prava, backup itd) • Filtracija podataka
Integritet baze podataka • Integritet domena polja • Integritet primarnog/unikatnog ključa • Referencijalni integritet • Proceduralni integritet podataka • Triggers, Stored procedures
Pregledi (views) • Ekstrahovani podaci iz tabela • Logička veza između tabela i pregleda • Relaciona algebra
Relaciona algebra • Osnovne: • Projekcija (po kolonama) • Selekcija (po redovima) • Unija tabela • Presek tabela • Razlika tabela • Skupovne:
Spajanje tabela (join) Tabela zaposlenih Tabela zaduženja Natural join - zaposleni + zaduženja
Upravljanje bazom podataka • Upravljanje skript jezikom • Upravljanje pomoćnim alatima • Korišćenjem iz klijent aplikacija: • Database driver-om (ODBC, JDBC) • Standardnim tehnologijama (ADO...)
Upravljanje skript jezikom • Data Definition Language • Data Manipulation Language • Administration • Structured Query Language
Structured Query Language deo III
SQL • Deklarativni skript jezik • Prvobitno korisnički-orijentisan • DDL, DML karakteristike • Široko prihvaćen i standardizovan
Projekcija • SELECT <polja> FROM <tabela> • SELECT * FROM <tabela> • Primer: • SELECT ime, prezime, adresa, telefon FROM imenik
Selekcija • SELECT <polja> FROM <tabela> WHERE <uslov> • Primer: • SELECT ime, prezime, telefon FROM imenik WHERE grad = “Valjevo”
Sortirani prikaz • SELECT <polja> FROM <tabela> ORDER BY <polje> [ASC | DESC] • Primer: • SELECT ime, prezime, telefon FROM imenik ORDER BY prezime ASC, ime ASC
Spajanje (join) • SELECT <polja> FROM <tabela1> LEFT JOIN <tabela2> ON <polje1> = <polje2> • Primer: SELECT ime, prezime, zaduzenje FROM zaposleni LEFT JOIN zaduzenja ON zaposleni.zaduzenje = zaduzenja.zaduzenje
Dodavanje redova • INSERT INTO <tabela> (<kolone>) VALUES (<vrednosti>) • Primer: • INSERT INTO imenik (ime, prezime, telefon) VALUES (pera, peric, “011/512-128”)
Brisanje redova • DELETE FROM <tabela>WHERE <uslov> • Primer: • DELETE FROM imenik WHERE rednibroj = 155
Osnovne operacije • CREATE DATABASE • CREATE TABLE • CREATE VIEW • DROP TABLE ...
Transakcije • Zaštićene izmene na sadržaju baze • SET TRANSACTION <ime> • COMMIT TRANSACTION <ime> • ROLLBACK TRANSACTION <ime>
SURBP (RDBMS) • Serverski sistem (multiuser environment) • Distribuiranost • Database driver (ODBC, JDBC) • Tehnologije pristupa (BDE, ADO, DAO, Microsoft JET)
Administracija • Administrator (kreator i vlasnik) • Korisnici • Uloge (roles) • Backup, Duplication, Compacting
Komercijalni RDBMS • Microsoft SQL Server • Oracle’s Oracle • IBM DB2 • Interbase • Informix-SQL