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
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
https://www.jetbrains.com/help/phpstorm/connecting-to-a-database.html
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í. |
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: id
, first_name
, last_name
, birth_date
, salary
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.)
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…