1 / 24

Podatkovne baze

Podatkovne baze. in osnove programa Microsoft Access 2007. 1 . del : osnove podakovnih baz. Bor Plestenjak. Glavno kazalo. Osnove podatkovnih baz. Primer načrtovanja podatkovne baze. Podatkovne baze. Z urejevalniki besedil (npr. Microsoft Word) obdelujemo besedila.

prisca
Download Presentation

Podatkovne baze

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Podatkovne baze inosnoveprograma Microsoft Access 2007 1. del:osnove podakovnih baz Bor Plestenjak

  2. Glavno kazalo Osnove podatkovnih baz Primer načrtovanja podatkovne baze

  3. Podatkovne baze • Z urejevalniki besedil (npr. Microsoft Word) obdelujemo besedila. • S preglednicami (npr. Microsoft Excel) obdelujemo numerične podatke. • Podatkovne baze (npr. Microsoft Access) pa so namenjene za shranjevanje in obdelavo najrazličnejših strukturiranih podatkov. • Zbirke informacij: • telefonski imenik, • redovalnica, • seznam strank, • seznam inventarja, ... • Podatki so lahko različnih vrst: • števila, • nizi, • datumi, • zneski, • slike, ....

  4. Tabela • Preprosta baza podatkov je telefonski imenik. Podatki v imeniku so: • priimek in ime, • naslov, • telefonska številka. • Telefonski imenik je tabela (table), ki za vsakega naročnika vsebuje en zapis (record). Zapis za vsakega naročnika vsebuje 3 polja (fields):Priimek in ime, Naslov in Telefonsko številko. Zapisi so enolično urejeni po imenu, zato pravimo, da je to polje ključ (key).

  5. Telefonski imenik • Struktura tabele je: • Slabosti zgornjega koncepta so: • težko je urediti udeležence po krajih, • če želimo podatke uporabiti za izpis nalepk za dopise, moramo zamenjati ime in priimek, poštno številko (tega podatka sedaj ni) in kraj pa moramo izpisati v novo vrstico

  6. Izboljšani telefonski imenik • Uporabimo več polj: • Sedaj je preprosto: • urediti udeležence po krajih, • izpisati nalepke za dopise

  7. Uporaba podatkovne baze • Podatki so shranjeni v eni ali več tabelah. • Poleg shranjevanja informacij podatke tudi obdelujemo. • Če imamo v bazi seznam poslovnih strank, lahko npr: • Dobimo seznam vseh strank, ki v zadnjih 60 dneh niso kupile ničesar. • Stranke uredimo po poštnih številkah in v tem vrstnem redu natisnemo poštne nalepke. • Izdelamo enostaven zaslonski obrazec za vnos podatkov,ki ga lahko uporablja celo neizurjeno osebje.

  8. Programi za podatkovne baze • Za delo s podatkovnimi bazami potrebujemo posebne programe. • Baza podatkov je ponavadi združena z orodji za izdelovanje samostojnih programov za vnos in obdelavo podatkov. Celotni paket lahko razdelimo na naslednje dele: • S tabelami in njihovimi povezavami definiramo, kje bodo shranjeni podatki in kako so medsebojno povezani. • S poizvedbami (query) pridemo do podatkov, ki nas zanimajo in ki so lahko vsebovani v več različnih tabelah. • Obrazce (form) uporabljamo za vnos podatkov. • Poročila (report) uporabljamo za izpis različnih poročil. • Tudi preglednico lahko obravnavamo kot bazo podatkov, vendar gre tu le za eno tabelo, pri bazah podatkov pa imamo možnost, da uporabljamo več kot eno tabelo in s tem bolje organiziramo podatke.

  9. Vrste podatkovnih baz • Preproste baze z eno tabelo: • Microsoft Excel, ... • Relacijske podatkovne baze, kjer program omogoča tudi pisanje programov za generiranje obrazcev in poročil: • Microsoft Access, Borland Paradox, Lotus Approach, ... • Baze tipa klient-strežnik (client-server): • Microsoft SQL Server, Oracle SQL Server, IBM DB2, InterBase, ... • Tu strežnik skrbi za podatke, klient pa vsebuje program, ki strežniku pošilja zahteve za podatki, ponavadi za to uporablja jezik SQL (standard query language). Sam klient je lahko napisan v C++, Visual Basic, Delphi, Javi, ... • To pride v poštev za resne aplikacije, saj je klientov lahko več, SQL strežnik pa teče neodvisno od klientov, zato morebitne težave s programi na podatke ne vplivajo.

  10. Relacijske baze podatkov • Pri relacijski bazi podatkov lahko podatke shranjujemo v več kot eni tabeli, podatki pa so medsebojno lahko povezani z relacijami. • Za primer vzemimo naslednjo bazo rabljenih avtomobilov: • Z uporabo več povezanih tabel se izognemo podvajanju podatkov.

  11. Primarni ključ • Primarni ključ je polje (ali več polj), katerega podatki enolično označujejo vsak zapis v tabeli. • Primarni ključ sicer ni obvezen, ga pa potrebujemo pri povezovanju tabel, ko se iz ene tabele sklicujemo na nek zapis v drugi tabeli. • Ponavadi za primarni ključ izberemo polje tipa AutoNumber, kjer program sam poskrbi za to, da bo primarni ključ enoličen.

  12. Povezovanje tabel • Tabele, ki jih imamo v bazi podatkov, lahko uporabljamo vsako zase, še veliko uporabnejšepa postanejo, ko jih povežemo. • Povezava (referenca) med tabelama je povezava med poljema (ali ustreznim številom polj na eni in drugi strani) dveh tabel, ki vsebujeta podatek, skupen obema tabelama. Ponavadi podatek iz ene tabele vežemo s primarnim ključem v drugi tabeli. • Obstajajo tri vrste povezav med tabelami: • Ena proti več: v prvi tabeli se podatek lahko pojavi le enkrat, v drugi pa poljubno mnogokrat.To povezavo imenujemo tudi master-detail. • Več proti več: v obeh tabelah se podatek lahko pojavi poljubno mnogokrat. • Ena proti ena:v obeh tabelah se podatek lahko pojavi le enkrat. Master Detail Master

  13. Referenčna integriteta • Sama povezava še ne preprečuje, da ne bi mogli v tabelo vstaviti reference, ki je v glavni tabeli ni. To lahko dosežemo z referenčno integriteto, ki varuje povezane podatke pred nehotenim spreminjanjem ali brisanjem. • Pri referenčni integriteti tako ni možno vstaviti zapisa z referenco, ki je ni v glavni tabeli (lahko pa pustimo polje prazno, če je to dovoljeno). • Prav tako ni možno zapisa odstraniti iz glavne tabele, če ne odstranimo prej tudi vse zapise v povezanih tabelah, ki se nanašajo nanj. • Odpravljanje težavlahko tudi avtomatiziramo: • Cascade Update Related Fields: ob spremembi primarnega ključa program sam popravi vse reference na ta zapis v povezanih tabelah. • Cascade Delete Related Records: pri brisanju zapisa iz glavne tabele program odstrani vse zapise v povezanih tabelah, ki se nanašajo nanj.

  14. Razvoj podatkovne baze Najpomembnejša je konstrukcija baze! • Pred začetkom je najbolje s papirjem in svinčnikom narediti načrt baze. • Izogniti se je potrebno podvajanju podatkov, premisliti, kam shraniti vse podatke in kako jih obdelati. • Če je načrt zanič, je najbolje čim prej začeti še enkrat od začetka in ne poskušati za silo zakrpati bazo. • Razmisliti je potrebno o vseh možnih statistikah, ki bi jih kdo želel dobiti iz podatkov, o različnih poročilih in raznih dodatnih podatkih, ki bi jih lahko še obdelovali.

  15. Kazalo Osnove podatkovnih baz Primer načrtovanja podatkovne baze

  16. Podatkovne baze I. del Zgled načrtovanja baze • Denimo, da bi radi razvili bazo interesnih dejavnosti dijakov, v kateri bi vodili evidenco o obiskovanju krožkov na šoli. • Podatki, ki bi jih radi imeli v bazi so: • ime dijaka, • letnica rojstva, • krožek, ki ga obiskuje, • vodja krožka, • letna članarira.

  17. Podatkovne baze I. del Ena tabela • Najprej se nam porodi ideja, da bi lahko vse stlačili v eno tabelo. • Ker lahko en dijak obiskuje več kot en krožek, bomo predpostavili, da nihče ne obiskuje več kot dva krožka. • Struktura tabele je: Dijak, Letnik, Krožek1, Vodja1, Cena1, Krožek2, Vodja2, Cena2.

  18. Preverimo ustreznost rešitve • Razmislimo, kakšne podatke potrebujemo. Ali lahko računalnik preprosto: • Ugotovi, kateri dijaki obiskujejo plavalni krožek? • Ugotovi, kdo je vodja plavalnega krožka? • Analizirajmo podatke: • V tabeli imamo dva Janeza Novaka. Ali je to pomota ali sta res dva? • Nič nam ne preprečuje, da ne bi pri krožku zapisali različni vodji ali različni ceni. Ali je cena za plavanje 2000 ali 1500? • Kaj če se eden izmed dijakov odloči, da ima dovolj časa za obiskovanje treh aktivnosti?

  19. Popravljen načrt baze • Da se izognemo podvojenim dijakom, damo vsakemu dijaku svojo enolično identifikacijsko številko in bazo ločimo na tabelo dijakov in tabelo aktivnosti.

  20. Popravljen načrt baze še ni idealen • Neizkoriščen prostor • Nekateri dijaki hodijo le na en krožek, zato je prostor za drugi krožek neizkoriščen. • Odvečno delo • Če se cena tenisa poveča, moramo v vsakem zapisu, ki vsebuje tenis, popraviti ceno. • Podvojeni podatki • Če se 50 dijakov odloči za plavanje, moramo vsakič vtipkati krožek, vodjo in ceno. • Ali je cena za plavanje 1500 ali 2000 SIT? • Težavne poizvedbe • Če želimo poiskati vse dijake, ki hodijo na plavanje, moramo pogledati dva stolpca. • Kako ugotovimo pravilno ceno plavanja?

  21. V tretje gre rado • Tudi aktivnosti damo v svojo tabelo. • Podvojenih podatkov ni več. • Ceno krožka lahko popravimo le na enem mestu. • Lahko dodamo podatke o novem krožku, čeprav ga še nihče ne obiskuje.

  22. Dodatni podatki • Denimo, da potrebujemo tudi podatke o razredih in razrednikih. • Dodamo še eno tabelo z razredi in razredniki in jo povežemo z dijaki.

  23. Končna shema Dijaki Razredi Aktivnosti Izbrani krožki

  24. Še nekaj malenkosti • Poleg baze krožkov potrebujemo na šoli tudi druge podatke: seznam razredov, ocene, izostanki, itd. • Za vse potrebe potrebujemo le eno tabelo dijakov, ki mora vsebovati še ostale podatke: datum rojstva, naslov, ..., ime pa je zaradi urejanja razdeljeno na ime in priimek. • Nekaj napotkov: • Sestavljena polja ločimo na posamezna polja (npr. ime in priimek). • Tabeli dodamo ključ, ki enolično določa zapis (npr. ID ali pa ključ sestavimo iz toliko polj, da je to enolično) • Znebimo se ponavljajočih se polj (npr. Krožek1, Krožek2, ...). • Znebimo se ponavljajočih se podatkov. Namesto tega damo podatek, ki se ponavlja, v svojo tabelo, nato pa tabeli povežemo. • Naj nam ne bo škoda časa za načrtovanje baze, saj je bazo, ko je program že skoraj narejen, težko drastično spreminjati.

More Related