Databáze (Jan Musílek)
Databázové systémy
Definice
Databáze (neboli datová základna) je určitá uspořádaná množina informací (dat) uložená na paměťovém médiu. V širším smyslu jsou součástí databázei softwarové prostředky, které umožňují manipulaci s uloženými daty a přístup k nim. Tento systém se v české odborné literatuře nazývá systém řízení báze dat (SŘBD). Běžně se označním databáze - v závislosti na kontextu - myslí jak uložená data, tak i software (SŘBD).
Zdroj: Wikipedie, otevřená encyklopedie (http://www.wikipedia.cz/)
Malý exkurz do historie
Předchůdcem databází byly papírové kartotéky. Umožňovaly uspořádávání dat podle různých kritérií a zatřiďování nových položek. Dnešní databáze se od nich vlastně příliš neliší. Třízení místo lidí obstarává počítač, ale funguje na velmi podobném principu.
První velké využití strojově zpracované databáze bylo sčítání lidu ve Spojených státech v roce 1890. Data se tehdy ukládaly na děrné štítky.
S rozvojem počítačů se zdála čím dál tím tíživější otázka univerzálního jazyka pro práci s databází. V roce 1959 se konala konference, na které bylo rozhodnuto o vytvoření jazyka COBOL, který byl po mnoho dalších let nejrozšířenějším jazykem pro zpracování dat.
Rok 1970 znamenal raketový start relačních databází, ve kterých se na data pohlíželo jako na tabulky. V souvislosti s nimi byl taky sestaven dnes nejpoužívanější databázový jazyk - dotazovací jazyk SQL.
Různé databázové systémy
MySQL
MySQL je databázový systém, vyvíjený švédskou firmou MySQL AB. Je k dispozici pod dvěma různými licencemi - otevřenou licencí GNU/GPL a pod komerční placenou licencí. Jedná se o multiplatformní databázi, jejíž komunikace s okolím je zařízena pomocí dotazovacího jazyka SQL s několika rozšířeními.
Zpočátku byla tato databáze vyvíjena s ohledem na rychlost, a to i na úkor některých vlastností, které se do ní dostaly až v poslední době (namátkou triggery a uložené procedury).
Oficiální stránky: http://www.mysql.org/
PostgreSQL
Relační databázový systém s otevřeným zdrojovým kódem (je šířen pod licencí BSD). Jedná se o velmi variabilní a rozvinutý databázový systém, který běží na všech rozšířenějších operačních systémech. Jeho největší předností oproti MySQL je snadná rozšiřitelnost - umožňuje spouštět procedury napsané v několika programovacích jazycích, namátkou Perl, Python nebo C.
Oficiální stránky: http://www.postgresql.org/
Oracle
Moderní multiplatformní databázový systém s velice pokročilými možnostmi zpracování dat a vysokým výkonem. Je vyvíjen firmou Oracle Corporation. Podporuje jak standartní relační dotazovací jazyk SQL, tak i imperativní programovací jazyk PL/SQL, rozšiřující možnosti vlastního SQL. Oracle je šířen pod proprietární licencí.
Příkazy jazyka SQL
Ukázka komunikace
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.44-log Gentoo Linux mysql-5.0.44 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show databases;+--------------------+ | Database | +--------------------+ | information_schema | | dotaznik | | gybon | | mysql | | stinovlas | | test | | zapoctak | +--------------------+ 7 rows in set (0.00 sec) mysql> use gybon;Database changed mysql> show tables;+-----------------+ | Tables_in_gybon | +-----------------+ | aktuality | | basne | | guestbook | | koncerty | | noty | | users | +-----------------+ 6 rows in set (0.00 sec) mysql> select * from users;+----------------+----------------------------------+---------+-----------------------------+ | jmeno | heslo | hodnost | poznamka | +----------------+----------------------------------+---------+-----------------------------+ | admin | dbd34ddab50b0364gs473bba111946d1 | 42 | Stínovlas | | schejbal | b12d8262c5baba5as5ef5f5528f2ec83 | 30 | sbormistr Jaromír Schejbal | | maatyn | 57247c8a1970169dftac96014a13317c | 1 | Martin Dürer | | klaravlaskova | 1f05c7b391946adfg6b2366dffd77043 | 1 | Klára Vlášková | | ari | 9dd5991ae713483ghsb6751801f16386 | 1 | arienalia@gmail.com | +----------------+----------------------------------+---------+-----------------------------+ 7 rows in set (0.00 sec) mysql> select * from users where jmeno='admin';+----------------+----------------------------------+---------+-----------------------------+ | jmeno | heslo | hodnost | poznamka | +----------------+----------------------------------+---------+-----------------------------+ | admin | dbd34ddab50b0364gs473bba111946d1 | 42 | Stínovlas | +----------------+----------------------------------+---------+-----------------------------+ 1 row in set (0.00 sec) mysql> select * from users where hodnost>7;+----------------+----------------------------------+---------+-----------------------------+ | jmeno | heslo | hodnost | poznamka | +----------------+----------------------------------+---------+-----------------------------+ | admin | dbd34ddab50b0364gs473bba111946d1 | 42 | Stínovlas | | schejbal | b12d8262c5baba5as5ef5f5528f2ec83 | 30 | sbormistr Jaromír Schejbal | +----------------+----------------------------------+---------+-----------------------------+ mysql> select heslo from users where hodnost>7 and jmeno='admin';+----------------------------------+ | heslo | +----------------------------------+ | dbd34ddab50b0364gs473bba111946d1 | +----------------------------------+ 1 row in set (0.00 sec) mysql> insert into noty (nazev,autor,soubor,stranky,visible) values ('Ride The Chariot','Spirituál','Chariot',5,1);Query OK, 1 row affected (0.06 sec) mysql> exit