SQL: DDL v ORACLE

Download Report

Transcript SQL: DDL v ORACLE

SQL: DDL v ORACLE
CREATE TABLE jméno_tabulky
(atribut datový_typ [DEFAULT][attribut_constraint]
[, atribut datový_typ [DEFAULT]
[attribut_constraint]], ... )
kde attribut_constraint má tvar:
[CONSTRAINT jméno_omezení]
{ [NOT] NULL| { UNIQUE | PRIMARY KEY } |
REFERENCES jméno_tabulky [(atribut)] [ ON
DELETE CASCADE] | CHECK (podmínka) }
SQL: DDL v ORACLE
ALTER TABLE
jméno_tabulky
[ADD { atribut datový_typ [DEFAULT] [attribut_constraint] |
table_constraint }]
[MODIFY atribut datový_typ [DEFAULT] [atribut_constraint],
...]
kde table_constraint má tvar:
[CONSTRAINT jméno_omezení]
{ { UNIQUE | PRIMARY KEY } (atribut [,atribut] ... ) |
FOREIGN KEY (atribut [,atribut] ...) REFERENCES
jméno_tabulky [(atribut [,atribut] ... ) ] }
SQL: DDL v ORACLE
CREATE [UNIQUE] INDEX jméno_indexu
ON jméno_tabulky (atribut [ASC] | [DESC][,
atribut [ASC] | [DESC] ] ...)
SQL: DDL v ORACLE
CREATE VIEW jméno_pohledu [(atribut
[,...])] AS SELECT
Vytvoří pohled na základě výběru dat z
existující tabulky či tabulek.
Specifikace výběru je zapsána za klauzulí
SELECT.
K takto vytvořeným pohledům je možno
vytvořit různá přístupová práva.
SQL: DDL v ORACLE
DROP
Syntaxe:
DROP {TABLE jméno_tabulky,
VIEW jméno_pohledu, INDEX
jméno_indexu}
Zruší ze schématu databáze tabulku, pohled
nebo index
DDL v ORACLE
Vestavěné datové typy
Základní datové typy
• Char(n)
• Varchar2(n)
• Number(p,s)
• Date
• Long
• Raw
• Long raw
Převoditelné datové typy
• Decimal (p,s)
• Float(p)
• Integer
• Real
• Smallint
• Varchar
n je max. 255 Bytů
n je max. 2000 Bytů
p je max. počet číslic, s je počet číslic za des.
tečkou, p je max. 38
ve formátu DD-MM-RR
řetězec až 2 GB
binární data do 2000B
binární data do 2 GB
number(p,s)
number
number(38)
number
number(38)
varchar2
DDL v ORACLE
Strukturované datové typy
Typ Objekt
Create type osoba as object
(jmeno
varchar2 (15),
prijmeni
varchar2(15),
telefon
varchar2(20));
Create table student
(osobni_cislo
number
osobni_udaje
osoba);
DDL v ORACLE
Strukturované datové typy
Typ Vestavěná tabulka
Create type adresa as table
(ulice varchar2(20),cislo varchar2(15),
mesto varchar2(15));
Alter table student add adresa adresa;
DDL v ORACLE
Strukturované datové typy
Typ Pole
Create type ceny as varray(10)
of number(12,2);
Create table zbozi
(kod
number,
prodano ceny);
SQL: DML v ORACLE
DELETE [FROM] { Jméno_tabulky
|Jméno_pohledu } [alias_jméno]
[WHERE podmínka]
INSERT INTO { Jméno_tabulky
|Jméno_pohledu }
[(atribut [,atribut] ...)]
{ VALUES (výraz[,výraz]...) | subquery }
SQL: DML v ORACLE
UPDATE { Jméno_tabulky |Jméno_pohledu
}[alias_jméno]
SET { (atribut[,atribut]...)=(subquery) |
atribut = {výraz | (subquery) }}
[,{ (atribut[,atribut]...)=(subquery) | atribut =
{výraz | (subquery) }}]...
[WHERE podmínka]