Popis definiční části jazyka SQL,specifikace deklarace primárních a cizích klíčů a příklady na modelu knihovny: Porovnání verzí
(syntax příkazu CREATE) |
(syntax příkazů ALTER a DROP) |
||
Řádek 2: | Řádek 2: | ||
==Příkazy== | ==Příkazy== | ||
− | Data Definition Language obsahuje | + | Data Definition Language obsahuje tyto příkazy<ref>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</ref>: <br/> |
− | # CREATE - | + | # CREATE - vytvoří objekt (databázi, tabulku) |
− | # ALTER - | + | # ALTER - změní definici objektu |
− | # DROP - | + | # DROP - smaže objekt |
− | # RENAME | + | # RENAME - přejmenuje objekt |
− | # TRUNCATE | + | # TRUNCATE - vymaže data z tabulky, ale ne tabulku samotnou |
===Syntax příkazů=== | ===Syntax příkazů=== | ||
Řádek 16: | Řádek 16: | ||
Vytvoření tabulky | Vytvoření tabulky | ||
CREATE TABLE nazev_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]].<br/> | Název databáze i tabulky se musí řídit základními pravidly pro názvy všech objektů jazyka SQL - viz [[SQL]].<br/> | ||
− | Každý | + | 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: | 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ů. | * 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 | * 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í.<ref name="w3">W3schools.com [online]. [cit. 2017-01-03]. Dostupné z: http://www.w3schools.com/sql/default.asp</ref> | * 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í.<ref name="w3">W3schools.com [online]. [cit. 2017-01-03]. Dostupné z: http://www.w3schools.com/sql/default.asp</ref> | ||
+ | |||
+ | ====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;<ref name="w3"></ref> | ||
+ | ====DROP==== | ||
+ | Pozor, odstraňování objektů používáme pouze v případě, že jsme si jisti, že daná data už nebudeme potřebovat.<br/> | ||
+ | Odstranění databáze | ||
+ | DROP DATABASE nazev_databaze; | ||
+ | Odstranění tabulky | ||
+ | DROP TABLE nazev_tabulky;<ref name="w3"></ref> | ||
==Primární a cizí klíče== | ==Primární a cizí klíče== | ||
Řádek 72: | Řádek 89: | ||
''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.''<br/> | ''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.''<br/> | ||
<br/> | <br/> | ||
− | <ref name="SQL_5">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</ref><ref name="SQL_3">POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy: vybrané kapitoly a cvičení. 2. přepr. vyd. Praha: Karolinum, 1998. ISBN 8071846872.</ref><ref name=" | + | <ref name="SQL_5">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</ref><ref name="SQL_3">POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy: vybrané kapitoly a cvičení. 2. přepr. vyd. Praha: Karolinum, 1998. ISBN 8071846872.</ref><ref name="w3"></ref> |
== Odkazy == | == Odkazy == |
Verze z 8. 4. 2018, 19:02
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