Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyDatabázové systémy v biomedicíně Základy SQL DDL příkazy

Logo Matematická biologie

DDL příkazy

Pomocí příkazů DDL vytváříme, měníme a rušíme databázové objekty. Slouží k tomu příkazy CREATE, ALTER a DROP. Syntaxe těchto příkazů se liší pro jednotlivé databázové objekty a rozdíly jsou i mezi databázemi. Ukážeme si proto jen základní syntax pro tvorbu a rušení databázových tabulek. Tabulku vytvoříme pomocí příkazů CREATE TABLE. Následuje v závorkách výčet sloupců a jejich specifikace. Sloupce jsou odděleny čárkou, u každého sloupce je nutné definovat minimálně jeho datový typ. Příkaz pro vytvoření jednoduché tabulky v databázi ORACLE může vypadat takto:

CREATE TABLE tabulka1 (
    prijmeni VARCHAR2(30),
    datum_narozeni DATE,
    hmotnost NUMBER(3)
)

VARCHAR2 je ORACLE datový typ určený pro ukládání textů s variabilní délkou (v závorce je uvedena maximální délka), DATE slouží pro ukládání data a času s přesností na sekundy, NUMBER je datový typ pro ukládání čísel, jejichž maximální velikost a počet desetinných míst určuje parametr/y v závorce.
Názvy datových typů se u databází mírně liší, stejná tabulka pro databázi PostgreSQL by vypadala následovně:

CREATE TABLE tabulka1 (
    prijmeni VARCHAR(30),
    datum_narozeni TIMESTAMP,
    hmotnost NUMERIC(3)
)

Tabulku zrušíme příkazem DROP TABLE tabulka1. Pozor, zrušením tabulky nenávratně přijdeme o data, která byla v tabulce uložena. Zachránit nás pak může už jen záloha dat nebo specifické funkce konkrétní databáze (funkce flashback v případě ORACLE). DDL příkazy nelze zařadit do transakce, provádějí se okamžitě a nevratně. Navíc databáze potvrdí všechny naše dosud nepotvrzené DML příkazy.
Pomocí příkazů ALTER lze obvykle přidávat, přejmenovávát nebo rušit sloupce v tabulce a do určité míry měnit datové typy sloupců. Lze například bezproblémů rozšířit v naplněné tabulce maximální délku textového sloupce, nelze už ovšem měnit datumový prvek na číselný.

 

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity