3.1 DBS osnove

Download Report

Transcript 3.1 DBS osnove

IT
Podatkovne baze
Sistemi podatkovnih baz in njihova
uporaba pri modeliranju gradbenih
in prometnih objektov
D. Rebolj, FG 2007/2008
Literatura
 Tomaž Mohorič: Uvod v podatkovne baze.
BI-TIM. Ljubljana, 1995
 Shaku Atre: Database. John Willey, 1988
 L. Peters: Advanced Structured Analysis and
Design, Prentice Hall, 1987
 C.J.Date: An Introduction to Database
Systems. Addison-Wesley Publishing
Company, Inc. Reading, Mass., etc. 1990
Podatki in informacije
Podatek je predstavitev dejstva,
koncepta ali navodila na formalni način
(ANSI, ISO)
Informacija je pomen, ki ga ima
podatek ob upoštevanju dogovorov
glede njegove predstavitve (ANSI, ISO)
I = i(D, S, t) I – vsebina informacije, D – podatek,
S – struktura sprejemnika, t - čas
Organizacija podatkov
 Hierarhija podatkov:
 bit  beseda (binarno število ali znak)  polje 
stavek (zapis)  blok  datoteka (organiziran vir
podatkov).
 Operacije z datotekami:
 vnos, iskanje, spreminjanje, izpis, sortiranje,…
 Vrste datotek glede na metodo pristopa:
 zaporedne, indeksne, direktne, kombinirane
(odvisno od fizične organizacije pomnilnika).
Pomanjkljivosti
pri uporabi datotek
 vsaka aplikacija uporablja svoje datoteke - ni
centralnega nadzora nad podatki,
 popolna odvisnost programov od podatkov,
 datoteke fizično ločujejo podatke - logično jih
povezujejo uporabniki z ustreznimi programi
za vsak problem posebej,
 visoka redundanca podatkov,
 nizka produktivnost pri implementaciji
kompleksnih informacijskih sistemov.
Definicija podatkovne baze
Osnove
 Podatkovna baza (DB) oz. sistem (DBS) je
računalniško vodena generalizirana zbirka
podatkov in njihovih opisov.
 Za razliko od neposrednega shranjevanja
podatkov v datotekah se uporabnik sistema
podatkovne baze ne ukvarja s fizično
predstavitvijo podatkov na pomnilnem mediju
temveč le z njihovo logično predstavitvijo.
 DBS predstavlja podatke na višji abstraktni
ravni.
Definicija podatkovne baze
Osnovne funkcije
 Enemu ali več uporabnikom hkrati omogoča:
 dodajanje novih podatkovnih struktur (opisov
podatkov) in njihovih povezav v podatkovno bazo,
 vstavljanje, spreminjanje in brisanje podatkov,
 odstranjevanje opisov podatkov in povezav iz
podatkovne baze.
 Z integracijo omogoča DBS povezave različnih
podatkovnih struktur v unificirane logične
celote, kar zmanjšuje redundanco podatkov.
Definicija podatkovne baze
Shema DBS
Database Management System (DBMS)
Database (DB)
Uporabniki
Aplikacije
Cilji uporabe DBS
 Nadzor nad redundanco podatkov
 Zagotavljanje konsistentnosti podatkov
 Ista količina podatkov – več informacij
 Ločitev opisa podatkov od podatkov samih
 Kontrola integritete podatkov
 Standardni dostop do podatkov
 Večja kompaktnost podatkov in hitrejši dostop
do njih
 Sočasna uporaba podatkov
 Nadzor nad zaščito podatkov
Podporne funkcije DBMS
 Konkurentna uporaba DB:
posebni mehanizmi za obnavljanje,
sinhronizacijo, “rollback” ,
 zaščita podatkov (fizična, operacijska,
autorizacijska),
 modifikacija in optimizacija,
 Data Dictionary (DD),
 jeziki in usluge (DML, SQL, sistemski jeziki),
 DB Control System,
 Recovery (log file, Do/Undo/Redo,…)
Arhitektura DBS
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 DBS
Predstavitvene ravni
indeks ime priimek naslov
indeks email
indeks ime priimek naslov email EMŠO
Type Student
indeks as Long
char ime (20);
char priimek (20);
char naslov (50);
char email (50);
char EMSO (13);
}
Index indeks;
Arhitektura DBS
Konceptualno modeliranje
Abstrakten in splošen opis realnosti
Uporaba:





povezuje interese in vidike uporabnikov
uporaben opis za komunikacijo
omogoča osnovo za izgradnjo DBS
omogoča učinkovito predstavitev DB
predstavlja model opazovanega okolja
Arhitektura DBS
Konceptualno modeliranje
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 DBS
Konceptualno modeliranje
Dober konceptualni model lahko
preprosto opišemo kot:
Vse, kar je potrebno je tu –
vse kar je tu, je potrebno.
Arhitektura DBS
Konceptualno modeliranje
Modeliranje podatkov v fazi
konceptualnega oblikovanja DB omogoča
oblikovanje abstraktne strukture
podatkovne baze za predstavitev realnega
sveta na kar se da realen način.
Rezultirajoči konceptualni model
zagotavlja neodvisen razvoj DB glede na
strojno in programsko opremo.
Arhitektura DBS
Konceptualno modeliranje
Koraki pri oblikovanju konceptualnega
modela:
 podatkovna analiza in zbiranje zahtev
 oblikovanje Entitetno – relacijskega
(E-R) modela
 normalizacija
Arhitektura DBS: Koncept. modeliranje
Podatkovna analiza
 Opredelitev skupin uporabnikov in
področij uporabe
 Analiza operativnega okolja in zahtev
procesiranja
 Proučitev izvorov informacij in podatkov
Arhitektura DBS: Koncept. modeliranje
E-R model
 zagotavlja sistematično predstavitev
entitet in relacij s ciljem zajeti vse
neločljive pomene posamezne aplikacije
 najpomembnejši prispevek predstavlja
diagramska tehnika, ki na jedrnat in
opisen način predstavlja aplikacijo
 E-R diagram predstavlja komunikacijsko
orodje za oblikovanje podatkovne baze
Arhitektura DBS: Koncept. modeliranje
E-R model: osnovni gradniki
Entiteta: neodvisni podatkovni objekt, ki
je po definiciji nosilec podatkov (npr.
študent, knjiga, cestni odsek)
Atribut: zagotavlja informacije o entiteti
ali relaciji z opisom lastnosti (npr. ime
študenta, naslov knjige, dolžina odseka)
Domena atributa: množica dovoljenih
vrednosti atributa
Arhitektura DBS: Koncept. modeliranje
E-R model: osnovni gradniki
Ključ (identifikator): vodilni atribut, ki
omogoča identifikacijo entitete
(kandidacijski, primarni, sekundarni,
sestavljeni, zunanji)
Entitetni tip: množica entitet s skupnimi
atributi (npr. prometne poti)
Šibka entiteta: entiteta brez lastnega
ključnega atributa (npr. izposoja knjige)
Arhitektura DBS: Koncept. modeliranje
E-R model: osnovni gradniki
Relacija: povezava med entitetami
Relacijski tip: je povezava med
entitetnimi tipi
Kardinalnost: je udeleženost entitete v
relaciji
 stopnje kardinalnosti: 1:1, 1:n ali n:m (npr.
med študenti in učitelji)
Arhitektura DBS: Koncept. modeliranje
E-R model: osnovni gradniki
 pretvorba kardinalnosti stopnje n:m: ker ni
zaželjena, jo pretvorimo v dve relaciji 1:n
in šibko entiteto
Arhitektura DBS: Koncept. modeliranje
E-R model: Notacije
 Primer nepraktične
notacije
Arhitektura DBS: Koncept. modeliranje
E-R model: Notacije
 Chenova notacija
 Sračja (James
Martinova) notacija
Arhitektura DBS: Koncept. modeliranje
E-R model: Notacije
 Primeri uporabe
Chenove notacije
Arhitektura DBS: Koncept. modeliranje
E-R model: Notacije
 E-R diagram E-R
modela
Arhitektura DBS: Koncept. modeliranje
E-R model: orodja
 Komercialna orodja za modeliranje
podatkovne baze (ER-Designer, Erwin,
MastER Plus, Etity-RElationship MOdel)
 Orodja CASE- Computer-Aided Software
Engineering (Excelerator, ADW, POSE,...)
 Sistemi za upravljanje s podatkovno bazo
(ORACLE)
 prototipi in raziskovalni projekti (DDEW,
Gembit, SIT, VCS)
Arhitektura DBS: Koncept. modeliranje
E-R model: oblikovanje modela
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
Arhitektura DBS: Koncept. modeliranje
E-R model: oblikovanje modela
Poimenovanje entitet
 v obliki množinskega samostalnika, lahko
tudi s pridevnikom (npr. cestni_odseki)
 imen ne kodiramo
Odkrivanje relacij
 običajno relacijo zapišemo kot preprost
stavek z osebkom (E1), povedkom (G) in
predmetom (E2); npr. študent obiskuje
predavanja
Arhitektura DBS: Koncept. modeliranje
E-R model: oblikovanje modela
Poimenovanje relacij
 v obliki glagola (npr. “obiskuje”, “ima”,...)
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)
Arhitektura DBS: Koncept. modeliranje
Normalizacija
Relacijski model podatkovne baze
zahteva normalizacijo entitete vsaj v
1NF preden jo predstavimo kot tabelo.
Posamezne normalne forme (NF)
pomenijo:
 1NF: atributi se ne ponavljajo (ni
agregatov),
 2NF: ni delnih odvisnosti,
 3NF: ni posrednih odvisnosti.
Modeli DBS
Predrelacijski modeli:




invertirane liste,
hierarhični modeli (drevesne strukture),
mrežni modeli,
...
Modeli DBS
Relacijski model - podatki so
strukturirani kot tabele, operatorji
temeljijo na relacijski algebri
Postrelacijski modeli:
 predmetno usmerjeni, XML db
 deduktivni in semantični modeli,
 ekspertni (baze znanja), ...
Relacijska algebra
Osnova relacijske algebre izhaja iz
teorije množic.
Operatorji:




unija
presek
razlika
projekcija




selekcija
produkt
združitev
delitev
Značilnosti sodobnih RDBMS
 Enostavna definicija tabel (deklarativno ali
prototipno), asociacij in poizvedb (query),
 Generiranje vnosnih obrazcev in poročil
 Hitra izdelava aplikacij (RAD + “čarovniki”)
 Podpora distribuiranemu delovanju (SQL
odjemalec / strežnik)
 Generiranje spletnih strani
 “Posojanje” komponent drugim programom