RAČUNALNIŠKO PROGRAMIRANJE IN PODATKOVNE BAZE
Transcription
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: nIskanje podatkov po različnih ključih nIskanje informacij (koliko parcel ima x, kateri objekti so na parcelah določenega tipa,...) nIsti podatki se lahko velikokrat ponovijo (o parcelah, o lastnikih) nVeč 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