SQL - DDL
DDL (Data Definition Language) - jazyk pre dátových štruktúr. V databázových systémoch predstavuje podskupinu jazyka SQL pre vytváranie a modifikáciu databázových objektov.
Obsah
Prípadová štúdia - evidencia projektov
V tejto kapitole bude opísaný postup pri vytváraní novej databázy, nových tabuliek. Následne sa vytvorené tabuľky pokúsime zmodifikovať (pridanie atribútov, zmena názvu atribútov...) a na koniec zmažeme všetky tabuľky aj databázu.
Pre túto kapitolu si zoberme príklad evidencie projektov a ich rozpočtu. V našom príklade indentifikujeme 2 základné entity: projekt a rozpočet na projekt. Atribúty týchto entít:
- projekt
- id projektu (id) - primárny kľúč
- názov projektu (nazov) - reťazec
- typ projektu (typ_projektu) - vymenovaný typ: IP, ESF, STREP, CRAFT, CRP [1]
- začiatok riešenia projektu (zaciatok) - dátum
- koniec riešenia projektu (koniec) - dátum
- obsah riešenia projektu (obsah) - text
Keďže v projektoch sa robí na každý rok iný rozpočet, v tabuľke rozpočet bude predstavovať jeden záznam rozpočet pre daný projekt na jeden rok. Ak by sa projekt riešil 5 rokov, v tabuľke rozpočet bude pre tento projekt 5 záznamov.
- rozpočet
- id projektu, pre ktorý je tento rozpočet (projekt_id) - primárny kľúč
- rok riešenia projektu (projekt_rok) - primárny kľúč
- bežné výdavky (bezne) - celé číslo
- kapitálové výdavky (kapitalove) - celé číslo
CREATE
CREATE DATABASE[2]
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_specification] ...
create_specification:
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
CREATE TABLE[3]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
(create_definition,...)
[table_options]
[partition_options]
Ostatné objekty
- CREATE VIEW
- CREATE PROCEDURE
- CREATE TRIGGER
DROP
DROP DATABASE
Zmazanie databázy[4]
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP TABLE
Zmazanie tabuľky [5]
DROP [TEMPORARY] TABLE [IF EXISTS]
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
Ostatné objekty
ALTER
ALTER DATABASE
ALTER {DATABASE | SCHEMA} [db_name]
alter_specification ...
ALTER {DATABASE | SCHEMA} db_name
UPGRADE DATA DIRECTORY NAME
alter_specification:
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
ALTER TABLE
ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]
alter_specification:
ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
| ADD [COLUMN] (create_definition, create_definition,...)
| ADD INDEX [index_name] (index_col_name,...)
| ADD PRIMARY KEY (index_col_name,...)
| ADD UNIQUE [index_name] (index_col_name,...)
| ADD FULLTEXT [index_name] (index_col_name,...)
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
| CHANGE [COLUMN] old_col_name create_definition
| MODIFY [COLUMN] create_definition
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| RENAME [TO] new_tbl_name
| table_options'crew' NULL );
Zdroje a odkazy
- ↑ Typy projekov - http://www.bic.sk/projects.php?id=32&tid=24
- ↑ Create database (mysql) http://dev.mysql.com/doc/refman/5.5/en/create-database.html
- ↑ Create tabel (mysql) http://dev.mysql.com/doc/refman/5.5/en/create-table.html
- ↑ Drop database (mysql) http://dev.mysql.com/doc/refman/5.5/en/drop-database.html
- ↑ Drop table (mysql) http://dev.mysql.com/doc/refman/5.5/en/drop-table.html