DBS otázka 1

Beschreibung

Zdroje: edux, prednasky z VUT v Brne
Martin Pavlík
Mindmap von Martin Pavlík, aktualisiert more than 1 year ago
Martin Pavlík
Erstellt von Martin Pavlík vor mehr als 10 Jahre
61
0

Zusammenfassung der Ressource

DBS otázka 1

Anmerkungen:

  • Datové modely: konceptuální datový model, databázové modely, fyzický pohled na data. Relační model, relace, normální formy, transakční zpracování (vlastnosti transakcí - ACID).
  • Mnohem lepší než ten bordel na eduxu v přednáškách je: www.fit.vutbr.cz/study/courses/DSI/public/pdf/nove/1_uvod.pdf
  1. Datové modely

    Anmerkungen:

    • Kolekce konceptuálních nástrojů pro popis objektů reality. Snaží se reprezentovat data, vztahy mezi realnými objekty, sémantiku a integritní omezení.
    1. Konceptuální model

      Anmerkungen:

      • Zabývá se modelováním reality, není ovlivněn budoucím prostředkem řešení. Modelován v ER modelu nebo UML class diagramech.
      • Orientace na entity (třídy) a vztahy (asociace) mezi nimi.
      • Popis reality ne realizace v konkretnim db stroji.
      • Pokud se v modelu objeví cizí klíče, jedná se o grafickou podobu relačního modelu
      1. Výhody

        Anmerkungen:

        • Společné chápání objektů aplikace uživateli a návrháři. Výsledek je vstupem pro realizaci databáze. Slouží jako dokumentace (zrychluje orientaci ve velkých DB).
        1. Nevytvoření

          Anmerkungen:

          • Nízká úroveň pohledu na data, což vede k obtížné komunikaci se zákazníkem a nemožnosti zrealizovat větší databázi. V rozsáhlých DB je obtížné se zorientovat.
          1. Entity (třídy)
            1. Slabá entita (identifikační závislost)

              Anmerkungen:

              • Entita je identifikovaná částečně nebo plně vtahem k jiné entitě. Například Blok (např. A) a Pokoj (105). Pokoj je slabou entitou Bloku (k jeho identifikaci používáme entitu Blok).
              • Omezení: slabá entita může mít vztah pouze s max jednou entitou, která jí identifikuje. Tzn Pokoj 105 nemůže být zároveň v Bloku A a v Bloku B... Každá osoba může mít maximálně 1 profil...
            2. Vztahy (asociace)
              1. Kardinalita

                Anmerkungen:

                • 1:1, 1:N, M:N
                1. Účast

                  Anmerkungen:

                  • Povinná / Nepovinná
                  1. Dekompozice

                    Anmerkungen:

                    • Každý vztah M:N můžeme dekomponovat na dva vztahy 1:N
                    • vložíme silnou entitu nebo použijeme slabou entitu (identifikační závislost) ((je si to dost podobné, ale ve druhém vztahu nemá nově vzniklá slabá entita PK(je identifikována původními dvěmi) - Kino může hrát film pouze jednou))
                    1. Rekurzivní vztah

                      Anmerkungen:

                      • Vyjádření vztahu mezi zástupci té samé entity (rodič a potomek..)
                      1. ISA hiearchie

                        Anmerkungen:

                        • z anglického is a, např: Jednotka - byt nebonebytový prostor. Nevhodné pro role, výhodnější je použití slabé entity..
                    2. Databázový model

                      Anmerkungen:

                      • Definují podobu dat v databázi (vztahy mezi nimi..) tzn určují strukturu dat v databázi)
                      1. Relační model

                        Anmerkungen:

                        • Rozšiřuje konceptuální model o cizí klíče, splňuje 1NF, relace mají unikátní n-tice (neobsahují duplicitní řádky) (relace = tabulka). 
                        • Vyhodnocení dotazu nezáleží na fyzickém uložení dat
                        • Silné prostředky pro dotazování - relacni algebra, relacni kalkul, formální abstrakce textových souborů, slouží pro posouzení kvality relačního schématu
                        • Standardizován pomocí SQL (Structured Query Language)
                        1. Relace

                          Anmerkungen:

                          • Nezáleží na pořadí n-tic, neobsahují duplicitní záznamy, relace = nepřesně řečeno tabulka, prvek relace (n-tice) = řádek této tabulky
                          • Relace = tabulka, Schéma relace = záhlaví tabulky, Atribut = sloupec, Prvek relace (n-tice) = řádek,
                          1. n-tice

                            Anmerkungen:

                            • jeden záznam, prvek relace, řádek v tabulce
                            1. domény atributů, značeno dom(A)

                              Anmerkungen:

                              • datový typ atributu?
                              1. Schéma relace R(A)

                                Anmerkungen:

                                • R(A1:D1, A2:D2) kde A1 je prvni atribut a D1 je jeho doména, R je relace, zkráceně R(A)
                                • Něco jako záhlaví tabulky
                                1. Schéma relační db (R, I)

                                  Anmerkungen:

                                  • Schéma relařní databáze je množina relací a integritních omezení. Tzn. (R, I), kde R náleží R1, R2... Rn) a I je množina integritních omezení
                                  • Např. schéma databáze s rozvrhem předmětů: Rozvrh(Přednáška, Učitel, Místnost...) a slovně popsané IO
                                  1. Klíč schématu

                                    Anmerkungen:

                                    • Klíč K schématu R(A) je podmnožina atributů z A, která jednoznačně určí každou n-tici relace R
                                    1. MInimalnost klice

                                      Anmerkungen:

                                      • Neexistuje K' ktere je podmnozinou K a pri tom jednoznacne urcuje kazdou n-tici relace R
                                      1. Podklíč

                                        Anmerkungen:

                                        • Pokud se klíč skládá z více atributů, podklíč je každý z těchto atributů.
                                        1. Neklíčový atribut

                                          Anmerkungen:

                                          • Atribut, který není podklíčem nebo klíčem dané relace.
                                  2. Dotaz

                                    Anmerkungen:

                                    • Dotaz nad schématem S je výraz, který vrací odpověď se schématem T. Def. obor =  všechna uložiště se schématem S Obor hodnot = všechny relace se schématem T Data odpovědi pocházejí z databáze Odpoved nezavisi na fyzickem ulozeni dat
                                  3. Síťový model

                                    Anmerkungen:

                                    • Množina záznamů (síť), vztahy pojmenovány, konec 60. let
                                    1. Hiearchický model

                                      Anmerkungen:

                                      • Data v hiearchické struktuře (strom), vznik v 60. letech min. století)
                                      1. OO model
                                        1. Objektově relační model
                                      2. Fyzický pohled na data

                                        Anmerkungen:

                                        • http://www.fit.vutbr.cz/study/courses/DSI/public/pdf/nove/6_fyzurDBS.pdf
                                        1. Uspořádání souborů

                                          Anmerkungen:

                                          • Soubor: posloupnost záznamů seskupovaných do bloků tvořících logický celek
                                          1. Neuspořádaný soubor (HEAP)

                                            Anmerkungen:

                                            • Neuspořádanost záznamů, záznam se uloží tam, kde je zrovna místo.
                                            1. Hashovaný soubor

                                              Anmerkungen:

                                              • Záznamy jsou umisťovánay do bloků na základě hashovaci funkce
                                              1. Sekvenční soubor (CLUSTER)

                                                Anmerkungen:

                                                • Logicky podobné záznamy se ukládájí relativně blízko sebe. Klíč pro shlukování se nazývá cluster key (pokud neni použito shlukování clustering, tak se klíči říká jen search key)
                                              2. Indexování

                                                Anmerkungen:

                                                • Indexy slouží pro rychlejší vyhledávání dat v databázi. Indexovací struktury většinou odkazují na ID řádku (ROWID), kde se data nacházejí. (tzn klíč)
                                                1. B strom řádu m

                                                  Anmerkungen:

                                                  • Kořen min 2 potomky, pokud není listem. Každý uzel mimo kořene a listu má min m/2 potomků a max m potomků. Každý uzel má nejméně m/2 a nejvíce m-1 záznamů (většinou jen klíčů) Všechny cesty jsou ve stromu stejně dlouhé
                                                  1. Bitmapové indexy
                                                2. Pojmy
                                                  1. DBMS / SŘBD

                                                    Anmerkungen:

                                                    • DataBase Management System // Systém řízení bází dat Programová vrstva, která řídí operace nad databází a poskytuje API.
                                                    1. RDBMS - relational
                                                      1. ODBMS - object
                                                        1. ORDBMS - object-relational
                                                        2. DB

                                                          Anmerkungen:

                                                          • Množina strukturovaných perzistentních dat. DB je nezávislá na programu
                                                          1. Velké množství dat
                                                            1. Perzistence

                                                              Anmerkungen:

                                                              • Data přetrvávají od zpracování ke zpracování.
                                                              1. Spolehlivost

                                                                Anmerkungen:

                                                                • Data lze rekonstruovat po chybe (zalohovani)
                                                                1. Sdílení

                                                                  Anmerkungen:

                                                                  • Data sdílena mezi více uživateli, možnost nastavení práv. Možnost práce více uživatelů najednou.
                                                                  1. DDL - data definition language

                                                                    Anmerkungen:

                                                                    • Jazyk pro definici dat (např. logické a fyzické schéma) - tzn definuje data, která budou v DB uložena
                                                                    1. Datový slovník

                                                                      Anmerkungen:

                                                                      • Obsahuje metadata(data o datech)
                                                                    2. DML - data manipulation language

                                                                      Anmerkungen:

                                                                      • Jazyk pro manipulaci s daty tzn update, insert...
                                                                      1. TCL - transfaction control language

                                                                        Anmerkungen:

                                                                        • jazyk pro řízení transakcí
                                                                        1. DCL - data control language

                                                                          Anmerkungen:

                                                                          • jazyk pro definici přístupových práv k datům
                                                                          1. Dotaz (query)

                                                                            Anmerkungen:

                                                                            • Požadavek v dotazovacím jazyku.
                                                                            1. Výsledek dotazu

                                                                              Anmerkungen:

                                                                              • Odpoved v podobe datove struktury
                                                                              1. Dotazovací jazyk

                                                                                Anmerkungen:

                                                                                • Množina všech výrazů pro konstrukci dotazu
                                                                              2. Integritní Omezení (IO)

                                                                                Anmerkungen:

                                                                                • IO jsou tvrzení, které určují, jaká data v databázi mohou být a jaká ne.
                                                                                1. Integrita dat

                                                                                  Anmerkungen:

                                                                                  • Správnost dat z hlediska jejich IO, například věk člověka nesmí být záporné číslo.
                                                                                2. Persistentní data

                                                                                  Anmerkungen:

                                                                                  • Data, která svou životností přesahují dobu běhu aplikačního programu či vypnutí počítače.
                                                                                  1. Schéma DB

                                                                                    Anmerkungen:

                                                                                    • Odráží použitý DB model, popisuje strukturu dat v databázi.
                                                                                  2. DBS = DB + DBMS

                                                                                    Anmerkungen:

                                                                                    • Hlavní úloha: abstrakce pohledu na data, uživatel nemusí řešit, kde a jak jsou uloženy...
                                                                                  3. Normalizace

                                                                                    Anmerkungen:

                                                                                    • Dva přístupy:  normalizační teorie, z konceptuálního modelu. Převod konceptuálního modelu do relačního nemusí nutně vést k vytvoření normalizovaného relačního schématu
                                                                                    • Normalizace se provádí DOKOMPOZICÍ. Tzn. schéma R(U,F) převedeme na schéma {R(U), R(F)}
                                                                                    • Výsledné schéma by mělo mít stejnou sémantiku. Nové relace by měly obsahovat stejná data, jako před změnou.
                                                                                    1. Proč normalizovat
                                                                                      1. Redundance
                                                                                        1. Aktualizační anomálie

                                                                                          Anmerkungen:

                                                                                          • Změníme li jednu věc, musíme jí změnit vícekrát (vyřeší např. normalizace dekompozicí).  Můžeme přijít o některé informace (např adresa Kina, kdybychom měli Program(jmeno_f, nazev_k, adresa_k) atd.
                                                                                        2. Funkční závislost (FZ)

                                                                                          Anmerkungen:

                                                                                          • Neformálně:  NAPŘ: Ke každému kinu existuje maximálně 1 adresa. Zapíšeme jako: NAZEV_K -> ADRESA Pro každou dvojici kino film existuje max jedno datum, kdy má dané kino film na programu. (NAZEV_K, JMENO_F)  -> DATUM
                                                                                          • FZ vyjadřují IO (integritní omezení). Je vhodné si jendotlivé atributy zkracovat.
                                                                                          • PS -> Z PS -> Y ==> PS->ZY --------------- PS -> S platí vždy
                                                                                          • Sada Funk. zavilosti: F = {AB->X, X->Z, C->A}
                                                                                          1. Armstrongova pravidla
                                                                                            1. triviální funkční závislosti (FZ1)

                                                                                              Anmerkungen:

                                                                                              • Pokud Y náleží do X, poté X -> Y
                                                                                              1. Tranzitivita

                                                                                                Anmerkungen:

                                                                                                • Jestli ze X -> Y a Y -> Z, pak X->Z
                                                                                                1. Kompozice prave strany

                                                                                                  Anmerkungen:

                                                                                                  • Jestlize X -> A a X -> B, pak X -> AB
                                                                                                  1. Dekompozice prave strany

                                                                                                    Anmerkungen:

                                                                                                    • Jestlize X->AB, pak X->A a X->B
                                                                                                  2. Nalezení klíče
                                                                                                    1. Tranzitivní uzávěr množiny atributů

                                                                                                      Anmerkungen:

                                                                                                      • Tranzitivní uzávěr je množiny atributů X+ vzhledem k množině funkčních závislostí F jsou všechy atributy, které jsou závislé na X.
                                                                                                      • např:  P -> U, PU->X P+ = {P, U, X}
                                                                                                    2. 2NF
                                                                                                      1. 3NF

                                                                                                        Anmerkungen:

                                                                                                        • Ríkáme, že schéma relace R je ve 3. normální formě (3NF), jestliže každý neklíčový atribut schématu R není tranzitivně závislý na žádném klíči schématu. (tzn. přímo závislý může být)  Tranz. závislý je třeba C když X -> Y -> C, C je tedy tranz. zavisle na X
                                                                                                        • Pokud relace nemá neklíčový atribut, je v 3NF!
                                                                                                        1. Boyce-Codova normální forma (BCNF)

                                                                                                          Anmerkungen:

                                                                                                          • Ríkáme, že schéma relace R je v Boyce - Coddove normální forme (BCNF), jestliže pro každou netriviální  závislost X -> Y platí, že X obsahuje klíč schématu R. Netriviální závislost chápu tak, že X se musí skládat z více atributů.
                                                                                                          • Každé schéma v BCNF je zároveň ve 3NF, obráceně to neplatí. Máli schéma jen jednoduché klíče nebo jediný klíč, pak platí, že jeli ve 3NF je i ve BCNF
                                                                                                        2. Transakční zpracování

                                                                                                          Anmerkungen:

                                                                                                          • Dva základní požadavky na DBMS: chránit data (zotavení po havárii) a poskytnout korektní, rychlý a asynchroní přístup pro více uživatelů.
                                                                                                          1. Řízení souběžného zpracování

                                                                                                            Anmerkungen:

                                                                                                            • Zajišťuje, že každý uživatel přistupuje ke konzistentnímu stavu databáze. Tzn. i asynchroně se dostávájí k těm samým datům v ten samý čas.
                                                                                                            1. Zotavení z chyb

                                                                                                              Anmerkungen:

                                                                                                              • Chyba software, programu nebo fyzického uložení dat během transakce nesmí vést k nekonzistenci databáze.
                                                                                                              1. Globální chyby
                                                                                                                1. Výpadek serveru (ztráta cache)
                                                                                                                  1. Výpadek komunikace server klient
                                                                                                                    1. Chyby médií (výpadek disku)
                                                                                                                    2. Logické chyby
                                                                                                                      1. Nechtěný výsledek transakce (špatný update, delete..)
                                                                                                                      2. Po pádu
                                                                                                                        1. Roll forward

                                                                                                                          Anmerkungen:

                                                                                                                          • Obnovení paměti ze žurnálu, dokončení transakcí, které byly potvrzeny, ale nebyly provedeny (např. zápis na disk)
                                                                                                                          1. Rollback

                                                                                                                            Anmerkungen:

                                                                                                                            • Odvolání všech transakcí, které nebyly v době pádu dokončeny.
                                                                                                                      3. Transakce

                                                                                                                        Anmerkungen:

                                                                                                                        • Programová jednotka a mechanizmy, které zajistí, že po skončení akce zůstane databáze v konzistentím stavu (i když skončí chybou)
                                                                                                                        • Během zpracovávání transakce může být databáze dočasně v nekonzistentním stavu.
                                                                                                                        1. Konec transkace
                                                                                                                          1. Explicitní
                                                                                                                            1. Commit (potvrzení)
                                                                                                                              1. Rollback (zrušení)
                                                                                                                              2. Implicitní
                                                                                                                                1. Ukonení session
                                                                                                                                  1. Autocommit on
                                                                                                                                2. Začátek transakce
                                                                                                                                  1. Konec předchozí
                                                                                                                                    1. Zahájení session
                                                                                                                                    2. Stavový diagram transakce
                                                                                                                                      1. Vlastností transkací (ACID)
                                                                                                                                        1. Atomicity - bud probehne transakce celá nebo vůbec
                                                                                                                                          1. Consistency - transakce transformuje db z konzist stavu opet do konzist stavu
                                                                                                                                            1. Independency - dílčí operace jedné transkace nejsou viditelné ostatním transakcím
                                                                                                                                              1. Durability - trvanlivost - efekty úspešné transakce jsou trvale uloženy (persist)
                                                                                                                                              2. Rozvrh

                                                                                                                                                Anmerkungen:

                                                                                                                                                • Stará se o něj rozvrhovač, nemělo by docházet k tomu, že si 2 transakce mění data pod rukama.
                                                                                                                                                1. Konfliktní operace

                                                                                                                                                  Anmerkungen:

                                                                                                                                                  • Různé pořadí sériového volání poskytne jiné výsledky
                                                                                                                                            Zusammenfassung anzeigen Zusammenfassung ausblenden

                                                                                                                                            ähnlicher Inhalt

                                                                                                                                            LB A, Kapitel 1.2, Firmierung
                                                                                                                                            Stefan Kurtenbach
                                                                                                                                            1848 Märzrevolution
                                                                                                                                            Markus Grass
                                                                                                                                            Einstufungstest Italienisch Niveau A2.2
                                                                                                                                            SprachschuleAktiv
                                                                                                                                            Modul 2D FernUni Hagen Beck
                                                                                                                                            Anni T-Pünktchen
                                                                                                                                            Unsere Erde - Sonnensystem, Klima, Erdschichten etc.
                                                                                                                                            rezension1
                                                                                                                                            Wichtige Fälle/ Patienten aus der Allgemeinen Psychologie (ALPS)
                                                                                                                                            Caroline X
                                                                                                                                            Grundzüge Soziologischer Theorien
                                                                                                                                            stelly Welly
                                                                                                                                            PR 2018/19 GESKO VO 7-12
                                                                                                                                            Adrienne Tschaudi
                                                                                                                                            METH QUANTI SS 2019
                                                                                                                                            Caroline Hannah
                                                                                                                                            MS-4 Tutorium 25.11.-1.12.2019
                                                                                                                                            Lukas Imwalle
                                                                                                                                            Vetie - spez. Pathologie 2023
                                                                                                                                            Christopher Groß