RAČUNALNIŠKO PROGRAMIRANJE IN PODATKOVNE BAZE

RAČUNALNIŠKO
PROGRAMIRANJE IN
PODATKOVNE BAZE
PODATKOVNE BAZE
OSNOVE, MODELIRANJE IN SISTEMI PODATKOVNIH BAZ
Danijel Rebolj, Andrej Tibaut
LITERATURA
n Tomaž Mohorič: Uvod v podatkovne baze.
BI-TIM. Ljubljana, 1995
n Shaku Atre: Database. John Willey, 1988
n L. Peters: Advanced Structured Analysis and Design,
Prentice Hall, 1987
n C.J.Date: An Introduction to Database Systems. AddisonWesley Publishing Company, Inc. Reading, Mass., etc. 1990
PODATKI IN INFORMACIJE
n Podatek je predstavitev dejstva, koncepta ali navodila na formalni
način (ANSI, ISO)
n Informacija je pomen, ki ga ima podatek ob upoštevanju
dogovorov glede njegove predstavitve (ANSI, ISO)
n I = f(D, S, t) I – vsebina informacije, D – podatek,
S – struktura sprejemnika, t - čas
PODATKI IN INFORMACIJE
OKMS
Our Model
know-why refers to
the scientific knowledge
of the principles and
laws of nature.
.
Know–who
who knows
what and
who knows
how to do
what.
.
.
.
©Organizational Knowledge Management
Systems
Know-how relates to the
skills or the capacity to do
something.
Know-what relates to
a person s knowledge
about facts
ORGANIZACIJA PODATKOV
n Hierarhija podatkov:
§ bit -> beseda (binarno število ali znak) -> polje -> stavek
(zapis) -> blok -> datoteka (organiziran vir podatkov)
ORGANIZACIJA PODATKOV
n Operacije z datotekami:
§ vnos podatkov, spreminjanje zapisov, izpis,…
n Vrste datotek glede na metodo pristopa:
§ zaporedne, direktne, indeksne, kombinirane (odvisno tudi od
fizične organizacije pomnilnika).
PRIMER: UPRAVLJANJE S
STAVBAMI
n Osnova so podatki o objektih, parcelah in lastnikih
Podatke lahko strukturiramo na več načinov:
n
§
§
n
ena struktura (ena datoteka)
več struktur (več datotek ali več blokov v eni)
Primer (ena struktura):
"12345", 5, 384.5, 157243.22, 550275.87, "132/2", "1234",...
"54345", 3, 722.7, 157244.33, 550233.12, "21/1", "1234",...
"12245", 6, 684.4, 157246.12, 550276.70, "654/4", "3322",...
PRIMER: UPRAVLJANJE S STAVBAMI
TYPE STAVBA
ID AS STRING
'identifikacijska koda stavbe
SN AS INTEGER
'število nadstropij
P AS DOUBLE
'površina tlorisa v m2
XS AS DOUBLE
'X koordinata centroida stavbe
YS AS DOUBLE
'Y koordinata centroida stavbe
PARCST AS STRING
'parcelna številka
KO AS STRING
'katastrska občina
POV AS DOUBLE
'površina parcele
SIFKUL AS STRING
'šifra kulture
Ime AS STRING
'Ime lastnika
Priimek AS STRING
'Priimek lastnika
Ulica AS STRING
'Naslov lastnika - ulica
Kraj AS STRING
'Naslov lastnika - kraj
END TYPE
PRIMER: UPRAVLJANJE S
STAVBAMI
Težave pri uporabi ene strukture:
nIskanje podatkov po različnih ključih
nIskanje informacij (koliko parcel ima x, kateri objekti so na parcelah
določenega tipa,...)
nIsti podatki se lahko velikokrat ponovijo (o parcelah, o lastnikih)
nVeč lastnikov istega objekta ni mogočih
PRIMER: UPRAVLJANJE S
STAVBAMI
Uporaba več struktur:
program
POMANJKLJIVOSTI UPORABE
DATOTEK
n Strukture podatkov so definirane v programih
§ popolna soodvisnost programov in datotek
§ datoteke fizično ločujejo podatke
n Ni centralnega nadzora nad datotekami
n Visoka redundanca podatkov
n Nizka produktivnost pri implementaciji kompleksnih informacijskih
sistemov
PRIMER: UPRAVLJANJE S
STAVBAMI
n Podatkovna baza omogoča optimalno dostopanje do shranjenih
podatkov in ohranja njihove logične povezave
DEFINICIJA PODATKOVNE BAZE
OSNOVE
n Podatkovna baza (PB) oz. sistem (SPB) je računalniško vodena
generalizirana zbirka podatkov in njihovih opisov
n Uporabnik sistema podatkovne baze se ne ukvarja s fizično
predstavitvijo podatkov v datotekah, temveč le z njihovo logično
predstavitvijo
n PB predstavlja podatke na višji abstraktni ravni
DEFINICIJA PODATKOVNE BAZE
OSNOVNE FUNKCIJE
n Enemu ali več uporabnikom hkrati omogoča:
§ dodajanje novih podatkovnih struktur in povezav med njimi v
podatkovno bazo,
§ vstavljanje, spreminjanje in brisanje podatkov,
§ odstranjevanje opisov podatkov in povezav iz podatkovne baze.
n Z integracijo omogoča SPB povezave različnih podatkovnih
struktur v unificirane logične celote, kar zmanjšuje redundanco
podatkov.
DEFINICIJA PODATKOVNE BAZE
SHEMA SPB (DBS)
Sistem podatkovne baze (SPB/DBS)
Podatkovna baza (PB/DB)
Uporabniki
Programi
CILJI UPORABE SPB
n Ločitev opisa podatkov od podatkov samih
n Ista količina podatkov – več informacij
n Nadzor nad redundanco podatkov
n Zagotavljanje integritete podatkov
n Standardiziran dostop do podatkov (SQL)
n Večja kompaktnost podatkov, hitrejši dostop
n Sočasna uporaba podatkov
n Nadzor nad zaščito podatkov
PODPORNE FUNKCIJE SPB
n Souporaba podatkov: posebni mehanizmi za obnavljanje,
sinhronizacijo, “rollback”,
n Večnivojska zaščita podatkov: fizična, operacijska (na ravni OS),
avtorizacijska,
n Modifikacije struktur in optimizacija,
n jeziki in usluge (DML, SQL, sistemski jeziki),
n Nadzorni sistem (DB Control System),
n Recovery (log file, Do/Undo/Redo,…)
ARHITEKTURA PB
PREDSTAVITVENE RAVNI
Zunanja shema (uporabniški pogledi)
organizacija
Konceptualna shema (logična raven):
konceptualni in logični model
formalizacija
Notranja shema (pomnilna raven):
fizična predstavitev podatkov (sistem datotek, porazdeljen
sistem podatkovne baze, …)
ARHITEKTURA PB
KONCEPTUALNO MODELIRANJE
n Abstrakten in splošen opis realnosti
n Uporaba:
§ predstavlja model opazovanega okolja
§ povezuje interese in vidike uporabnikov
§ omogoča učinkovito predstavitev PB
§ uporaben opis za komunikacijo
§ omogoča osnovo za izgradnjo PB
ARHITEKTURA PB
KONCEPTUALNO MODELIRANJE
n Lastnosti konceptualnega modela
§ izraznost (izberemo najustreznejši koncept)
§ preprostost (v nasprotju z izraznostjo!)
§ minimalnost (vse ima svoj pomen)
§ formalnost (enoumna, natančna interpr.)
§ grafična polnost (vse je grafično predst.)
§ berljivost (dosledni in jasni simboli)
ARHITEKTURA PB
KONCEPTUALNO MODELIRANJE
Dober konceptualni model lahko preprosto opišemo kot:
Vse, kar je potrebno je tu –
vse kar je tu, je potrebno.
ARHITEKTURA PB
KONCEPTUALNO MODELIRANJE
Koraki pri oblikovanju konceptualnega modela:
1.
podatkovna analiza in zbiranje zahtev
2.
oblikovanje Entitetno – relacijskega
(E-R) modela
3.
normalizacija
KONCEPTUALNO MODELIRANJE
1. PODATKOVNA ANALIZA
n Opredelitev skupin uporabnikov in področij uporabe
n Analiza operativnega okolja in zahtev procesiranja
n Proučitev izvorov informacij in podatkov
KONCEPTUALNO MODELIRANJE
2. E-R MODEL
n zagotavlja sistematično predstavitev entitet in relacij s ciljem zajeti
vse neločljive pomene posamezne aplikacije
n diagramska tehnika na jedrnat in opisen način predstavlja
aplikacijo
n E-R diagram predstavlja komunikacijsko orodje za oblikovanje
podatkovne baze
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: GRADNIKI
n Entiteta: neodvisni podatkovni objekt, ki je po definiciji nosilec
podatkov (npr. študent Mojca Kreft, knjiga Statika konstrukcij,
cestni odsek Maribor-Hoče)
n Entitetni tip: množica entitet s skupnimi atributi (npr. študenti,
knjige, cestni odseki)
n Atribut: lastnost, informacija o entiteti ali relaciji (npr. ime
študenta, naslov knjige, dolžina odseka)
n Domena atributa: množica dovoljenih vrednosti atributa
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: GRADNIKI
n Ključ (entitetni identifikator): vodilni atribut, ki omogoča
identifikacijo entitete (primarni, sekundarni, sestavljeni, zunanji)
n Šibka entiteta: entiteta brez lastnega ključnega atributa (npr.
izposoja knjige)
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: GRADNIKI
n Relacija (razmerje): povezava med entitetami
n Relacijski tip: je povezava med entitetnimi tipi
n Kardinalnost (števnost): je udeleženost entitete v relaciji
§ stopnje kardinalnosti: 1:1, 1:n ali n:m (npr. med študenti in
učitelji)
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: GRADNIKI
§ pretvorba kardinalnosti stopnje n:m: ker ni zaželjena, jo
pretvorimo v dve relaciji 1:n in šibko entiteto
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: NOTACIJE
n Chenova notacija
n Sračja (James
Martinova) notacija
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: NOTACIJE
n Primeri uporabe
Chenove notacije
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: NOTACIJE
n E-R diagram E-R
modela
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: ORODJA
n Komercialna orodja za modeliranje podatkovne baze (ERDesigner, Erwin, MastER Plus, Etity-RElationship MOdel)
n Orodja CASE- Computer-Aided Software Engineering
(Excelerator, ADW, POSE,...)
n Sistemi za upravljanje s podatkovno bazo (ORACLE, SQL
Server, SAP, PostgreSQL)
n Prototipi in raziskovalni projekti (DDEW, Gembit, SIT,VCS)
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: MODELIRANJE
n Odkrivanje entitet; entitete so lahko:
§ ljudje (kot nosilci različnih funkcij)
§ objekti in predmeti (gradbeni objekti)
§ elementi prostora (kraji, ceste, reke)
§ organizacije (skupine, podjetja, oddelki)
§ koncepti (npr. projekti, aktivnosti)
§ dogodki
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: MODELIRANJE
n Poimenovanje entitet
§ v obliki množinskega samostalnika, lahko tudi s pridevnikom
(npr. cestni_odseki)
§ imen ne kodiramo
n Odkrivanje relacij
§ običajno relacijo zapišemo kot preprost stavek z osebkom
(E1), povedkom (G) in predmetom (E2); npr. študent obiskuje
predavanja
KONCEPTUALNO MODELIRANJE
2. E-R MODEL: MODELIRANJE
n Poimenovanje relacij
§ v obliki glagola (npr. “obiskuje”, “ima”,...)
n Odkrivanje kardinalnosti
§ odvisna je od pravil, ki vladajo v sistemu
§ izberemo izhodiščno entiteto (npr. E1) in se vprašamo,
kolikokrat se v relaciji pojavi povezana entiteta (E2)
KONCEPTUALNO MODELIRANJE
3. NORMALIZACIJA
n Relacijski model podatkovne baze zahteva normalizacijo entitete
vsaj v 1NF preden jo predstavimo kot tabelo
n Posamezne normalne forme (NF) pomenijo:
§ 1NF: atributi se ne ponavljajo (ni agregatov),
§ 2NF: ni delnih odvisnosti,
§ 3NF: ni posrednih odvisnosti.
MODELI SPB
n Predrelacijski modeli:
§ invertirane liste,
§ hierarhični modeli (drevesne strukture),
§ mrežni modeli,
§ ...
MODELI SPB
n Relacijski model - podatki so strukturirani kot tabele, operatorji
temeljijo na relacijski algebri
n Postrelacijski modeli:
§ predmetno usmerjeni, XML db
§ deduktivni in semantični modeli,
§ ekspertni (baze znanja), ...
RELACIJSKA ALGEBRA
n Osnova relacijske algebre izhaja iz teorije
množic
n Operatorji:
§ unija
§ presek
§ razlika
§ projekcija
§
§
§
§
selekcija
produkt
združitev
delitev
ZNAČILNOSTI SODOBNIH
RSPB
n Enostavna definicija tabel (tudi prototipno), relacij in
poizvedb (query),
n Generiranje vnosnih obrazcev in poročil
n Hitra izdelava aplikacij (RAD, “čarovniki”)
n Podpora distribuiranemu delovanju
(SQL odjemalec / strežnik)
n Generiranje spletnih strani