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