Prezentácia k 2. hodine – 4.ročník VYT Základné pojmy z DBS Prezentácia k 2. hodine – 4.ročník VYT
Databázový systém DBS = BD + SRBD Je zložený z bázy dát a skupiny programov nazývanej Systém Riadenia Bázy Dát SRBD pomáha realizovať základné databázové funkcie - umožňuje komunikáciu s používateľom, definovanie, údržbu, uloženie a výber dát + kontrolu a riadenie databáz Databáza je množina dát, ktoré nejakým spôsobom súvisia
Vlastnosti DBS (1) Perzistencia (stálosť)- životnosť dát nie je ohraničená časom vykonávania programu - t.j. dáta existujú aj po ukončení programu, ktorý s nimi manipuluje. Správa externej pamäte - väčšina dát sa uchováva v externých pamätiach. Ak chce program aktualizovať niektoré údaje, musí ich najprv načítať z externej do operačnej pamäte, tam ich spracovať a potom opätovne zapísať do externej pamäte. Konkurentnosť - s uchovávanými dátami môže súčasne pracovať viac používateľov. Systém musí zabezpečiť riešenie potenciálnych konfliktov, ak sa pokúsi s rovnakými údajmi naraz manipulovať niekoľko používateľov.
Vlastnosti DBS (2) Bezpečnosť - databázové systémy sa často používajú v "citlivých" oblastiach, ako napríklad bankové systémy, registre obyvateľstva a pod. Systém musí byť preto chránený pred nepovoleným prístupom. Spoľahlivosť - keďže uchovávané dáta bývajú často veľmi dôležité, nesmie dôjsť k ich strate alebo poškodeniu pri zlyhaní hardwaru alebo softwaru. Dotazovanie - Databázový systém preto má poskytovať jazyk veľmi vysokej úrovne, ktorý dovolí laickému používateľovi, so znalosťou základnej štruktúry bázy dát, vyhľadávanie dát podľa jednoduchých kritérií.
SQL Structured query language – štrukturovaný dotazovací jazyk Používa sa pre prácu s dátami v DBS Má tri časti: DDL (data definition language) – jazyk pre definíciu dát DML (data manipulation language) – jazyk pre manipuláciu s dátatmi DCL (data control languge) – jazyk pre kontrolu (riadenie) prístupu k dátam
Databázy Podľa spôsobu usporiadania údajov ich delíme na: Sieťové Hierarchicky usporiadané Relačné Objektovo orientované
Relačné databázy Sú najviac používaným typom databáz vo svete Ich základom sú dvojrozmerné entity – tabuľky Tabuľky sa skladajú z riadkov a stĺpcov a zhromažďujú údaje o jednom druhu objektov (napr. osobné údaje zamestnancov firmy)
Príklad tabuľky P.č. Meno Priezvisko Vek Pohlavie 1 Jozef Púčik 13 M 2 Mária Ďuríčková 46 Z 3 Ján Hraško 5
Riadky a stĺpce tabuľky Jeden riadok predstavuje tzv. jeden záznam (alebo vetu), teda skupinu vzájomne súvisiacich údajov (usporiadanú n-ticu) Stĺpce sa nazývajú tiež atribúty objektov a údaje v nich sú jedného rovnakého dátového typu Každý stĺpec má svoje meno, aby sa dal jednoducho identifikovať Každý riadok má svoj jednoznačný identifikátor nazývaný aj primárny kľúč
Primárne a cudzie kľúče Primárny kľúč je atribút alebo skupina atribútov, ktoré jednoznačne identifikujú riadok v tabuľke Primárny kľúč má skratku PK (primary key) Cudzí kľúč je atribút alebo skupina atribútov tvoriacich v inej relácii primárny kľúč Používa sa na previazanie dvoch alebo viacerých tabuliek Cudzí kľúč má skratku FK (foreign key)
Dátové typy Numerické – číselné údaje - celé čísla, reálne čísla, vektory čísel, polia čísel Symbolické – reťazce znakov slúžiace na popis vlastností objektov Logické – áno/nie, pravda/nepravda Zložené – skladajú sa z viacerých typov údajov a väčšinou vyjadrujú hierarchické usporiadanie objektov
Ordinárne a nominálne dátové typy Môžu sa dať prirodzene usporiadať napr. výborný, chválitebný, dobrý, dostatočný, (nedo)statočný – takýmto atribútom hovoríme ordinárne (order (angl.) - poradie) Niektoré atribúty sa nedajú prirodzene usporiadať napr. sypký, tekutý, slaný, sladký, ... – takýmto atribútom hovoríme nominálne (nominal (angl.) – menovité)
Základné dátové typy Celočíselný – INT Reálne číslo – FLOAT Reťazec – VARCHAR (do 255 znakov) Dlhý text – TEXT Súbor – BLOB Dátum – DATE Dátum a čas - DATETIME
Integrita Pod týmto pojmom si môžeme predstaviť pravidlá pre zaistenie správnosti a konzistencie uložených dát I. Entitná integrita - Zaistenie jednoznačnej identifikácie každého riadku relácie tj. každý riadok má jednoznačný primárny kľúč II. Doménová integrita - Zaistenie, aby každá hodnota atribútu bola v súlade s množinou prípustných hodnôt (aby napr. v stĺpci s celočíselným dátovým typom neboli písmená) III. Referenčná integrita - Cudzie kľúče (tj. atribúty alebo skupina atribútov tvoriace v inej relácii primárny kľúč) nemôže nadobúdať hodnoty, ktoré sú v rozpore s hodnotami odkazovaného primárneho kľúča
Redundancia Redundancia dát znamená viacnásobný výskyt tých istých dát v databáze Hlavným problémom mnohých databáz je viacnásobný výskyt dát, z čoho vyplývajú zvýšené náklady na udržiavanie týchto duplicitných dát Môžu existovať aplikácie, kde redundancia dát je výhodná, dokonca žiadaná (distribuované databázové systémy), avšak musí byť podporovaná príslušným systémom riadenia bázy dát, alebo aplikáciou.
Vzťahy medzi tabuľkami Na to, aby v databáze nemusela existovať redundancia, s výhodou využívame možnosť „previazať“ dve tabuľky pomocou primárnych kľúčov Napr. ak máme tabuľku s osobnými údajmi zamestnancov, kde uchovávame mesto a PSČ, vznikali by duplicitné dáta, zaberajúce príliš veľa miesta Previazanie tabuliek je znázornené na ďalšom slide
Rod_cislo (PK) Meno Priezvisko Ulica Mesto PSC 8911318213 Ján Hraško Záhradná 5 Košice 1 04001 8852179831 Snehu Lienka Palácová 13 Rozprávkovo 12345 8205171234 Vali Buk Hôrna 96 Tatry 74331 ID_mesto (PK) Mesto PSC 1 Košice 1 04001 2 Košice 23 04023 3 Tatry 74331 4 Rozprávkovo 12345 Rod_cislo (PK) Meno Priezvisko Ulica ID_mesto (FK) 8911318213 Ján Hraško Záhradná 5 1 8852179831 Snehu Lienka Palácová 13 4 8205171234 Vali Buk Hôrna 96 3
Vzťah 1:n Modeluje vzťah medzi tabuľkami, keď jeden objekt môže vlastniť resp. popisovať viacero iných, resp. viac objektov môže mať rovnakú vlastnosť Je to napríklad vzťah medzi autorom a knihou, keď jeden autor môže mať v databáze viac kníh ID_kniha (PK) Názov Vydanie ID_autor (FK) 1 Harry Potter a kameň mudrcov 2 Čin čin ... 99 Harry Potter a ohnivá čaša ID_autor (PK) Meno 1 J.K. Rowling 2 Ľ. Podjavorinská 3 J. Verne 4 J.C. Hronský
Vzťah m:n Modeluje vzťah medzi tabuľkami, keď niekoľko objektov môže vlastniť resp. popisovať viacero iných Je to napríklad vzťah medzi zamestnancom a projektom na ktorom pracuje v prípade, že na jednom projekte môže pracovať viac zamestnancov a jeden zamestnanec môže pracovať na viacerých projektoch Takýto vzťah nahradíme dvojicou vzťahov 1:n Meno ID_zamestnanec (PK) J. Sova 1 T. Takáčová 2 ... V. Dudáš 34 ID_zamestnanec (FK) ID_projekt (FK) 1 50 2 ... 34 ID_projekt (PK) Názov ... 1 Vzdelávanie dôchodcov 2 Rekvalifikačný kurz 50 Kurz požiarnej ochrany
Vzťah 1:1 Špeciálny, málo používaný prípad vzťahu 1:n Modeluje vzťah medzi tabuľkami, keď jeden objekt môže vlastniť resp. popisovať práve jeden iný Je to napríklad vzťah medzi osobou a rodným číslom, aj keď sa tieto údaje zvyknú nachádzať v jednej tabuľke a nie v dvoch oddelených
Ďakujem za pozornosť
Zdroje http://www.ipower.sk/dbs/ http://www.fhi.szm.sk/2005/materialy/dsds/2_DBS_Databazove_systemy.doc http://programovanie.pc.sk/forum/univerzita/clanok.ltc?ID=284 http://en.wikipedia.org