DATABÁZOVÉ SYSTÉMY Flashcards

1
Q

NÁVRH DATABÁZE

A
  • Návrh databáze vychází z požadavků uživatele. Ty je nutné analyzovat a zjistit, která data má smysl udržovat - a která ne. Dáe v jakých datových strukturách a v jakých vztazích mezi sebou.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

NÁVRH DATABÁZE - Konceptuální model

A
  • „jak to bude fungovat“
    - Formální popis uživatelské aplikace
    - Je založen na chápání světa jako množiny základních objektů – entit a vztahů mezi nimi.
    - Nejvyšší úroveň abstrakce, grafický
    - Konceptuální modely řeší přesnější vyjádření vztahů ve světě objektů
    - konceptuální schéma popisuje objekty aplikace
    - Měli by mu rozumět i běžní uživatelé
    - Nezávislý na implementaci (DB)
    - Obsahuje pouze názvy a vazby
    - Podporuje diskusi a komunikaci
    Předchází chybám a nedorozumění
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

NÁVRH DATABÁZE - entity

A
  • Představují objekty/osoby/věci, o kterých je třeba uchovávat informace zaznamenávané podle skutečnosti
    - Pojmenování souboru několika podobných objektů
    - Lze přirovnat ke třídám objektů stejného typu:
    FILM, ZÁKAZNÍK, ZAMĚSTNANEC, ZVÍŘE
    Instance je poté jeden případ výskytu entity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

NÁVRH DATABÁZE - Atributy

A
  • Blíže popisují vlastnosti entit.
    □ Kvantifikují příslušnou entitu
    □ Kvalifikují příslušnou entitu
    □ Zařazují a přesňují příslušnou entitu
    - Je jím jedna hodnota určitého datového typu - např. věk od hodnot 0 do 120
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

NÁVRH DATABÁZE - Povinnost atributů

A
  • Povinné atributy se značí *
  • Volitelné atributy se značí o
  • Primární identifikátory se značí #
    Unikátní identifikátory se značí U
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

NÁVRH DATABÁZE - Maticové diagramy

A
  • Jde o metodu identifikaci vztahů mezi entitami
    Není u nich zaměřeno na násobnost či povinnost vazeb
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

NÁVRH DATABÁZE - Kardinalita

A
  • Určuje kolikrát se každá instance dané entity může učastnit specifikovaných vazeb
    Např. 1:1, 1:n, n:n
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

NÁVRH DATABÁZE - Integritní omezení (IO)

A
  • Vymezují korektnost databáze
    - Umožňují do výsledné databáze vkládat pouze data, která vyhovují předem definovaným kritériím
    - Základní omezení označuje možnost existence nedefinovaného stavu atributu - tedy NULL či NOT NULL
    - Další omezení lze zavést jako doplňující podmínku - CHECK
    - Kazdému atributu lze definovat klíč:
    □ PRIMARY KEY - Primární klíč
    □ UNIQUE - Unikátní
    □ REFERENCES - Cizí klíč
    Pojmenované omezení se uvádí jako CONSTRAINT jméno
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

NÁVRH DATABÁZE - Systém řízení báze dat (SŘBD)

A
  • Softwarový systém, umožňující definovat, vytvořit a řídit přístup do databáze.
    - Kolekce programů, které tvoří rozhraní mezi aplikačními programy a uloženými daty.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

ENTITNĚ-RELAČNÍ MODEL

A
  • Metoda datového modelování
    • Definuje způsob uložení dat v databázi
    • Data modelována tabulkami/relacemi
    • Přesně popisuje potřeby uchování dat
    • Orientovaný na objekty (entity a vztahy mezi nimi)
    • Neřeší implementaci
    • Pokrývá současné potřeby s možností dalšího rozvoje
    • Výsledkem je konceptuální schéma
    • Obsahuje názvy, vazby a atributy entit
    • Specifikuje atributy (povinné, volitelné, unikátní)
    • Specifikuje vazby
    • Obsahuje ERDish věty (jazyk, který popisuje vztahy mezi entitami ve slovním vyjádřením).

Vytváříme logické ERD, tak i fyzické ERD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

ENTITNĚ-RELAČNÍ MODEL - logický

A
  • Propracovanější konceptuální model
  • Obsahuje pouze entity, jejich atributy a klíče, a vazby mezi entitami
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

ENTITNĚ-RELAČNÍ MODEL - fyzický

A
  • Jde o implementaci logického ERD modelu v konkrétním databázovém systému
    Určuje, jakým způsobem jsou data uložena
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

NORMÁLNÍ FORMY

A
  • Normální formy jsou určitá pravidla, kterou slouží k uvedení databáze do “optimální” podoby.
  • Snahou normálních forem je co nejvíce redukovat redundanci.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

NORMÁLNÍ FORMY - 1. Normální forma

A
  • Všechny atributy jsou atomické (co nejvíce oddělené).
    • Např. Jméno a příjmení odděleně
    • Musíme se zde řídit, zda nějakou databázi chceme např. řadit dle nějakého atributu - např.:
      • Pokud chceme někomu jen poslat pohled, adresa může být jen v rámci jednoho atributu
      • Pokud budeme v nějaké databázi na základě adresy chtít zjistit, kdo všechno se nachází v Brně, bude již nutné adresu rozdělit.
        Většinou dodržení této normální formy vede k vytvoření nové entity:
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

NORMÁLNÍ FORMY - 2. Normální forma

A
  • Každý neklíčový atribut musí plně závislý na každém kandidním klíči.
    - Např. na obrázku níže je pouze číslo účtu závislé na kódu banky.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

NORMÁLNÍ FORMY - 3. Normální forma

A
  • Všechny neklíčové atributy musí být vzájemně nezávislé.
17
Q

DOTAZOVACÍ JAZYKY

A
  • Realizují výběr dat z databází
    • Umožňují ovládat databázi prostřednictvím dotazů
    • Vlastnosti dotazovacích jazyků:
      • Konstruován tak, aby ke každému výrazu jazyka bylo možné přiřadit dotaz
      • Konstruován tak, aby pomocí něho šlo vyjádřit jakýkoliv databázový dotaz
      • V dnešní době SQL, MongoDB, DMX, Dataloq …
18
Q

SQL A PROCEDURÁLNÍ ROZŠÍŘENÍ SQL

A
  • SQL - neboli Structured Query Language
    • Používán od 70. let
    • Používá se pro práci s relačními databázemi
    • Umožňují pracovat s data v databázích bez znalosti programovacího jazyka
    • Jde o deklarativní jazyk
    • Umožňují efektivně implementovat:
      • Správu databáze - příkazy pro definici dat
      • Správu dat
        Dotazování
19
Q

PL/SQL

A
  • Procedurální rozšíření SQL
    - Obsahuje triggery, funkce, procedury a kurzory
    - Základní stavební jednotkou je PL/SQL blok
    - Základní struktura:
    - DECLARE - deklarace konstant a proměnných
    - BEGIN - výkonné příkazy bloku
    - EXCEPTION - výkonné příkazy obsluh přerušení
    - END
    Podporuje komentáře
20
Q

PL/SQL - Procedury PL/SQL

A
  • Program, jehož příkazy jsou uloženy přímo v databázi
21
Q

PL/SQL - Triggery

A
  • Dá se popsat jako procedura spojená přímo st abulkou.
    - Volá se ve chvíli kdy je nad tabulkou zavolán příkaz INSERT, UPDATE nebo DELETE
    - BEFORE/AFTER - upřesňující klauzule, jež definují zda trigger procedura má být spuštěna před či po provedení aktivačního příkazu (insert, delete..)
22
Q

PL/SQL - Funkce

A
  • Vrací nějakou hodnotu
    Používá se přímo v příkazu
23
Q

PL/SQL - Kurzor

A

Ukazatel víceřádkový výběr

24
Q

TRANSAKCE, TRANSAKČNÍ PŘÍSTUP KE ZPRACOVÁNÍ DAT

A
  • Databázová transakce je skupina příkazů, které převedou databázi z jednoho konzistentního stavu do druhého
25
Q

TRANSAKCE, TRANSAKČNÍ PŘÍSTUP KE ZPRACOVÁNÍ DAT - Vlastnosti transakce

A
  • Atomicita – transakce je jako operace dále nedělitelná; buď se provede jako celek nebo se neprovede vůbec. Při neprovedení transakce vyskakuje chybová hláška.
    - Konzistence – není porušeno žádné integritní omezení; databáze zůstává i po vykonání transakce v konzistentní stavu
    - Izolovanost – operace uvnitř transakce jsou skryty před ostatními operacemi; transakce o sobě navzájem neví. Vrácením transakce není zasažena jiná transakce, jinak i tato musí být vrácena. V důsledku tohoto chování může dojít k tzv. řetězovému vrácení.
    - Trvalost – po úspěšném vykonání transakce jsou změny skutečně uloženy v databázi a nemohou být ztraceny
26
Q

TRANSAKCE, TRANSAKČNÍ PŘÍSTUP KE ZPRACOVÁNÍ DAT - Transakční operace:

A
  • START – označuje začátek transakce
  • COMMIT – označuje normální ukončení transakce - uložení změn
  • ABORT – označuje nenormální ukončení transakce, transakci je potřeba anulovat
    ROLLBACK - situaci se vrací do okamžiku před zahájením transakce

Aktivní – od počátku provádění transakce
Částečně potvrzený – po provedení poslední operace transakce, před COMMIT
Chybný – nelze pokračovat v normálním průběhu transakce - provede se ROLLBACK
Zrušený – po skončení operace ROLLBACK
Potvrzený – po úspěšném vykonání operace COMMIT

27
Q

TRANSAKCE, TRANSAKČNÍ PŘÍSTUP KE ZPRACOVÁNÍ DAT - Žurnály

A
  • Jde o záznamy provedených transakcí, jež slouží k navrácení databáze do původního stavu kvůli vzniklé chybě
28
Q

VÝVOJ DATABÁZOVÝCH APLIKACÍ

A
  1. Na začátku využítí pouze papírových kartoték, jež lidmi byly uspořádány dle kritérií
    1. Zpracování dat převedeno na stroje - paměťové médium děrný štítek
      1. Léta 20. století - s rozmachem počítačů ývoj prvních databází
    2. 1959 - COBOL pro hromadné zpracování dat
    3. 1974 - první verze SQL
    4. V dnešní době noSQL databáze jako např. MongoDB. Ta nevyžaduje jakékoliv schéma a ukládá jakýkoliv typ dat. Umožňoje to uživateli obrovskou flexibilitu.