Zápisky z přednášek
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Přednáška 07 – Databáze
Pojmy
•
Databázový systém – program pro práci a správu DB
•
Databáze – souhrn datových struktur obsahující data
•
Tabulky – databáze se skládá z tabulek, tabulka má sloupce a řádky
•
Sloupec – popis vlastnosti objektu
•
Řádek, záznam – konkrétní data uložená v tabulce
•
Primární klíč – množina sloupců, které jednoznačně identifikují záznam
•
Relace – vztah mezi objekty v databáz (Franta s ID 2 si koupil okurky)
•
Cizí klíč - vztah mezi dvěma tabulkami, a to tak, že hodnota v určeném sloupci jedné
tabulky musí existovat v jiném (primárním) klíči. (referenční integrita)
Manipulace s DB - Jazyk SQL
•
Structured Query Language
•
DDL – Data Definition Language (Create, Drop, Alter)
•
DML – Data Manipulation Language (Insert, Sekect, Update, Delete)
Manipulace s DB - Jazyk MySQL
•
open source
•
různé enginy (InnoDB, MyISAM)
MyISAM Engine
•
Velmi rychlý
•
Není transakční (proto je tak rychlý) - Transakce je uspořádaná skupina databázových
operací (dotazů, procedur), která se vnímá a provádí jako jediná jednotka a to celá, nebo
vůbec ne. Nikdy nesmí nastat případ, kdy se vykoná jen její část.
•
Nepodporuje ref. Integritu (cizí klíč)
•
Každá tabulka je v samostatném souboru (soubor se jmenuje podle jména tabulky)
InnoDB Engine
•
Plně transakční zpracování
•
Zamykání záznamů (po řádcích)
•
Podporuje cizí klíče (FOREIGN KEY)
•
Je součástí základní distribuce
•
Rychlý engine, ale ne tak rychlý jako MyISAM
•
Tabulky jsou uloženy ve společném souboru (souborech) a to včetně indexů
•
Tabulky mohou být uloženy ve více souborech i na více různých discích
•
Tabulky mohou být uloženy i separátně, každá v jednom souboru
•
chová se to jinak než MyISAM – nelze jen tak kopírovat
Možnosti podpory databáze
•
Nativní podpora pomocí dynamické knihovny–např. mysql.dll, mysqli.dll
•
Nativní podpora v jádře PHP - je nutné zkompilovat