Popis definiční části jazyka SQL,specifikace deklarace primárních a cizích klíčů a příklady na modelu knihovny
SQL (Structured Query Language) je databázový programovací jazyk, který se skládá z více částí. Jednou z nich je část definiční (Data Definition Language, DDL), která umožňuje vytvářet, upravovat a mazat objekty databáze.
Obsah
Příkazy
Data Definition Language obsahuje tyto příkazy[1]:
- CREATE - vytvoří objekt (databázi, tabulku)
- ALTER - změní definici objektu
- DROP - smaže objekt
- RENAME - přejmenuje objekt
- TRUNCATE - vymaže data z tabulky, ale ne tabulku samotnou
Syntax příkazů
Obecná syntax základních tří příkazů vypadá takto:
CREATE
Vytvoření databáze
CREATE DATABASE nazev_databaze;
Vytvoření tabulky
CREATE TABLE nazev_tabulky ( sloupec_1 datovy_typ_1, ... sloupec_n datovy_typ_n);
Název databáze i tabulky se musí řídit základními pravidly pro názvy všech objektů jazyka SQL - viz SQL.
Každý sloupec tabulky je jeden atribut (vlastnost) popisovaných dat. A každý sloupec musí mít určený tzv. datový typ, který určuje hodnoty, které jsou pro daný sloupec přípustné.
Nejčastějšími datovými typy jsou:
- CHAR(d) - řetězec znaků určité délky, kterou označuje číslo d. Např. tedy CHAR(20) bude řetězec o délce 20 znaků.
- DATE - datum ve formátu RRRR-MM-DD
- INTEGER - číslo od -2 147 483 648 do 2 147 483 647, maximální počet znaků může být specifikován v závorkách. Existují i další datové typy pro čísla, ale INTEGER je pro většinu dat dostačující.[2]
ALTER
Přidání sloupce
ALTER TABLE nazev_tabulky ADD nazev_sloupce datovy_typ;
Odstranění sloupce
ALTER TABLE nazev_tabulky DROP COLUMN nazev_sloupce;
Úprava sloupce
ALTER TABLE nazev_tabulky MODIFY nazev_sloupce datovy_typ;[2]
DROP
Pozor, odstraňování objektů používáme pouze v případě, že jsme si jisti, že daná data už nebudeme potřebovat.
Odstranění databáze
DROP DATABASE nazev_databaze;
Odstranění tabulky
DROP TABLE nazev_tabulky;[2]
Primární a cizí klíče
Příklady
Vytvoř tabulku dílo.
CREATE TABLE Dilo
(id_dilo PK INT,
nazev CHAR(200),
popis CHAR(200));
Vysvětlení interpunkce: středník odděluje jednotlivé SQL dotazy, čárka odděluje vstupní parametry.
Vytvoř tabulku vydání.
CREATE TABLE vydani
(id_vyd PK INT,
id_dilo FK INT REFERENCES Dilo(id_dilo),
cis_vyd CHAR(20),
rok_vyd CHAR(20));
Vysvětlení references: references píšeme, protože používáme cizí klíč - musíme definovat, kam cizí klíč odkazuje.
Vytvoř tabulku autorství.
CREATE TABLE Autorstvi
(id_autorstvi PK INT,
id_dilo FK INT REFERENCES Dilo(id_dilo),
id_aut FK INT REFERENCES Autor(id_aut));
Vymaž tabulku druh sekundárního autorství.
DROP TABLE Drusekaut;
Vymaž databázi knihovna.
DROP DATABASE Knihovna;
Uprav tabulku dílo: přidej sloupec evidenční číslo.
ALTER TABLE dilo
ADD ev_cis CHAR(200);
Uprav tabulku pokuta: odstraň datum pokuty.
ALTER TABLE pokuta
DROP dat_pok;
Vysvětlení: datový typ, např. "CHAR(200)" nebo "INT" píšeme jenom tehdy, když něco vytváříme. Když mažeme, nemusíme datový typ psát/definovat.
[3][4][2]
Odkazy
Reference
- ↑ Programování v SQL. In: Ucimedatabaze.cz: Podpora výuky databázových systémů na SOŠ, založené na technologiích společnosti ORACLE [online]. 2011, s. 55 [cit. 2016-12-16]. Dostupné z: http://ucimedatabaze.cz/wp-content/uploads/2012/02/CZ_programovani_SQL.pdf
- ↑ 2,0 2,1 2,2 2,3 W3schools.com [online]. [cit. 2017-01-03]. Dostupné z: http://www.w3schools.com/sql/default.asp
- ↑ Basic SQL statements: DDL and DML. In: Database design with UML and SQL, 3rd edition [online]. [cit. 2016-12-24]. Dostupné z: http://www.tomjewett.com/dbdesign/dbdesign.php?page=ddldml.php
- ↑ POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy: vybrané kapitoly a cvičení. 2. přepr. vyd. Praha: Karolinum, 1998. ISBN 8071846872.
Použitá literatura
- Programování v SQL. In: Ucimedatabaze.cz: Podpora výuky databázových systémů na SOŠ, založené na technologiích společnosti ORACLE [online]. 2011, s. 55 [cit. 2016-12-16]. Dostupné z: http://ucimedatabaze.cz/wp-content/uploads/2012/02/CZ_programovani_SQL.pdf
- Entity-relationship model. In: Wikipedie: Otevřená encyklopedie [online]. [cit. 2016-12-16]. Dostupné z: https://cs.wikipedia.org/wiki/Entity-relationship_model
- POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy: vybrané kapitoly a cvičení. 2. přepr. vyd. Praha: Karolinum, 1998. ISBN 8071846872.
- SQL. In: Wikipedie: Otevřená encyklopedie [online]. [cit. 2016-12-17]. Dostupné z: https://cs.wikipedia.org/wiki/SQL
- Basic SQL statements: DDL and DML. In: Database design with UML and SQL, 3rd edition [online]. [cit. 2016-12-24]. Dostupné z: http://www.tomjewett.com/dbdesign/dbdesign.php?page=ddldml.php
- W3schools.com [online]. [cit. 2017-01-03]. Dostupné z: http://www.w3schools.com/sql/default.asp
Externí odkazy
Související články
Klíčová slova
Databázové systémy, Jazyk SQL