Výpis souhrnů
Databáze
Podtémata
Databáze slouží ke strukturovanému ukládání informací a mají dnes široké použití. Nejrozšířenějším typem databází jsou relační databáze, ve kterých se data ukládají v podobě tabulek.
Pro práci s databázemi se používají dotazovací jazyky (query languages). Tyto jazyky obvykle umožňují nejen databáze vytvářet a modifikovat, ale především v nich vyhledávat informace. Velmi často se používá jazyk SQL.
- Základy SQL – tvorba tabulek, vkládání a aktualizování záznamů, jednoduché vyhledávání
- Select – příkaz pro vyhledání informací v databázi
Použití databází
Databáze slouží ke strukturovanému ukládání informací. Jako uživatelé se s nimi běžně nesetkáme, existují však na pozadí mnoha webových stránek a služeb, které využíváme. Typickou databázi si můžeme představit jako několik popropojovaných tabulek s pojmenovanými sloupci, takzvanými atributy, kde řádky jsou jednotlivé záznamy.
Vlastnosti databází
Data v databázi musí být snadno vyhledatelná. Také je žádoucí, aby bylo možné nová data snadno přidávat a měnit. Protože se v databázích často ukládají i citlivá data, pro zajištění bezpečnosti uložených informací se databáze obvykle šifrují. Pro zvýšení bezpečnosti je často možné vynutit vlastnosti dat vkládaných do databáze; například jednotlivým sloupcům bývají přiřazeny datové typy, tedy informace, zda se jedná například o číslo nebo řetězec omezené délky.
Práce s databázemi
Pro vytváření a práci s databází se v praxi obvykle používá databázový software, například MySQL nebo Microsoft Access, se kterým se pracuje pomocí speciálního dotazovacího jazyka SQL.
Často je potřeba provést více než jednu operaci na databázi, například odečíst peníze z jednoho účtu a přičíst je na jiný. Případu, kdy je nezbytné, aby se buďto provedly všechny změny anebo žádná, říkáme transakce.
NahoruRelační databáze
Aby se v databázích dalo snadno vyhledávat a rozšiřovat je, používají se různé databázové architektury, které nám toto umožní.
Nejrozšířenějším typem jsou relační databáze. Data se zde ukládají v tabulkách. Jednotlivé záznamy jsou uloženy v řádcích tabulky a každý záznam odpovídá jedné entitě (například konkrétní osobě, věci apod.). Sloupce tabulky odpovídají atributům, tedy jednotlivým vlastnostem záznamů. V hlavičce tabulky najdeme názvy jednotlivých atributů a někdy i jejich datové typy, tedy omezení na hodnoty, které je možné do daného pole ukládat. Příkladem datového typu je int, který značí celé číslo, nebo char[20], který značí textový řetězec z maximálně 20 znaků.
Vyhledávání v tabulce nám zjednodušují kandidátní klíče — skupiny atributů, které jednoznačně identifikují a odliší každý záznam v tabulce. Z kandidátních klíčů se pro každou tabulku vybírá jeden primární klíč. Jedna relační databáze se obvykle skládá z většího množství tabulek, které mezi sebou můžeme propojovat pomocí primárních klíčů a vyhledávat tak odpovědi na složitější dotazy o našich datech. Primární klíč jedné tabulky použítý v jiné tabulce se v jejím kontextu nazývá cizí klíč.
Existují i další hojně používané typy databází. V posledních letech se rozšiřují možnosti ukládat nestrukturovaná data, například NoSQL databáze.
NahoruSQL: základy
Příklady použití příkazů jazyka SQL
CREATE TABLE fish(name varchar(80), age int)Vytvoří tabulku s názvem fish a atributy name typu varchar(80) a age typu int.
DROP TABLE fishOdstraní celou tabulku fish.
INSERT INTO fish VALUES ('Julie', 1, 'neonka červená')Přidá do tabulky fish nový záznam o rybě Julii.
DELETE FROM fish WHERE name = 'Alice'Odstraní záznam o rybě jménem Alice. Pomocí WHERE můžeme definovat různé podmínky výběru záznamů.
UPDATE fish SET age = 0Nastaví věk všech ryb na 0. Přidáním WHERE můžeme omezit záznamy, které upravíme.
SELECT name FROM fish WHERE age = 7Zobrazí jména všech ryb, kterým je 7 let.
Všechny příkazy kromě SELECT nějakým způsobem modifikují tabulky, SELECT obsah databáze nijak nemění a pouze vrací informace v podobě tabulky. SQL příkazy se dají nejen řetězit, ale i kombinovat do sebe; například je možné volat SQL příkaz na tabulce vrácené příkazem SELECT.
Entitně-vztahové modely
Entitně-vztahové modely (diagramy) pomáhají znázorňovat a zpřehledňovat vztahy a vlastnosti mezi objekty. Používají je například databázoví architekti, aby naplánovali, jak bude vypadat jejich databáze. Diagramy jsou ale poměrně jednoduché, takže si s nimi můžeme pohrát i my.
V entitně-vztahovém modelu se vyskytují tři typy prvků:
- Entity představují objekty. Mohou existovat samostatně, nezávisle na ostatních objektech, a mají vlastnosti (atributy). V diagramu se zakreslují do obdélníků.
- Vztahy (relace) propojují entity. Zakreslují se jako diamanty, které jsou spojené čarou s danými entitami.
- Atributy (vlastnosti) patří jednotlivým entitám. Typicky nemají smysl bez entity, které patří – nemohou existovat samostatně. Znázorňují se jako elipsy spojené s danou entitou.
Jednoduchý diagram může vypadat například takto:
Rozebraný příklad: význam diagramu
- Uživatelé sociální sítě mohou zveřejňovat příspěvky a mají určitý počet sledujících.
- Uživatelé a příspěvky jsou entity.
- Jsou propojené vztahem, jehož název říká, jak spolu tyto dvě entity souvisí (uživatel zveřejňuje příspěvek).
- Počet sledujících je atribut uživatele.
Vztahy mohou mít různé četnosti. Četnosti vyjadřují, s kolika entitami může být každá strana v daném vztahu. Uvažme zmíněný příklad sociální sítě. Jeden uživatel může zveřejnit více příspěvků. Ale každý příspěvek je zveřejněn pouze jedním uživatelem. Proto je četnost vztahu „zveřejňuje“ 1 uživatel – více příspěvků. Naproti tomu, pokud bychom mluvili o vztahu „uživateli se líbí příspěvek“, byla by četnost více uživatelů – více příspěvků. To proto, že jednomu uživateli se může líbit více příspěvků, a jeden příspěvek může být „olajkován“ více uživateli.
Kromě entitně-vztahových modelů můžeme vztahy mezi objekty znázorňovat například i pomocí grafů. Pro znázornění postupného běhu programu se naopak používají vývojové diagramy.
Nahoru