Databáze (Dominik Žilka)
- V širším smyslu jsou součástí databáze i softwarové prostředky, které umožňují manipulaci s uloženými daty a přístup k nim.
- Tento software se v české odborné literatuře nazývá systém řízení báze dat (SŘBD).
- Běžně se označením databáze ? v závislosti na kontextu ? myslí jak uložená data, tak i software (SŘBD).
Krátce z historie
- První předchůdci - papírové kartotéky
- V 50. letech rozvoj databází na sálových počítačích (př. systém IBS od IBM)
- První jazyk používaný pro SŘBD - COBOL
- V roce 1970 vzniká první návrh relační databáze (tabulky)
- 1974 - první verze SQL
Databázové modely
- Hierarchická db
- Síťová db
- Relační db
- Objektová db
- Objektově-relační db
- ...
Databázové objekty
- tabulky
- pohledy (views)
- procesy
- formuláře
- ...
Různé databázové systémy
MySQL
MySQL je databázový systém, vytvořený š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ě.
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í.
MS SQL
Jazyk SQL
SQL příkazy se dělí na čtyři základní skupiny:
- Příkazy pro manipulaci s daty (SELECT, INSERT, UPDATE, DELETE, ?)
- Příkazy pro definici dat (CREATE, ALTER, DROP, ?)
- Příkazy pro řízení přístupových práv (GRANT, REVOKE)
- Příkazy pro řízení transakcí (START TRANSACTION, COMMIT, ROLLBACK)
- Ostatní nebo speciální příkazy
Ukázka kódu:
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