Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Databázové systémy

Mgr. Tomáš Princ


2022
Výuka

Telefony a ostatní zařízení vypnout

Studenti vykonávají pouze činnosti nařízené pedagogem

Bezpečnost, provozní řád

Hodnocení
– Písemné zkoušení
– Ústní zkoušení
– Domácí úkoly
– Seminární práce

Přednášky – pondělí, 14:25, A307

Cvičení – čtvrtek, 13:40, D006, sraz před budovou
Obsah

Návrh relačních databázových systémů

SQL

Bezpečnost

Správa databáze

NoSQL
Databáze

Databáze (neboli datová základna)
– Je uspořádaná množina dat. Data jsou vzájemně logicky propojena.

Data
– Údaje získané měřením nebo pozorováním

obrazem reality a dějů v ní probíhajících
– Z dat a vztahů mezi nimi získáváme informace

Příklad data vs informace
– Data: Karel Novák, informační technologie, 32500
– Doplníme kontext: jméno, oddělení, plat
Databáze

Databázový objekt
– pojmenovaná datová struktura uložená v databázi = tabulka

Databázový model
– Způsob uložení dat v databázi

Soubor
– kolekce příbuzných záznamů uložených v operačním systému do
jedné společné struktury
DBMS

DataBase Management System (Systém pro řízení báze dat - SŘBD)
– zajišťuje práci s databází, tzn. tvoří rozhraní mezi aplikačními programy a uloženými
daty a také poskytuje veškeré služby pro správu a údržbu databáze

Občas se pojem zaměňuje s pojmem databázový systém. Termín Databázový systém jako celek
je považován DBMS dohromady s datovou základnou.
– Služby

Ukládání dat do souborů (na disk, do paměti)

Správa souběžných přístupů k datům a zabránění konfliktním přístupům

Transakční zpracování dat – pokud dojde uvnitř dávky příkazů k chybě je celá dávka odmítnuta

Dotazovací jazyk

Zálohování dat

Ochrana dat před neoprávněným přístupem
Datová abstrakce
Historie

Potřeba ukládat data s příchodem počítačů

Zpracování dat pomocí strojového kódu přestalo vyhovovat

1959 – požadavek na vznik univerzálního databázového jazyka

1960 – COBOL

1960 – 1970 hierarchické a síťové databáze

1970 – Návrh relační databáze

1973 – Ingres – jazyk QUEL

1974 – SQL

1978, 1979 – IBM Db2, Oracle Database

1990 – Objektově relační databáze

2000 – NoSQL, NewSQL databáze

2008 – Blockchain
Databázové modely

Databázový model
– Způsob uložení dat v databázi
Databázové modely

Flat file
– Uložení dat do souboru bez informací o struktuře dat
– Organizaci dat zajišťuje samotná aplikace
Databázové modely

Hierarchický model
– Jeden soubor = jeden typ dat (tzv. node)
– Nody spojeny ukazateli – ten říkal která data jsou v jakém souboru
– Vazba 1:N (na každý node mohl odkazovat jen jeden pointer z
rodiče)
Databázové modely

Síťový model
– Přidává pojmenování vztahů mezi entitami
– Procházení databáze = nacházení cesty k požadovaným datům
Databázové modely

Síťový model
Databázové modely

Relační model
– Edgar Codd
– Data jsou uložena v dvourozměrných tabulkách, propojených prostřednictvím samotných dat

ACID (atomicity, consistency, isolation, durability)
– Atomicita

operace se provede buď celá, nebo vůbec – tedy výsledkem nebude žádný nedefinovaný mezistav.
– Konzistence

transakce nesmí narušit databázovou integritu
– Izolace

současně probíhající transakce se nesmí ovlivnit.
– Trvalost

pokud je transakce dokončena, znamená to, že je zaznamenána trvalým způsobem, takže ji nevymaže například následný výpadek napájení.

Databázová transakce
– skupina příkazů, které převedou databázi z jednoho konzistentního stavu do druhého
Databázové modely

Relační model
"key"
login first last
mark Samuel Clemens
lion Lion Kimbro
kitty Amber Straub
login phone
mark 555.555.5555
"related table"
Databázové modely

Objektový model
– Objektové databáze uchovávají komplexní data a vztahy mezi daty,
bez mapování vztahů řádků a sloupců, což je činí velmi pohodlnými
pro aplikaci, pracující s komplexními daty.
– Objekty mají relaci N:N a jsou přístupné přes ukazatele.
Databázové modely

Objektově relační model
– Kombinace relačního a objektového modelu

Rozšíření relačního modelu o objekty a konstrukty pro manipulaci nových
datových typů.

Zachovány jsou relační základy.

Kompatibilita s existujícími relačními jazyky.
Databázové modely
Přehled SQL DBMS

Microsoft Access (Microsoft JET)

Microsoft SQL Server

Oracle

Sybase

PostgreSQL
NoSQL

Na rozdíl od předchozích modelů nepoužívá tabulky

Struktura ukládání například stromová, grafová, klíč-hodnota

Konzistence nemusí být zaručena

Lze jednoduše škálovat

Různé operace mají výrazně odlišnou složitost

Vhodné pro velké objemy dat
Přehled NoSQL DBMS

MongoDB

CouchDB

Redis
Blockchain

Blockchain
– Distribuovaná decentralizovaná databáze
– Záznamy pouze přibývají
– Chráněny proti neoprávněnému zásahu jak z vnější strany, tak i ze
strany samotných uzlů
– Příklad: účetní kniha
This work is licensed under a Creative Commons
Attribution-ShareAlike 3.0 Unported License.
It makes use of the works of Mateus Machado Luna.

You might also like