3 - Modeli Podataka

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 53

UNIVERZITET U NOVOM SADU

FAKULTET TEHNIČKIH NAUKA

GEOPROSTORNE BAZE PODATAKA

KONCEPTI BAZA PODATAKA, MODELI PODATAKA


Koncepcija baza podataka
§  Da bi se stekla precizna slika o bazama podataka, nije dovoljno samo definisati pojam
baze podataka
§  Potrebno je prvo baze podataka sagledati u kontekstu njihovog istorijskog razvoja

Laboratorija za geoinformatiku 2.
Motivacija
§  Vrednost svakog sistema, pa i baze podataka, kao sistema, se najbolje shvata
•  ne samo na osnovu poznavanja samog sistema
•  već na osnovu činjenice da taj sistem predstavlja korak u evoluciji rešavanja onih problema,
koje prethodni sistemi nisu mogli da reše

Laboratorija za geoinformatiku 3.
Klasična organizacija datoteka
§  IS je sačinjavao skup nezavisnih aplikacija
§  Svaka aplikacija - sopstvene datoteke
§  “Skladište podataka” - skup datoteka
§  Podaci o istom entitetu u različitim datotekama
§  Vremenom, takav IS dolazi u kontradikciju sa samim sobom

Laboratorija za geoinformatiku 4.
Klasična organizacija datoteka

APLIKACIJA #1 APLIKACIJA #2 APLIKACIJA #n

Laboratorija za geoinformatiku 5.
Klasična organizacija datoteka
§  Osnovni nedostaci
•  nepovezanost aplikacija
•  redundantnost podataka
•  čvrsta povezanost programa i podataka
•  program vodi računa o FSP datoteke, kako u opisu, tako i u proceduri

§  Posledice
•  otežano održavanje IS-a
•  otežan dalji razvoj IS-a

Laboratorija za geoinformatiku 6.
Klasična organizacija datoteka

§  Primer - nepovezanost i redundantnost


APLIKACIJA #1 APLIKACIJA #2 APLIKACIJA #n

Kurs Stud Kurs Stud Kat Kurs Stud Fak

13 Nikola 10 13 Nina 15 13 Niki 12


SID Ime BPI SID Ime BPI SID Ime BPI
Laboratorija za geoinformatiku 7.
Klasična organizacija datoteka

§  Čvrsta povezanost programa i podataka

Poželjna
Poželjna rasuta Program #2
sekvencijalna organizacija
organizacija

Program #1 Program #3
Stud Kurs

Poželjna
invertovana Program #4
organizacija
Laboratorija za geoinformatiku APLIKACIJA #1 8.
Klasična organizacija datoteka
§  Problemi koji se mogu ublažiti, ili čak i razrešiti i u klasičnoj organizaciji
•  nepovezanost aplikacija
•  redundantnost

§  Problem koji je gotovo nemoguće ublažiti ili razrešiti u klasičnoj organizaciji


•  čvrsta povezanost programa i podataka

Laboratorija za geoinformatiku 9.
Klasična organizacija datoteka

APLIKACIJA #1 APLIKACIJA #2 APLIKACIJA #n

APLIKACIJA #3

Laboratorija za geoinformatiku 10.


Baze podataka i sistemi za upravljanje bazama podataka
§  Osnovne ideje:
•  da se svi podaci jednog IS integrišu u jednu veliku “datoteku” - bazu podataka
•  nereduntantno memorisanje podataka
•  da svi programi koriste podatke iz baze podataka, ili je ažuriraju koristeći usluge posebnog
softverskog proizvoda - sistema za upravljanje bazama podataka

Laboratorija za geoinformatiku 11.


Baze podataka i sistemi za upravljanje bazama podataka

APLIKACIJA #1 APLIKACIJA #2

BPBP

APLIKACIJA #3

APLIKACIJA #n
Laboratorija za geoinformatiku 12.
Sistem za upravljanje bazama podataka
§  SUBP (Database Management System)
•  softverski proizvod, namenjen da omogući izgradnju i korišćenje baza podataka
•  Sadrži:
•  jezik za opis podataka
(Data Definition Language - DDL)
•  jezik za manipulisanje podacima
•  (Data Manipulation Language - DML)
•  upitni jezik
(Query Language - QL)

Laboratorija za geoinformatiku 13.


Sistem za upravljanje bazama podataka
§  Jezgro SUBP
•  rutine za upravljanje podacima
•  zaštita od neovlašćenog pristupa i od uništenja
•  obezbeđenje višekorisničkog režima rada
•  obezbeđenje distribuirane organizacije BP
•  nad skupom obeležja ranijih datoteka formira se ŠEMA BAZE PODATAKA
•  nad šemom se izgrađuje baza podataka

Laboratorija za geoinformatiku 14.


Koncepcija baze podataka
§  Program poznaje samo šemu BP
§  Program, nad šemom BP, koristi logičku strukturu podataka (LSP), koja je primerena
zadatku koji program rešava
§  Program ne vodi računa o fizičkoj srtukturi podataka (FSP), koja može biti veoma
kompleksna
§  Preslikavanje LSP ↔ FSP - zadatak SUBP

Laboratorija za geoinformatiku 15.


Koncepcija baze podataka
§  Primeri nekih FSP nad pojavama jednog tipa entiteta:
•  jedan progam pristupa saglasno rastućim vrednnostima primarnog ključa
•  drugi program pristupa saglasno vrednostima sekundarnog ključa
•  treći program pristupa direktno, saglasno zadatoj vrednosti primarnog ključa

Laboratorija za geoinformatiku 16.


Šema baze podataka

Program #1 Š

Program #2 E BAZA
M PODATAKA

Program #n A

Laboratorija za geoinformatiku 17.


Šema baze podataka
§  Efekti uvođenja koncepta šeme baze podataka:
•  smanjenje zavisnosti programa i šeme BP od promene FSP
•  smanjenje redundantnosti - povećanje konzistentnosti podataka
•  uvođenje uloga:
•  projektant baze podataka (šeme i FSP)
•  administrator baze podataka (DBA)

Laboratorija za geoinformatiku 18.


Podšema
§  Šema BP je, često, kompleksna
§  Šema BP je podložna modifikacijama
§  Promena šeme može, pri upotrebi prikazanog koncepta, izazivati nepotrebne promene
postojećih programa
§  Rešenje: uvođenje pojma podšeme

Laboratorija za geoinformatiku 19.


Podšema
§  Podšema
•  logička struktura obeležja, dobijena na osnovu dela šeme BP
•  potrebna i dovoljna za realizaciju zadataka jednog programa, ili grupe sličnih programa

§  Šema BP - model BP realnog sistema


§  Podšema - model dela BP realnog sistema
§  Program koristi BP putem podšeme

Laboratorija za geoinformatiku 20.


Podšema
§  Preslikavanje Podšema ↔ Šema BP
- zadatak SUBP
§  SUBP prevodi zahtev programa, definisan s obzirom na TE podšeme, u zahtev definisan s
obzirom na TE šeme
§  SUBP prenosi u OM pojave TE šeme i predaje programu pojave TE podšeme

Laboratorija za geoinformatiku 21.


Podšema

Logička nezavisnost Fička nezavisnost


Program #1
Š
Podšema 1
Program #2 SUBP

E Baza
Podataka
Program #3 Podšema 2 SUBP
SUBP M

Program #4 Podšema 3 A
SUBP
Laboratorija za geoinformatiku 22.
Podšema
§  Efekti uvođenja koncepta podšeme
•  Fizička nezavisnost programa od podataka:
promene FSP ne izazivaju promene šeme, podšeme i programa
•  Logička nezavisnost programa od podataka:
promene šeme ne izazivaju promene podšeme i programa

§  Fizička i logička nezavisnost su uslovne, a ne apsolutne kategorije!

Laboratorija za geoinformatiku 23.


Odnos šeme BP i podšeme
§  Primer male šeme BP u mrežnom modelu:

Student
BRI IME PRZ BPI NST

Pohađa Stanuje
Fakultet Stan
NAF BRS BST ADR KST

Laboratorija za geoinformatiku 24.


Odnos šeme BP i podšeme

PODŠEMA #1
Student_Fakultet
BRI IME PRZ BPI NAF

PODEŠEMA #2
Student
BRI IME PRZ NST

Stanuje
Stan
ADR KST
Laboratorija za geoinformatiku 25.
Pogled
§  Šema i podšema
•  modeli na nivou apstrakcije obeležja

§  Globalni pogled i pogled


•  modeli na nivou apstrakcije podataka

§  Pogled
•  pojava (LSP) nad podšemom
•  slika dela BP kako je vidi programer, ili korisnik

Laboratorija za geoinformatiku 26.


Pogled

159 Ivo Ban 2


213 Eva Ras 3 PODEŠEMA #2
215 Ana Pap 2
Student
Trg slobode 1 5 BRI IME PRZ NST
Petefijeva 8 3
Stanuje
M. Rakića 1 4
Stan
Korisnik ADR KST
Programer Program

Laboratorija za geoinformatiku 27.


Koncepcija baze podataka
§  Rezime:
•  Opisane karakteristike BP predstavljaju ciljeve kojima treba težiti
•  Da li će ti ciljevi biti postignuti zavisi od projektanta BP i od kvaliteta SUBP
•  Razvoj postupaka za oragnizovanje i upravljanje podacima vodi ka:
•  povećanju produktivnosti programera
•  izgradnji integrisanih IS

Laboratorija za geoinformatiku 28.


Koncepcija baze podataka

MAŠINSKO U-I METODE SISTEMI ZA SUBP


PROGRAM. RUTINE PRISTUPA UPRAVLJANJE
DATOTEKAMA
Napor potreban za
pisanje dela programa
posvećenog upravljanju podacima

Laboratorija za geoinformatiku 29.


Model podataka
§  Model podataka (MP)
•  matematička apstrakcija
•  putem koje se gradi
•  model realnog sistema i
•  model baze podataka njegovog informacionog sistema

Laboratorija za geoinformatiku 30.


Model podataka
§  Model podataka služi za predstavljanje
•  strukture realnog sistema
•  ograničenja u odnosima između podataka o stanjima realnog sistema
•  dinamike izmene stanja realnog sistema, putem operacija nad podacima

Laboratorija za geoinformatiku 31.


Model podataka
§  Model podataka je trojka
(S, I, O)
•  S - strukturalna komponenta
•  modeliranje statičke strukture realnog sistema
•  I - integritetna komponenta
•  modeliranje ograničenja nad podacima realnog sistema
•  O - operacijska komponenta
•  modeliranje dinamike izmene stanja realnog sistema

Laboratorija za geoinformatiku 32.


Model podataka
§  Nivoi apstrakcije, određeni modelom podataka:
•  nivo intenzije
•  nivo logičke strukture obeležja - šeme
•  nivo ekstenzije
•  nivo logičke strukture podataka

§  Primer:
•  nivo intenzije: tip entiteta
•  nivo ekstenzije: skup pojava tipa entiteta

Laboratorija za geoinformatiku 33.


Strukturalna komponenta MP
§  Strukturalna komponenta sadrži:
•  skup primitivnih koncepata
•  skup pravila za izgradnju složenih koncepata

§  Koncept
•  apstraktna predstava jedne klase delova realnog sveta

§  Primitivni koncept
•  koncept koji se ne može dalje dekomponovati na koncepte datog modela podataka

Laboratorija za geoinformatiku 34.


Strukturalna komponenta MP

Deo realnog sveta Apstraktna predstava

RADNIK
MBR IME PRZ ZAN

Laboratorija za geoinformatiku 35.


Strukturalna komponenta MP

Nivo intenzije Nivo ekstenzije


§  Domen §  Vrednost
§  Obeležje §  Podatak
§  Tip entiteta §  Pojava tipa entiteta
§  Tip poveznika §  Pojava tipa poveznika
§  Šema BP §  Baza podataka

Laboratorija za geoinformatiku 36.


Strukturalna komponenta MP
§  Primeri pravila za izgradnju složenijih koncepata:
•  postaviti obeležja, svojstvena jednoj klasi entiteta u isti tip entiteta
•  povezati one tipove entiteta, koji predstavljaju modele, u realnom sistemu, povezanih klasa
entiteta

Laboratorija za geoinformatiku 37.


Integritetna komponenta MP
§  Integritetna komponenta sadrži
•  definicije tipova ograničenja (uslova integriteta)
•  definicije načina interpretacije za svaki tip ograničenja
•  pravila za izvođenje zaključaka o važenju ograničenja (modus ponens)

§  Uslovi integriteta su ograničenja


•  vrednosti obeležja (podataka) i
•  odnosa između pojava tipova entiteta

Laboratorija za geoinformatiku 38.


Integritetna komponenta MP
§  Primeri tipova ograničenja:
•  Ograničenje ključa (integritet entiteta)
•  Radnik({MBR, PRZ, IME, JMBG}, {MBR, JMBG})
•  Integritet domena
•  Dom(OCENA)={5, 6, 7, 8, 9, 10}
•  Kardinalitet tipa poveznika
•  jedan nastavnik može predavati najviše jedan predmet
•  student iz jednog predmeta ima najviše jednu ocenu

Laboratorija za geoinformatiku 39.


Integritetna komponenta MP
§  Ograničenja se mogu ugraditi u:
•  korisničke programe, ili
•  šemu baze podataka, tako da ih SUBP automatski proverava

§  Rešenje kojem se može težiti:


•  sva ograničenja podataka realnog sistema ugraditi u šemu BP i prepustiti proveru SUBP-u
•  pojedina ograničenja ugraditi i u korisničke programe (u cilju poboljšanja udobnosti rada
korisnika)

Laboratorija za geoinformatiku 40.


Operacijska komponenta MP
§  Operacijska komponenta
•  služi za opis dinamike, koja se odvija u realnom sistemu
•  sadrži definicije operacija:
•  jezika za manipulisanje podacima,
•  upitnog jezika i
•  jezika za definiciju podataka

Laboratorija za geoinformatiku 41.


Operacijska komponenta MP
§  Jezik za manipulisanje podacima
•  operacije za izmenu stanja BP, kako bi BP predstavljala što verniju sliku realnog sistema

§  Upitni jezik
•  operacije za iskazivanje upita (selekcije podataka) nad BP

§  Jezik za definiciju podataka


•  operacije za modifikaciju šeme i fizičke strukture BP

Laboratorija za geoinformatiku 42.


Operacijska komponenta MP
§  Operacija sadrži dva dela
•  aktivnost i
•  selekcija

§  Putem selekcije se bira deo baze podataka (ili deo šeme baze podataka), nad kojim se
sprovodi aktivnost

Laboratorija za geoinformatiku 43.


Operacijska komponenta MP
§  Moguće aktivnosti jezika za manipulaciju podacima i upitnog jezika
•  definisanje indikatora aktuelnosti (CURRENCY)
•  čitanje
•  upis
•  brisanje
•  modifikacija

Laboratorija za geoinformatiku 44.


Operacijska komponenta MP
§  Selekcija se vrši uz pomoć
•  logičkog mesta u strukturi podataka (na osnovu indikatora aktuelnosti)
•  odnosa između podataka
•  vrednosti obeležja

Laboratorija za geoinformatiku 45.


Operacijska komponenta MP

§  Primer (mrežni MP):

STUDENT “Prikaži predmete i ocene tekuće pojave


tipa entiteta STUDENT”

OCENA –  indikator aktuelnosti


•  FIND
•  READ NEXT
PREDMET –  odnos između podataka

Laboratorija za geoinformatiku 46.


Operacijska komponenta MP
§  Selekcija putem vrednosti obeležja - asocijativno adresiranje
§  Selekcioni deo operacije se može sastojati iz kvalifikacionih izraza, koji mogu biti oblika
(Obeležje, Uslov, Vrednost)

Laboratorija za geoinformatiku 47.


Operacijska komponenta MP
§  Vrednost se preuzima iz domena Obeležja
§  Uslov može biti jedan od komparatora {<, >, =, >=, <=, <>}, ili neki poseban
komparator
§  Kvalifikacioni izrazi se mogu povezivati logičkim operatorima - selekcioni, logički izraz
§  Selekcioni izraz reprezentuje kriterijum izbora podataka

Laboratorija za geoinformatiku 48.


Operacijska komponenta MP
§  Primer:
•  TE Radnik({MBR, IME, PRZ, ZAN})
•  selekcioni izraz
IME = ‘Ivo’ AND ZAN = ‘Ing’

Laboratorija za geoinformatiku 49.


Operacijska komponenta MP
§  Operacijska komponenta može biti:
•  Navigaciona
•  Specifikaciona (deklarativna)

Laboratorija za geoinformatiku 50.


Operacijska komponenta MP
§  Navigaciona operacijska komponenta
•  selekcija vrši izbor jednog objekta iz BP
•  selekcija se vrši putem indikatora aktuelnosti, ili putem odnosa između podataka
•  proceduralnost sa programskim petljama i uslovnim grananjima
(definiše se ŠTA i KAKO)

Laboratorija za geoinformatiku 51.


Operacijska komponenta MP
§  Deklarativna operacijska komponenta
•  selekcija vrši izbor skupa objekata iz BP
•  selekcija se vrši na osnovu vrednosti obeležja
•  neproceduralnost
(definise se samo ŠTA)

Laboratorija za geoinformatiku 52.


Modeli podataka
§  Mrežni
§  Hijerarhijski
§  Relacioni
§  Entiteti i poveznici
§  Objektno orijentisani
§  Logički, itd.

Laboratorija za geoinformatiku 53.

You might also like