Jedná se o tabulkový systém databáze, který při správném návrhu zvládne miliardy záznamů.

Zástupci tohoto typu databáze jsou: MS Access, SQL Server, MySQL, …

<aside> ⚠️ Nikdy nezapomínejte na bezpečnost!

</aside>

Pro jednoduchou práci a zkoušení se základních vlastností databází je možné využit některé Online nástroje, například: https://www.programiz.com/sql/online-compiler/ - Tento nástroj používá SQLite, takže ne vše co je níže popsáno musí zde fungovat stejně jako třeba na MySQL nebo MS-SQL

Kde se píše jazyk SQL

Tento jazyk ostatně jako všechny ostatní jazyky se píše v IDE (Integrated development environment). Ovšem nic nebrání ničemu psát kód uvnitř textového editoru jako je třeba Notapad (Windows), TextEdit (Mac), Vim (Linux, Mac). Ovšem psát kód v textovém editoru není zrovna pohodlné.

<aside> ☝

ZAPAMATOVAT! Tento jazyk lze také psát přímo do příkazu v příkazovém řádku, jelikož se jedná o dotazovací jazyk, který má přesně dané příkazy.

</aside>

Skvělý editor je DataGrip od firmy JetBrains s.r.o. nebo libovolné IDE od této firmy, které má přístup k databázím různých druhů integrované. Takový častý zástupce je PhpStorm. Existují však i další zástupci než tyto 2.

PhpStorm s napojením přímo na lokální MySQL server

PhpStorm s napojením přímo na lokální MySQL server

PhpStorm a Databáze

https://www.jetbrains.com/help/phpstorm/connecting-to-a-database.html

Základní pojmy používané v relačních databázích

Pojem Vysvětlení
Databáze Soubor dat, tabulek, které slouží pro popis reálného světa
Entita Tabulka - je objekt reálného světa, který má následně vlastnosti. Například: User - tabulka bude pojmenována users - název tabulky volte nejlépe malými písmeny v množném čísle se snake_case
Atribut Sloupec tabulky - vlastnosti entity, například first_name, last_name - název volte nejlépe malými písmeny v jednotném čísle ve tvaru snake_case
Záznam Jeden řádek tabulky
Vazba Vazba mezi entitami - Jednotlivé entity odpovídající prvkům z reálného světa, mají mezi sebou určitý vztah.
Vazba 1:1 Např. každý člověk má právě jedny osobní údaje vedené na magistrátě, na oddělení občanských průkazů.
Vazba 1:N Např. skutečnost, že jeden člověk může vlastnit více kreditních karet (ale jedna kreditní karta může být vlastněna pouze jedním člověkem).
Vazba N:N (M:N) Zde není žádné omezení, příkladem by mohla být situace, že student na vysoké škole si může zapsat několik různých předmětů (ale jeden předmět může být zároveň zapsán více studenty). - název 3. tabulky volte nejlépe malými písmeny v jednotném čísle se snake_case
Primární klíč PRIMARY KEY - jednoznační identifikátor pro každý řádek tabulky, většinou se jedná o atribut id, který je většinou v každé tabulce.
Cizí klíč FOREIGN KEY - identifikátor odkazující na PRIMARY KEY z jiné tabulky (používá se u vazeb mezi entitami).
SQL Dotazovací jazyk, který komunikuje s databází.

Co je to Relační databáze

Podívejme se nyní blíže na relační model. Základním pojmem je relace. Relaci, aniž bych zaváděl jakékoliv matematické definice, si lze představit jako tabulku, která se skládá ze sloupců a řádků. Sloupce odpovídají jednotlivým vlastnostem (atributům) entity. Údaje v jednom řádku tabulky zobrazují aktuální stav světa. Budu mít např. tabulku staffs, která bude popisovat entitu pracovníka ve firmě. Sloupce tabulky budou: idfirst_namelast_namebirth_datesalary a contract_from. Atribut birth_date značí datum narození pracovníka a contract_from uvádí datum, od kterého je pracovník v naší firmě zaměstnán.

Tabulka: staffs

id first_name last_name birth_date salary contract_from
1 Jan Novák 1995-12-13 15000 2022-08-24
2 Petr Nový 1985-03-01 21500 2002-12-01
3 Jan Nováček 1975-01-23 17500 2022-07-09

Tabulka je základním stavebním kamenem pro budování celé databáze. Relace tedy odpovídá celé tabulce a prvku relace odpovídá jeden konkrétní řádek. Jeden řádek bývá často nazýván databázovým záznamem. Soubor tabulek (relací) pak tvoří celou databázi (relační schéma).

Tvorba „dobře navržených“ tabulek je klíčový a důležitý úkol zejména z hlediska dlouhodobého. (Pokud bychom v nějakém databázovém systému, který již nějakou dobu běží v ostrém provozu, nalezli nějakou chybu a zjistili bychom, že spočívá ve špatně navržené databázi, mělo by to katastrofální důsledky, a to nejen po finanční stránce.)

Datové typy

Existuje mnoho datových typů - číselné, celočíselné, desetinné, textové, objektové… v databázcíh je jejich správné použití nutností. Bez správného použití datových typů může databáze být pomalá, nekonzistentní a způsobit další problémy…