Uvod v računalniške informacijske sisteme / baze podatkov
Definicija baz podatkov in primeri
[uredi]Baza podatkov je zbirka podatkov, ki je shranjena in organizirana tako, da omogoča enostavno iskanje, ko je to potrebno. To je zbirka shem, tabel, poizvedb, poročil, pogledov in drugih objektov. Za vzdrževanje in dostop do baze podatkov potrebujete SUPB (sistem za upravljanje baz podatkov, ang. DBMS - data management system). Ta vrsta sistema upravlja in varuje podatke, tako da je baza podatkov varna. Sestavljajo jo tabele, ki vključujejo skupine povezanih podatkovnih polj, ki so znana kot zapisi. Baze podatkov niso omejene samo na računalnike; telefonski imenik je na primer baza podatkov. Imena so razvrščena po abecedi, vsak stolpec ima svojo kategorijo. Na voljo je stolpec za ime, telefonsko številko in naslov ulice. Z relacijsko bazo podatkov lahko vse podatke v vrstici povlečete, ko iščete določen atribut.
Obstaja kar nekaj prednosti uporabe sistema za upravljanje baz podatkov. Njegova dobra lastnost je sposobnost nadzorovanja redundance, ohranjanje celovitosti shranjenih informacij, lahko omeji dostop, lahko deli in varnostno kopira oziroma obnovi podatke. Sistem za upravljanje baz podatkov lahko prepreči redundantnost z zbiranjem informacij na enem mestu. Na enak način kot v eni mapi ne morete imeti dveh zvočnih datotek z istim imenom in razširitvijo, ne morete imeti iste datoteke v eni sami bazi podatkov. To nadzoruje podatke in lahko zavzema veliko prostora za shranjevanje. Celovitost shranjenih informacij se lahko poveča tudi na podlagi specifikacij razvijalca baze podatkov. To pomeni, da bodo omejitve podatkov, ki se vnesejo v bazo podatkov (določi jih razvijalec), hranile točne podatke. Če je na primer baza podatkov lahko shranjevala samo slike, bo glasbena datoteka zavrnjena, kar zagotavlja, da bo slika vedno pridobljena iz baze podatkov s 100-odstotno natančnostjo. To je zelo preprost primer za prikaz omejitev, ki jih postavi razvijalec, saj lahko te omejitve določajo različne karakteristike podatkov. Podatkovne baze lahko tudi delijo podatke, kar razvijalcem omogoča, da izdelajo več aplikacij iz enega vira informacij, namesto da bi morali ustvarjati nove datoteke, ki bi hranile podatke. Podatkovne baze omogočajo tudi varnostno kopiranje in obnovitev podatkov. Če računalniški sistem med dolgotrajno in kompleksno posodobitvijo ne uspe posodobiti podatkov, lahko baza podatkov obnovi te datoteke na mesto v posodobitvi, ko se znova zažene.
Baze podatkov se primarno uporabljajo za zbiranje podatkov in njihovo organiziranje. Kot primera lahko navedemo Microsoft Excel ali Access, za primer uporabe pa lahko vzamemo tudi poroko, za katero moramo narediti seznam povabljenih oseb. Za ta postopek lahko posameznik uporabi Microsoft Excel, ker njegova baza podatkov ne bo imela veliko vrst transakcij in ne bo postala preveč nenadzorovana. Če pa bi baza postala neobvladljiva, bi bila boljša izbira Access. Access je pravzaprav le bolj napredna različica programa Excel, ki je potrebna bodisi za neobvladljive baze podatkov ali pa za baze, ki jih je treba neposredno povezati z drugimi, da bi lahko sistematično dostopali do informacij. Vsaka baza podatkov vam lahko pomaga pri sprejemanju premišljenih odločitev in pri razumevanju podatkov na različne načine. V Access ni mogoče shraniti dveh popolnoma enakih podatkov, zato lahko prihranite bistveno več prostora in izboljšate natančnost. Access ima na voljo različne predloge, med katerimi lahko izbirate pri kreiranju nove baze. Med tabelami lahko vzpostavite povezave za lažje navigiranje. In če se vrnemo na zgoraj omenjeni primer sestavljanja seznama povabljenih na poroko: s pomočjo baze lahko hitro ugotovite, kdo se bo udeležil sprejema in kdo ne, in tako določite ustrezen razpored povabljencev po mizah.
Podatkovne baze so pomembne tudi za podjetja, še posebej, ko gre za vodenje inventarja. Uporabljajo se lahko za nadzor zalog in zmanjšanje porabe časa, znižanje stroškov in napora pri upravljanju zalog. Kontrola inventarja je bistvena za dobro in učinkovito poslovanje, podatkovna baza pa zagotovi najnovejšo sliko zaloge in izdelkov. Pomaga pri posodabljanju zaloge glede na povpraševanje potrošnikov. Uporablja se lahko za napovedi in trende povpraševanja, tako da se prilagaja spremembam trga in tako povečuje dobiček. Prav tako omogoča avtomatizacijo, kar izboljšuje produktivnost. Samodejno lahko posodablja in nadzoruje nivo zaloge, kar zagotovi, da so izdelki vedno na voljo. Ta avtomatizacija dovoljuje zaposlenim, da bolj efektivno izkoristijo svoj čas, na primer tako, da se bolj posvečajo pomoči strankam. Stranke naročajo izdelke, za katere želijo, da so dostavljeni pravočasno. Baza podatkov lahko pomaga tudi povečevanju in ohranjanju učinkovitosti naročil in dobav, ker omogočajo lažje naročanje in iskanje izdelkov. Vsaka organizacija, ki želi spremljati zalogo, lahko dobro izkoristi prednosti baz podatkov. Kot primer lahko navedemo knjižnice, kjer je zaradi velike zaloge knjig baza podatkov ne le zaželjena, ampak tudi nujna.
Kdo uporablja podatkovne baze?
[uredi]Pri ustvarjanju, uporabljanju, upravljanju in varovanju baz podatkov sodeluje več posameznikov. Za izdelavo je odgovoren oblikovalec podatkovnih baz (ang. database designer). Oblikovalci delajo z ljudmi, ki so vključeni v življenjski cikel razvoja celotnega sistema (npr. sistemski analitik (ang. system analyst)), da bi ugotovili, katere vrste podatkov je potrebno zajeti ter kakšni so odnosi med podatki v bazi. Na podlagi tega potem oblikujejo bazo. Oblikovalca baze podatkov lahko imenujemo tudi arhitekt, inženir ali analitik baze podatkov. Razvijalci baz podatkov (ang. database developers) nato izdelajo bazo, ki temelji na delu oblikovalca baze podatkov. Razvijalec običajno s pomočjo SUPB (sistem za upravljanje z bazami podatkov, ang. DBMS) vzpostavi njeno strukturo in uporabniški vmesnik. To delo je lahko podobno tistemu, ki ga opravi oblikovalec. Razvijalci baz delajo skupaj s programerji baz podatkov (ang. database programmer), ki pa ustvarijo potrebne programe za razvoj baze. Za upravljanje, vzdrževanje, nadzorovanje dostopa do baze, spremljanje delovanja in izvajanje varnostnih kopij so odgovorni skrbniki ali upravljavci baz podatkov (ang. database administrator, tudi DBA). Za vnašanje, posodabljanje in pridobivanje podatkov iz baze pa so zadolženi uporabniki.
Značilnosti podatkov
[uredi]Podatki so zbirka dejstev, prav tako pa so tudi vrednosti, meritve, številke, besede in opazovanja. Veliko podjetji ne bi bilo tako uspešnih brez baz podatkov. Podatki so sistematično hierarhično razporejeni/organizirani. Polja, zapisi in datoteke so del organizacije podatkov. Na spodnjem delu hierarhije najdemo imena izdelkov in njihove količine, najvišja raven pa je sama baza podatkov. Definicija podatkov vsebuje tudi ime, tip podatkov, opise in njihove lastnosti. V primeru, da uporabnik želi poiskati vse opredelitve/definicije podatkov, jih lahko najde v podatkovnem slovarju. Ključni izrazi o značilnostih podatkov, ki bi jih uporabnik moral poznati, so podatkovno polje, zapis, datoteka in baza podatkov. Podatkovno polje lahko vsebuje eno vrednost entitete. Podatkovni zapis je skupina vrednosti za lastnosti, ki se nanašajo na eno entiteto, in so v bazi podatkov shranjeni skupaj. Zapis je zbirka sorodnih polji. Baza podatkov pa je mesto, kamor so datoteke integrirane. Poznavanje ključnih izrazov je pomembno za podjetje, ki upravlja z bazo podatkov.
Organizacija podatkov
[uredi]Da bi bila baza podatkov učinkovita, morajo biti njeni podatki organizirani na način, da so hitro in lahko dostopni.Temu rečemo organizacija podatkov. Za določanje lokacije podatka, sistem uporablja primarni ključ. To omogoča učinkovito lociranje posameznih zapisov. Baze lahko za učinkovito shranjevanje podatkov uporabljajo več različnih metod. Dve najpogostejši sta metoda indeksiranja (ang. Indexed Method) in neposredna metoda (ang. Direct Method). Metoda indeksiranja je metoda, pri kateri baza podatkov uporablja indeks za spremljanje mest, kjer so shranjeni podatki. Indeks je konstrukt, ki se v bazi podatkov uporablja za pospešitev hitrosti izvajanja poizvedb. Sestavljen je iz vrednosti atributa in kazalcev na mesta, kjer so ti atributi (in ostali atributi za posamezen podatkovni zapis) fizično zapisani v pomnilniku. Neposredna metoda pa za ugotavljanje fizične lokacije podatka v bazi uporablja osnovno kazalno polje (ang. key field) in matematično formulo, imenovano algoritem za razprševanje (ang. hashing algorithm), kar omogoča še hitrejše lociranje podatkov. Te sisteme je težje razviti. Pri njih je možnost nastanka kolizije večja. Kolizija se zgodi, ko se dvema ali več zapisom dodeli enak naslov za shranjevanje. Nekateri sistemi uporabljajo obe metodi, ključno polje najprej pokaže, kje se nahaja zapis v tabeli, nato pa se z algoritmom razprševanja ugotovi, kje so podatki fizično shranjeno na pomnilniškem mediju.
Podatkovni slovar
[uredi]Podatkovni slovar je nabor bralnih tabel, ki vsebujejo vse definicije podatkov v bazi podatkov. Za ogled, urejanje strukture tabel in tabel samih je potrebno imeti geslo. V podatkovnem slovarju se nahajajo tabele, pogledi, indeksi, gruče, sopomenke, zaporedja, postopki, funckije, paketi, sprožilniki in drugo. Podatkovni slovar ne vsebuje nobenih informacij, ki se nahajajo v podatkovnih tabelah, tu so shranjeni samo podatki o tabelah. Tem podatkom rečemo tudi metapodatki. V slovarju so informacije o tem, koliko prostora so zavzeli objekti sheme in koliko prostora je še na voljo. Pred vnosom v podatkovni slovar morajo biti informacije, ki so vključene v bazo podatkov, ustrezno organizirane. Za vsak neodvisen objekt je potrebno narediti modeliranje podatkov ali nanj dodati opisno ime. Ko je ta proces zaključen, se opišejo odnos med podatki in določi vrsta podatka. Vrsta podatkov lahko vključuje opredelitev objekta kot besedilo ali slika. Po končanju mora programer dodati krajši tekstovni zapis o podatkih.
Zasebnost in varnost podatkov
[uredi]Varnost podatkov je nujna, zahteva jo večina industrijskih, poslovnih in pravnih direktiv. Ko govorimo o varnosti podatkov, imamo v mislih ščitenje podatkov pred različnimi kršitvami (na primer vpogled nepooblaščene osebe v podatke) tako, da do informacij, ki so shranjene, ni mogoče dostopati, jih razkriti ali razpustiti. Varnost podatkov prav tako zagotavlja tudi celovitost podatkov (ang. data integrity), kar pomeni, da ne more priti do nepooblaščenih sprememb podatkov in njihovih struktur, konfiguracijskih datotek ali zapisov (ang. logs). Programi za varnost podatkov lahko sledijo datotekam in spremljajo prenos podatkov ter s tem preprečijo nepooblaščen dostop in ustavijo morebitne vdore.
Ker se je tehnologija skozi leta razvila, se vedno več ukrepov izvaja prek spleta, aplikacij ali drugih omrežji. To je sprožilo vprašanja zasebnosti, saj se osebne in občutljive informacije pogosto hranijo v podatkovnih zbirkah številnih organizacij (bolnišnice, zavarovalnice, zdravstvena podjetja ipd.). Za razrešitev te problematike so bili sprejeti zakoni o zasebnosti, ki določajo, kako lahko podjetja in posamezniki izberejo, katere informacije se lahko posreduje tretjim osebam in katere ne. V Združenih državah so bili sprejeti različni zakoni o zasebnosti za določene industrije ali situacije. Nekateri od teh zakonov vključujejo Zakon o varnosti otrok na spletu (COPPA), Zakon o prenosljivosti in odgovornosti za zdravstveno zavarovanje (HIPPA), Zakon o elektronskih komunikacijah (ECPA) in Zakon o zaščiti zasebnosti videoposnetkov.
Klasifikacija podatkovnih baz
[uredi]Sistemi podatkovnih baz za enega oz. za več uporabnikov
[uredi]Sistemi z eno uporabniško bazo podatkov se nahajajo na enem računalniku in so zasnovani za enega uporabnika; pogosto se uporabljajo za osebno uporabo in mala podjetja. Naenkrat lahko bazo podatkov uporablja samo ena oseba. Večja podjetja pa uporabljajo večuporabniški sistem podatkovnih zbirk, kjer je dostop do baze omogočen preko omrežja. Tako lahko hkrati več uporabnikov dostopa do podatkov in jih spreminja. V večini primerov se uporablja neko vrsto zaklepanja na podatkovni bazi v izogib konfliktov. Zaklepni mehanizmi so lahko prisotni na enem ali na več računalnikih.
Odjemalski strežnik in n-nivojski podatkovni sistemi
[uredi]Večina sistemov z več uporabniškimi bazami podatkov je sistem baze podatkov odjemalec-strežnik. Sistemi baze podatkov odjemalec-strežnik so pravzaprav strežniki, ki vsebujejo vire za druge računalnike. To se zgodi, ko odjemalski del zahteva storitev od strežnika, ki izpolni zahtevo, npr. ko tajnica, ki uporablja svoj računalnik (odjemalski del), preveri stroške izdelka na svojem sistemu (tj. na strežniku, ki ni shranjen na njenem računalniku). Odjemalec se imenuje sprednji del (ang. front end) in strežnik baze podatkov se imenuje zadnji del (ang. back end). Nekateri sistemi podatkovnih baz odjemalca-strežnika imajo poleg sprednjega in zadnjega dela tudi srednji del oz. sloj, ki se imenujejo n-nivojski podatkovni sistemi. V n-nivojskih podatkovnih bazah odjemalec in baza podatkov nikoli ne komunicirata neposredno, vsi podatki se prenašajo skozi srednji sloj. Prednost tega sistema baze podatkov je, da srednji sloj zagotavlja plast abstrakcije, kar omogoča spreminjanje delov zadnjega dela brez spreminjanja delov prednjega dela. Je dober način za ločevanje odgovornosti; lahko so tudi učinkovitejši.
Internetne kombinacije odjemalec-strežnik dajejo informacijski tehnologiji drugo dimenzijo odjemalčevi organizaciji. Najprej se obnašajo kot stranke in strežniki, prav tako pa se lahko povežejo z internetom in dostopajo do podatkovnih baz na oddaljenih lokacijah. Zaključna faza je ustvarjanje, ogled, uporaba, spreminjanje in brisanje aplikacij ter podatkov. Za dejansko izvajanje funkcij se uporabljajo programski moduli in komponente strojne opreme. Povezava s strežnikom odjemalca lahko komunicira prek sporočil in ta sporočila se lahko pošljejo ne glede na to, ali je strežnik povezan ali izključen. Sporočila se pošiljajo prek omrežja, ki lahko vključuje intranet in internet. Omrežje je skupina povezanih predmetov ali ljudi; omrežje lahko posreduje sporočila med njimi. Glavna uporaba strežnika odjemalca je ustvariti uporabno aplikacijo za potrebe podjetja. Odjemalski strežniki uporabljajo vmesno programsko opremo, ki je pomemben del, ki omogoča aplikacijam na strani odjemalca, da lahko dosežejo dejansko omrežje in govorijo s strežnikom. To je del, ki je med omrežjem in aplikacijsko programsko opremo. Primer vmesne programske opreme je e-pošta, saj se nahaja med omrežjem in aplikacijo.
Sistemi centraliziranih in porazdeljenih podatkovnih baz ter sistemi na osnovi diskov in podatkovnih baz, vgrajenih v spomin
[uredi]Centralizirani sistemi podatkovnih baz se nahajajo na enem računalniku. To je lahko strežnik ali glavni računalnik. Sistemi porazdeljenih baz podatkov si delijo omrežje, podatki pa so razdeljeni med več računalnikov, ki so povezani v to omrežje.
Prednost centraliziranega sistema baz podatkov je dejstvo, da so vse informacije zbrane na enem mestu. Pomanjkljivost takega sistema pa je ozko grlo (ang. bottleneck). Če so vse informacije na enem računalniku, lahko to nekaterim uporabnikom olajša delo, vendar pa oteži dostop do datotek za druge. Prednost sistemov porazdeljene baze podatkov je omogočen dostop do baze podatkov s katerim koli računalnikom v omrežju, čeprav ni vseh informacij na enem računalniku. To je najprimernejši tip sistema, ki ga je mogoče uporabiti za podatkovne zbirke, saj se podatke enostavno najde. Prav tako imamo v primeru uporabe sistema porazdeljene podatkovne baze zagotovilo, da se v primeru napake ne bodo izgubili vsi podatki. Zaradi nedavnega napredka v tehnologiji je uporaba “oblaka” (ang. cloud) še en način za shranjevanje podatkov baze podatkov prek interneta. Ta koncept gre z roko v roki z bazami podatkovnih sistemov, ki temeljijo na diskih (ang. disk-based), in s tistimi v pomnilniku (ang. in-memory).
Danes je večina baz podatkov shranjenih na običajnih trdih diskih v računalnikih, vendar so pred kratkim mnogi prešli na podatkovne baze v pomnilniku. V tem primeru so vsi podatki lahko shranjeni v glavnem pomnilniku računalnika. To ustvarja hitrejše zmogljivosti kot pri sistemu, ki bazira na shranjevanju na disk.
Baza podatkov v pomnilniku
[uredi]Baza podatkov v pomnilniku (IMDB, ang. in-memory database) je baza podatkov, katere podatki so z namenom hitrejšega odzivnega časa shranjeni v glavnem pomnilniku. Podatkovne baze v pomnilniku se včasih imenujejo tudi glavni pomnilniški sistemi (ang. main memory database systems) ali MMDB in so v zadnjih letih postali bolj priljubljeni za uporabo v visoko zmogljivem računalništvu (HPC, ang. High-Performance Computing) in v Big Data aplikacijah. Aplikacije, ki izvajajo telekomunikacijsko omrežno opremo in mobilna oglaševalska omrežja, pogosto uporabljajo baze podatkov glavnega pomnilnika.
Trije razvojni dosežki v zadnjih letih so omogočili, da je analitika v pomnilniku vse bolj izvedljiva: 64-bitno računalništvo, večjedrni strežniki in nižje cene RAM-a. Vir se v sistemski pomnilnik naloži v stisnjenem, ne-relacijskem formatu. Podatkovne zbirke v pomnilniku racionalizirajo delo, ki je vključeno v obdelavo poizvedb, kar zagotavlja hitrejšo in bolj predvidljivo zmogljivost kot z diska, ker so časi dostopa in zahteve za podatkovne baze običajno precej hitrejši, če se uporablja sistemski pomnilnik v nasprotju z diskovnim pomnilnikom, zlasti trdi disk. Glavne pomnilniške baze so hitrejše od podatkovnih baz, optimiziranih za disk, saj so interni optimizacijski algoritmi enostavnejši in izvajajo manj navodil za CPE. Še ena prednost podatkovnih baz v pomnilniku je tudi to, da se podatki o transakcijah in analizni podatki shranijo v isto podatkovno bazo. Lažje je izvesti ad hoc analizo, saj so vsi podatki, potrebni za analizo izbranega poslovnega primera, zapisani v eno samo bazo podatkov.
Modeli podatkovnih baz
[uredi]Relacijski modeli podatkovnih baz
[uredi]Sistemi za upravljanje relacijskih baz podatkov so pomembni, ker vzamejo več sorodnih tabel in jih združujejo na najbolj efektiven način. RSUBP vzame te manjše, manj kompaktne tabele in najde načine, kako jih povezati med seboj na podlagi singularnih spremenljivk, da bi se izognili čim več ponovitvam. Pri ustvarjanju takšne baze podatkov si je treba zastaviti štiri glavna vprašanja, in sicer kaj je smisel te baze podatkov, katere podatke je treba vključiti v to zbirko podatkov, katere spremenljivke je treba uvrstiti v tabelo, da bi bil končni rezultat najmanj zapleten/kompleksen in kako naj bo ta tabela oblikovana. Ko imate odgovore na vsa ta vprašanja, lahko uporabite program, kot je Access (Microsoft Office) in ustvarite poizvedbo tako, da izberete določena sorodna polja za prikaz in organizacijo. Potem bi lahko uporabili poizvedbo za ustvarjanje poročila, ki se uporablja za uvoz izbranih informacij v edinstveno bazo podatkov, ki bi jo bilo lažje brati in v njej iskati informacije.
Relacijska baza podatkov se začne uporabljati, ko je potrebna podatkovna baza za sledenje sredstev, preglednice (ang. spreadsheets) pa so prevelike, da bi jih lahko uporabili za določene podatke. Po končanem oblikovanju nove baze podatkov, vključno s polji, tipi podatkov, primarnimi in tujimi ključi, se izvede naslednji korak: ustvarjanje ustrezne tabele za bazo podatkov. Prvi korak pri ustvarjanju relacijske baze podatkov je ustvariti in poimenovati novo datoteko baze podatkov, ki bo vsebovala vse tabele in objekte, vključene v bazo podatkov. Nato se s pomočjo strukture tabele, oblikovane v fazi "načrtovanja" procesa, ustvari vsaka tabela v bazi podatkov. Ko je struktura tabele končana, je potrebno vnesti podatke v tabele in tabele med seboj po potrebi povezati. V Microsoft Accessu je tabelo mogoče ustvariti v zavihku Načrt tabele (Design View) tako, da vnesete ime vsakega polja ter po potrebi podate tip podatkov in druge lastnosti. Če pa želite uporabiti svoje stare ali obstoječe podatke v novi bazi podatkov, se s pomočjo procesa, imenovanega migracija, izvede prenos podatkov iz starih datotek v nove. Poleg tega vam možnost Poglej načrt (View View) omogoča tudi različna urejanja v obrazcu, če želite imeti posebno postavitev ali obliko, na primer spreminjanje barve obrazca, velikosti pisave, postavitve polj ali dodajanje naslova itd.
Model zvezdne sheme (ang. star schema model)
[uredi]Zvezdna shema je eden najpreprostejših modelov podatkovnih baz in se običajno uporablja kot model za relacijska podatkovna skladišča in večdimenzionalne baze podatkov. Shema je v celoti sestavljena iz tabel z dejstvi (ang. fact tables) in dimenzionalnih tabel (ang. dimension tables). Tabele z dejstvi so dogodek ali entiteta, kot je prodaja, dimenzionalne tabele pa so sestavljene iz podrobnosti o tem dogodku, kot so na primer datum, kraj, hitrost dostave itd. Tabelo geografskih razsežnosti na primer lahko uporabite za opisovanje podatkov o lokaciji, kot so država ali mesto. V shemi zvezde je tabela dejstev obdana s številnimi razsežnostmi, ki se raztezajo in ustvarjajo podobo, podobno zvezdi. Ena od prednosti modela zvezdne sheme je njegova združljivost z Online Analytical Processing (OLAP), ki omogoča izkopavanje podatkov iz različnih vidikov. Uporabnik lahko na primer vidi prodajo iz določenega elementa v katerem koli določenem času v preteklosti. Ena od slabosti modela zvezdne sheme je dejstvo, da gre za poenostavljen model, zato ni sposoben izvesti kompleksne relacijske analize. Sheme zvezd so tudi denormalizirane, zato je možno, da se v podatkovni bazi pojavijo odvečni podatki.
Tipi odnosov
[uredi]Obstajajo tri osnovne vrste odnosov med entitetami, in sicer: 1:1 (one-to-one), 1:N (one-to-many) in M:N (many-to-many). V primeru 1:1 povezave je vsaka vrstica v eni tabeli povezana z eno posebno vrstico v drugi tabeli. To pomeni, da mora biti v prvi tabeli točno toliko vrstic kot v drugi tabeli. Ta vrsta povezav ni zelo pogosta, ker navadno ne koristi obliki podatkovne baze. Tako oblikovanje ni koristno, saj bi bilo v primeru, da so podatki neposredno povezani, smiselno shraniti vse podatke v eni tabeli. Eden od načinov koristne uporabe povezave 1:1 je potreba po delu podatkov, ki se ne uporabljajo pogosto. Podatki, ki se ne uporabljajo pogosto, se lahko shranijo ločeno in stran od pomembnejših podatkov. Povezave 1:N omogočajo, da je vsaka vrstica v tabeli povezana z več vrsticami v drugi tabeli. Ta vrsta povezave je koristna za bazo podatkov, saj lahko podatke, ki se pogosto uporabljajo v številnih različnih tabelah, vnesemo le v eno glavno tabelo. Običajno bi bilo število vrstic v prvi tabeli manjše od števila vrstic v drugi, tretji, četrti in tako naprej. 1:N povezave se pogosto uporabljajo v knjižnicah, npr. imena avtorjev v eni tabeli se lahko ujemajo z naslovi del, ki jih je avtor napisal, in so shranjeni v različnih tabelah.
Hierarhični in omrežni podatkovni modeli
[uredi]Hierarhični model je najstarejši model podatkovnih zbirk. Podatke organizira v drevesni strukturi z uporabo nadrejenih in podrejenih podatkovnih segmentov. Na primer, shema se začne na vrhu drevesa z enim korenom. To izhaja iz segmenta nižje ravni, ki se po njej poveže z drugimi podrejenimi segmenti. Uporablja se za modeliranje 1:N povezav. Pomanjkljivost uporabe tega modela je, da zahteva podatke, ki se ponavljajo v več ravneh. To povzroči, da baza podatkov deluje zelo počasi, saj lahko išče informacije tudi na nižjih ravneh. Omrežni model uporablja določeno strukturo. Niz je sestavljen iz tipa zapisa lastnika, imena niza in tipa zapisa člana. Ta vrsta modela kaže povezave več-več (M:N), na primer, starši lahko imajo več otrok, otroci pa lahko imajo več staršev. Obe vrsti modelov sta zastareli in se za gradnjo novih aplikacij ne uporabljata več. Pogosto sta manj prilagodljivi od drugih tipov modelov.
Prav tako morajo biti vse poti za dostop do podatkov načrtovane vnaprej in jih ni mogoče zlahka spremeniti. V večjih sistemih, ki uporabljajo obdelavo velikih količin transakcij, kot so banke ali zavarovalnice, je še vedno mogoče videti hierarhične modele.
Objektno usmerjeni modeli podatkovnih baz
[uredi]Medtem ko lahko drugi modeli baz podatkov shranjujejo le običajne podatke (kot so datumi, številke in besedilo), je objektno usmerjen sistem za upravljanje baz podatkov (ang. object-oriented database management system, OODBMS) veliko bolj abstrakten. V objektno usmerjenih modelih podatkovnih baz lahko shranite precej raznolikih podatkov, skupaj z metodami, ki jih boste uporabili s temi podatki. Če želi uporabnik pridobiti bolj zapletene in raznolike podatke, pošlje poizvedbe, napisano v objektno usmerjenem jeziku OQL (ang. object query language), ki je objektno usmerjena različica jezika SQL. Objektno usmerjeni modeli podatkovnih baz danes postajajo vedno bolj razširjeni zaradi višjih zahtev uporabnikov računalnikov. Vendar pa, kot velja za vsako novo tehnologijo, obstaja nekaj argumentov proti njihovi uporabi zaradi njihovih slabih lastnosti.
Ena izmed pomanjkljivosti je večja poraba časa pri urejanju aplikacije, ki temelji na OODBMS, saj je v aplikaciji potrebno spremeniti druge razrede, ki vplivajo na primerke nadrejenega razreda, pri sistemu RDBMS pa so spremembe običajno neodvisne od nadrejene aplikacije. To je zelo zamudno in pomeni, da je treba za spremembe v objektno usmerjenem sistemu za upravljanje baz podatkov porabiti veliko denarja. Mnoga podjetja v poslovnem svetu imajo določene proračune za informacijski oddelek, ki vključuje sistem baze podatkov,, ki jih podjetje uporablja, in OODBMS je zelo draga. Še ena pomanjkljivost OODBMS je pomanjkanje podpore za varnost in poglede. Uporabnik OOBDMS ne more dodeliti dostopa do določenih predmetov ali razredov znotraj sistema posameznikom, kar pomeni, da posameznik bodisi ne more videti, kaj je v sistemu, bodisi ima dostop do vsega, kar podjetjem ni všeč. Prav tako OOBDMS-ji ne vsebujejo mehanizma pogleda (ang. view mechanism), kar je pomanjkljivost za zaposlene, ki želijo svoje delo videti in in zagotoviti, da je vse, kar so vnesli, pravilno. Še dve slabosti OOBDMS, ki gresta z roko v roki, je pomanjkanje standardov za sistem in dejstvo, da ni univerzalnega podatkovnega modela. Brez standardov za sistem je lahko njegova čistost zmanjšana in ga je posledično težko uporabljati. Univerzalnost je mnogim všeč, saj je tako lažje vedeti, kaj je prav in kaj narobe, kar pa pri objektno usmerjenem modelu podatkovnih baz ni mogoče. Kljub pomanjkljivostim številne pomembne stranke še vedno delujejo s pomočjo objektno usmerjenih modelov podatkovnih baz, na primer Chicago Stock Exchange, ki uporablja sistem za upravljanje trgovanja z delnicami.
Po pregledu tipov modelov podatkovnih baz so pri načrtovanju relacijske baze podatkov vključeni štirje koraki. Prvi korak je določanje namena baze podatkov in dejavnosti, za katere se bo uporabljala. Te dejavnosti lahko obsegajo od sledenja nepremičnin za najem, ocen učencev, do naročil strank ali inventarja. Baze podatkov se lahko uporablja na mnoge različne načine in vedenje, za kaj se bo baza uporabljala, bo v pomoč pri njenem ustvarjanju in optimiziranju njene uporabe. Če veste, kakšen namen bo imela vaša baza podatkov, boste lahko določili podatke (polja), ki jih je treba vključiti v bazo podatkov, nato pa lahko polja razvrstite v tabele. Dobro je združiti polja, ki logično spadajo skupaj. Nato preglejte strukturo tabele in zagotovite, da so vsa polja predstavljena in v ustrezni tabeli. Poglejte, ali je v podatkih prisotna kakršna koli redundanca, in z namenom zmanjšanja preskturirajte polja. Nazadnje dokončajte strukturo vsake tabele, navedite ime, vrsto, velikost vsakega polja in tako naprej ter izberite primarni ključ (definicija podatkov, ang. data definition). Ta postopek vam bo pomagal ustvariti bazo podatkov, ki bo ustrezala vašim potrebam in zagotovila informacije, ki jih zahtevate.
Baze podatkov na internetu
[uredi]Spletne baze podatkov v uporabi
[uredi]Obstaja mnogo načinov uporabe spletnih podatkovnih baz. Najbolj očiten način je pridobivanje informacij. Spletne podatkovne baze omogočajo uporabnikom dostop do ogromne količine informacij, ki jih ponuja splet. To je mogoče z uporabo spletnih mest za iskanje, kjer podatkovne baze ponujajo povezave za uporabnike. V primeru, da posameznik želi ustvariti spletno mesto zgolj za lastne potrebe, lahko v osebni podatkovni bazi shranjuje na primer e-poštne naslove, telefonske številke in mnoge druge informacije. V poslovnem svetu spletne podatkovne baze omogočajo podjetjem, da ustvarijo "spletne ankete, obrazce za povratne informacije in sezname strank/kupcev". Eden od posebnih primerov, ki se nanašajo na poslovno uporabo spletnih podatkovnih zbirk, je upravljanje dejavnosti, povezanih z e-trgovanjem. Pri tem se baze podatkov uporabljajo za zagotavljanje informacij, kot so slike in cene izdelkov, podatki o naročilu ter druge potrebne funkcije, ki omogočajo učinkovite in zanesljive poslovne transakcije. Druga značilnost spletnih baz podatkov je možnost prikaza dinamičnih spletnih strani. Na njih so prikazane informacije, ki se spreminjajo glede na vnos uporabnika, na primer spletno mesto B2C, ki prikazuje strani, povezane z interesi potrošnika, ki temeljijo na njegovih preteklih dejavnostih. Spletne baze podatkov so od osebnih do poslovnih aplikacij bistveni del pri obravnavanju nalog, povezanih z spletnimi dejavnostmi.
Vmesna programska oprema (ang. middleware)
[uredi]To je računalniška programska oprema, ki programskim aplikacijam, ki so na voljo v operacijskem sistemu, ponuja (dodatne) storitve. Povezuje dve sicer ločeni aplikaciji in lahko spominja na "programsko lepilo". Na primer, obstaja več produktov vmesne programske opreme, ki povezujejo sistem baze podatkov s spletnim strežnikom. Podatkovno bazo z uporabo obrazcev, ki so prikazani v spletnem brskalniku, in spletnemu strežniku omogoča vrnitev dinamičnih spletnih strani na podlagi uporabniških zahtev in profila. Kot je bilo navedeno prej, se izraz vmesna programska oprema (ang. middleware) uporablja za opis ločenih izdelkov, ki služijo kot lepilo. Zato se razlikuje od uvoznih in izvoznih funkcij, ki so lahko vgrajene v eno od aplikacij. Včasih pa se imenuje vodovod (ang. plumbing), ker povezuje dve strani aplikacije in prenaša podatke med njima. Distribuirani računalniški sistem vmesne programske opreme lahko ohlapno razdelimo v dve kategoriji. Prva kategorija so tiste, ki zagotavljajo storitve človeškega časa (ang. human-time services), druga pa tiste, ki delujejo v času stroja (ang. machine-time). Ta vmesna programska oprema je nekoliko standardizirana prek foruma za razpoložljivost storitev in se pogosto uporablja v kompleksnih, vgrajenih sistemih v telekomunikacijski, obrambni in letalski industriji.
Kako delujejo spletne podatkovne baze
[uredi]V našem tehnološkem svetu vsakodnevno uporabljamo spletne podatkovne poizvedbe. Nenehno obiskujemo spletne strani, klikamo na povezave in z menijem krmarimo po naši dejavnosti na tej strani. S pomočjo vmesne programske opreme spletni strežnik posreduje zahtevo poizvedbi baze podatkov, informacije pa se shranijo in posredujejo strežniku baze podatkov. Strežnik baz podatkov nato te informacije uporabi za usmerjanje strani na mesto, kamor naj bi šel. Drug način posredovanja informacij je CGI Script. S pomočjo programskega jezika uporabljajo navodila ter sprejemajo in vračajo podatke o spletnih straneh uporabniku. Strani aktivnega strežnika so še en primer skriptov, ki se pogosto uporabljajo na spletnih mestih. So zelo podobni skriptom CGI, vendar so ekskluzivni, ker skoraj vedno uporabljajo VBS skript ali Javascript. PHP Hipertekstovni procesor je jezik, ki postaja vse bolj priljubljen. Ta skript je zelo podoben skriptom CGI in aktivnim stranem strežnika, vendar je bolj združljiv z drugimi programi. Skript deluje z uporabo PHP oznak in html kode. Ti skripti so le nekateri izmed primerov tega, kaj se danes uporablja in kako se informacije prenašajo na spletnem strežniku.
CGI skripta (ang. CGI Scripts)
[uredi]Skript CGI (skupni vmesnik prehoda, ang. common gateway interface) je niz navodil, zapisanih v programskem jeziku (kot so C, Perl, Java ali Visual Basic) in zasnovan tako, da sprejema podatke in jih vrne obiskovalcu spletne strani. Na zelo zasedenih mestih lahko CGI bistveno upočasni odzivni čas strežnika, ker vsako zahtevo obdela posebej. Običajna postavitev skripta CGI je v imeniku cgi-bin oddaljenih spletnih strežnikov, toda natančno lokacijo tega imenika določi spletni skrbnik posameznega računalnika.
Strani aktivnega strežnika (ang. active server pages)
[uredi]Strani aktivnega strežnika (ang. active server pages, ASP), prvi Microsoftov strežniški mehanizem za dinamično generirane spletne strani, uporabljajo razširitev/končnico .asp. ASP-ji delujejo podobno kot spletne strani, ki uporabljajo skripte CGI, vendar je koda, ki povezuje bazo podatkov s spletnim mestom, običajno napisana v JavaScriptu ali VBScriptu.
PHP skripte
[uredi]PHP Hipertekstovni procesor (ang. PHP Hypertext Preprocessor) je skriptni jezik, ki se uporablja za ustvarjanje dinamičnih spletnih strani. Je brezplačen, uporablja kodo, podobno Perlu ali C ++, ki je vstavljena v HTML kodo spletne strani s posebnimi oznakami PHP. Čeprav PHP skripti opravljajo naloge, podobne CGI in ASP, imajo prednost visoke združljivosti z mnogimi vrstami podatkovnih baz.
Pregled
[uredi]Izrazi in definicije
[uredi]Atribut (ang. attribute): značilnost entitete.
Celovitost podatkov (ang. data integrity): točnost podatkov.
Centraliziran podatkovni sistem (ang.centralized database system): Sistem baze podatkov, v katerem so vsi podatki, ki jih uporablja sistem, na enem računalniku.
Entiteta (ang. entity): Nekaj (kot je oseba, predmet ali dogodek) kar je pomembno za podjetje ali organizacijo; običajno postane tabela zbirke podatkov v sistemu baze podatkov za to podjetje ali organizacijo. Tudi enota.
Hibridna XML/relacijska baza podatkov (ang. hybrid XML/relational database): Vrsta sistema podatkovnih baz, ki lahko shrani in pridobi podatke XML in relacijske podatke.
Indeks (ang. index): majhna tabela, ki vsebuje primarni ključ in lokacijo zapisa, ki pripada temu ključu; uporablja se za iskanje zapisov v podatkovni bazi. Indeks je konstrukt, ki se v bazi podatkov uporablja za pospešitev hitrosti izvajanja poizvedb.
Indeksirana organizacija (ang. indexed organization): Metoda za organiziranje podatkov na pomnilniškem mediju ali v podatkovni bazi, ki uporablja indeks za določanje natančne lokacije shranjevanja.
Metapodatki (ang. metadata): Podatki o podatkih, kot so podatki v podatkovnem slovarju.
Neposredna organizacija (ang. direct organization): Metoda urejanja podatkov na pomnilniškem mediju, ki uporablja razprševanje za podajanje natančne lokacije shranjevanja.
Normalizacija (ang. normalization): Postopek ocenjevanja in popravljanja strukture tabele zbirke podatkov za zmanjšanje redundance podatkov.
Objektno usmerjen sistem za upravljanje baz podatkov (ang. object-oriented database management system (OODBMS)): Vrsta sistema podatkovnih baz, v katerem se skupaj s pripadajočo kodo shrani več vrst podatkov kot predmeti.
Oblika/forma (ang. form): Oblikovan način pregledovanja in urejanja tabele v bazi podatkov.
Opredelitev podatkov (ang. data definition): postopek opisovanja lastnosti podatkov, ki jih je potrebno vključiti v tabelo zbirke podatkov.
Podatkovna baza (ang. database): Zbirka sorodnih podatkov, ki so shranjeni na način, ki omogoča, da se informacije po potrebi pridobijo; v relacijski bazi podatkov, zbirka povezanih tabel.
Podatkovne baze končnih uporabnikov (ang. end-user database): sestavljajo jih podatki, ki so jih razvili posamezni končni uporabniki. Primeri teh so zbirke dokumentov, preglednic, predstavitev, večpredstavnosti in drugih datotek.
Podatkovne baze v pomnilniku (ang. in-memory database (IMDB)): Baza podatkov, ki shranjuje vse podatke v pomnilnik namesto na trdi disk.
Podatkovni sistem odjemalec-strežnik (ang. client-server database system): Sistem baze podatkov, kjer je baza podatkov na strežniku in do katere dostopajo odjemalske naprave.
Podatkovni slovar (ang. data dictionary): skladišče vseh definicij podatkov v bazi podatkov.
Poizvedba (ang. query): Zahteva za prikaz podatkov iz baze podatkov, ki ustreza posebnim merilom.
Polje (ang. field): Ena kategorija podatkov, ki se shranijo v podatkovni zbirki, kot so imena strank ali telefonske številke zaposlenih. Imenuje se tudi stolpec.
Poročilo (ang. report): Oblikovan način iskanja informacij, pridobljenih iz tabele zbirke podatkov ali rezultatov poizvedbe.
Preverjanje podatkov (ang. data validation): Postopek zagotavljanja, da so podatki, vneseni v bazo podatkov, veljavni (ustrezajo definiciji podatkov).
Primarni/glavni ključ (ang. primary key): Posebno polje v tabeli zbirke podatkov, ki enolično identificira zapise v tej tabeli.
Relacijski sistem za upravljanje z bazami podatkov (ang. relational database management system (RDBMS)): Vrsta sistema podatkovnih baz, v katerem so podatki shranjeni v tabelah, ki so povezane s skupnimi polji; danes najbolj razširjen model baze podatkov.
Sistem baze podatkov z enim uporabnikom (ang. single-user database system): Baza podatkov, ki se nahaja na enem računalniku in je zasnovana tako, da do nje lahko dostopa en sam uporabnik.
Sistem porazdeljene baze podatkov (ang. distributed database system): Sistem baze podatkov, v katerem se podatki, ki jih uporablja sistem, nahajajo na več računalnikih, ki so povezani prek omrežja.
Sistem večuporabniške baze podatkov (ang. multiuser database system): Baza podatkov je zasnovana tako, da je dostopna več uporabnikom.
Sistem za upravljanje z bazami podatkov (ang. database management system, DBMS): skupek programov, ki omogočajo kreiranje, uporabo in vzdrževanje baz podatkov.
Stolpec (ang. column): V bazi podatkov, polje.
SQL (ang. structured query language): Priljubljen poizvedovalni jezik za pridobivanje informacij v relacijskih bazah podatkov. Je jezik za delo z relacijskimi podatkovnimi bazami.
Tabela (ang. table): V relacijski podatkovni zbirki zbirka povezanih zapisov ali vrstic.
Večdimenzionalna podatkovna baza (ang. multidimensional database (MDDB)): Vrsta baze podatkov, izdelane za uporabo v podatkovnih skladiščih.
Vmesna programska oprema (ang. middleware): Programska oprema, ki se uporablja za povezovanje dveh sicer ločenih aplikacij, kot sta spletni strežnik in sistem za upravljanje baz podatkov.
Vrstica (ang. row): V bazi podatkov, zapis.
Zapis (ang. record): Zbirka sorodnih polj v bazi podatkov. Imenuje se tudi vrstica.
Zasebnost podatkov (ang. data privacy): zaščita zasebnosti podatkov v bazi podatkov.
Zasebnost podatkov (ang. data security): zaščita podatkov v bazi podatkov pred uničenjem in zlorabo.