Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

alebo ako vytvoriť dobrú databázu (rečou normálneho človeka)

Podobné prezentace


Prezentace na téma: "alebo ako vytvoriť dobrú databázu (rečou normálneho človeka)"— Transkript prezentace:

1 alebo ako vytvoriť dobrú databázu (rečou normálneho človeka)
Normalizácia DB alebo ako vytvoriť dobrú databázu (rečou normálneho človeka) Spracoval, vypracoval a prepracoval: Ing. Michal COPKO

2 Čo máme? Máme kopec údajov, ktoré chceme spracovať
Predpokladom je aby sme si zozbierali všetky potrebné informácie o tom, aké dáta má databáza uchovávať a aké výstupy chceme z databázy „vydolovať“

3 Príklad Máme vytvoriť databázu, ktorá bude uchovávať údaje zo školského systému a to konkrétne: mená a bydliská učiteľov, triedy, čísla učební, dátum narodenia učiteľov, údaje o umiestnení učební, počet miest na sedenie v učebni, trakt školy v ktorom je umiestnená učebňa, počet žiakov v triedach, popis tried, názov predmetu, skratku predmetu, popis predmetu Z databázy by sme chceli zistiť tieto údaje: zoznam predmetov, ktoré učí učiteľ zoznam učební a ich správcov zoznam tried, triednych učiteľov a kmeňových učební

4 Nultý krok V nultom kroku sa zbavíme všetkých zložených atribútov, teda takých, kde sú nejaké oddeľovače slúžiace na oddelenie viacerých dát V našom zadaní by to mohlo byť napríklad bydlisko učiteľa, ktoré sa dá rozdeliť na ulicu, PSČ a mesto

5 Prvý krok V prvom kroku si musíme roztriediť údaje do súvisiacich skupín Z príkladu vidíme, že vždy zbierame údaje o nejakých objektoch a tieto údaje sú vlastne nejakými ich vlastnosťami V našom prípade si rozdelíme dáta do týchto skupín: Učiteľ, Trieda, Učebňa, Predmet

6 Po prvom kroku Učiteľ Trieda Učebňa Predmet Meno Priezvisko
Dátum narodenia Ulica PSČ Mesto Trieda Označenie Počet žiakov Popis Učebňa Číslo učebne Poschodie Trakt Počet miest Predmet Názov Skratka Popis

7 Načo nám to bolo treba? Po tomto prvom kroku máme vlastne kus práce za sebou pretože sme si vytvorili tabuľky V ďalšom kroku si vytvoríme vzťahy medzi tabuľkami Najprv však nesmieme zabudnúť na dôležitú vec a tou vecou je náš starý známy primárny kľúč (PK), ktorý identifikuje každý záznam v tabuľke a zabezpečuje entitnú integritu

8 Pred druhým krokom Učebňa Predmet Učiteľ Trieda ID učebňa (PK)
ID učiteľ (PK) Meno Priezvisko Dátum narodenia Ulica PSČ Mesto Trieda ID trieda (PK) Označenie Počet žiakov Popis Učebňa ID učebňa (PK) Číslo učebne Poschodie Trakt Počet miest Predmet ID predmet (PK) Názov Skratka Popis

9 Druhý krok V druhom kroku si vytvoríme vzťahy medzi tabuľkami
Z minulých hodín (ne)vieme, že poznáme tri typy vzťahov a to 1:1, 1:n, m:n V zadaní sme mali požiadavku na zistenie týchto údajov: zoznam predmetov, ktoré učí učiteľ zoznam učební a ich správcov zoznam tried, triednych učiteľov a kmeňových učební Vezmeme teda naše tabuľky a ideme zistiť vzťahy

10 Ako na druhý krok? Základom je pýtať sa vždy z pohľadu oboch tabuliek
Vezmime si príklad Chceme určiť taký vzťah, aby sme vedeli určiť učebne a ich správcov. Správcom učebne je vždy učiteľ Vytvárame vzťah medzi tabuľkou Učiteľ a tabuľkou Učebňa Pýtame sa z jednej strany: Koľko učiteľov je správcom jednej učebne? Odpoveď je 1. Pýtame sa z druhej strany: Koľkým učebniam môže byť jeden učiteľ správcom? Odpoveď je viacerým (teda n učebniam)

11 Pravidlá pre vzťahy Vždy sa musíme pýtať z oboch strán!
Ak je v oboch otázkach odpoveď „jedna, jeden, jedno“ vzťah je 1:1 Ak je v jednej otázke odpoveď „jedna, jeden, jedno“ a v druhej „n“ vzťah je 1:n Ak je v oboch otázkach odpoveď „n“ vzťah je m:n

12 Po druhom kroku Učiteľ : Trieda 1 : 1
1 : 1 Je vzťah, ktorý priraďuje učiteľa k triede a tým z neho vytvára triedneho učiteľa Učiteľ : Učebňa 1 : n Je vzťah, ktorý priraďuje učiteľa k učebni a tým z neho vytvára správcu učebne Trieda : Učebňa 1 : 1 Je vzťah, ktorý priraďuje učebňu k triede a tým z nej vytvára kmeňovú učebňu triedy Učiteľ : Predmet m : n Je vzťah, ktorý priraďuje učiteľa k predmetu a tým z neho vytvára vyučujúceho daného predmetu

13 Načo nám to bolo treba? Po tomto druhom kroku vieme, aké vzťahy „panujú“ medzi tabuľkami Tento krok bol dôležitý na to, aby sme si vedeli do tabuliek vložiť cudzie kľúče (FK), prípadne vytvoriť novú tabuľku, ak máme vzťah m:n Ja teraz „vypotím“ nejaké cudzie kľúče, ale nie z brucha – pravidlá tzv. exportu kľúčov máte popísané v nasledujúcej prezentácii o modelovaní databáz

14 Pred tretím krokom Učebňa Trieda Predmet - Učiteľ Predmet Učiteľ
ID učebňa (PK) Číslo učebne Poschodie Trakt Počet miest ID učiteľ (FK) Trieda ID trieda (PK) Označenie Počet žiakov Popis ID učiteľ (FK) ID učebňa (FK) Predmet - Učiteľ ID predmet (PK, FK) ID učiteľ (PK, FK) Predmet ID predmet (PK) Názov Skratka Popis Učiteľ ID učiteľ (PK) Meno Priezvisko Dátum narodenia Ulica PSČ Mesto

15 Tretí krok V treťom kroku priradíme jednotlivým stĺpcom dátové typy
Pre primárny kľúč budeme používať vždy dátový typ INTEGER Nepýtajte sa prečo. Robí sa to proste tak a má to svoje dôvody. Ak to chcete vedieť tak si prečítajte prezentáciu o normalizácii

16 Po treťom kroku Učebňa ID učebňa (PK) - INTEGER Číslo učebne - VARCHAR
Poschodie - INTEGER Trakt - VARCHAR Počet miest - INTEGER ID učiteľ (FK) - INTEGER Trieda ID trieda (PK) - INTEGER Označenie - VARCHAR Počet žiakov - INTEGER Popis - TEXT ID učiteľ (FK) - INTEGER ID učebňa (FK) - INTEGER Predmet ID predmet (PK) - INTEGER Názov - VARCHAR Skratka - VARCHAR Popis - TEXT Učiteľ ID učiteľ (PK) - INTEGER Meno - VARCHAR Priezvisko - VARCHAR Dátum narodenia - DATE Ulica - VARCHAR PSČ - VARCHAR Mesto - VARCHAR Predmet - Učiteľ ID predmet (PK, FK) - INTEGER ID učiteľ (PK, FK) - INTEGER

17 A čo sme získali týmto? Týmto krokom sme si určili aký typ dát sa bude v danom stĺpci nachádzať Inteligentné DBS nám po zvolení dátového typu zaistia pri vkladaní údajov doménovú integritu a teda kontrolu, či sme vložili do daného „políčka“ správny údaj (dátum, číslo, znaky, ...)

18 Štvrtý krok V tomto kroku nám už len zostáva pozrieť sa, či sa nám v tabuľke nevyskytujú nejaké nadbytočné dáta Ak áno, treba z týchto dát vytvoriť novú tabuľku a s pôvodnou tabuľkou ju previazať cudzím kľúčom

19 Máme tam také údaje? Máme a kto to nevidí, tak je na to jednoduchý liek a to: Zájsť k očnému, alebo Vložiť do tabuľky zopár desiatok údajov a zistiť, ktoré údaje sa opakujú V našom prípade to budú údaje o meste a PSČ a teda z nich vytvoríme novú tabuľku s názvom Mesto a prevedieme ju všetkými doterajšími krokmi

20 Po štvrtom kroku Učebňa ID učebňa (PK) - INTEGER
Číslo učebne - VARCHAR Poschodie - INTEGER Trakt - VARCHAR Počet miest - INTEGER ID učiteľ (FK) - INTEGER Trieda ID trieda (PK) - INTEGER Označenie - VARCHAR Počet žiakov - INTEGER Popis - TEXT ID učiteľ (FK) - INTEGER ID učebňa (FK) - INTEGER Učiteľ ID učiteľ (PK) - INTEGER Meno - VARCHAR Priezvisko - VARCHAR Dátum narodenia - DATE Ulica - VARCHAR ID Mesto - INTEGER Predmet ID predmet (PK) - INTEGER Názov - VARCHAR Skratka - VARCHAR Popis - TEXT Mesto ID mesto (PK) - INTEGER Názov – VARCHAR PSČ – VARCHAR (alebo INTEGER) Predmet - Učiteľ ID predmet (PK, FK) - INTEGER ID učiteľ (PK, FK) - INTEGER

21 HOTOVO ETO VSJO


Stáhnout ppt "alebo ako vytvoriť dobrú databázu (rečou normálneho človeka)"

Podobné prezentace


Reklamy Google