Taulut luodaan CREATE TABLE komennolla.
CREATE TABLE Oppilaat (
Sotu CHAR(11),
Sukunimi VARCHAR(100),
Katuosoite VARCHAR(100),
Postinumero INTEGER,
Puhelin VARCHAR(20),
Osastonro SMALLINT,
Vkurssinro SMALLINT,
Aloitusvuosi SMALLINT
)
CHAR [(pit)]VARCHAR [(pit)]NUMERIC [(pit., [desim.osa])]DECIMAL [(pit., [desim.osa])]INTEGERSMALLINTFLOAT [(pit.)]REALDOUBLE PRECISIONBIT [(pit.)]BIT VARYING (pit.)DATETIME [(pit.)]TIMESTAMP [(pit.)]TIME WITH TIME ZONE (pit.)TIMESTAMP WITH TIME ZONE (pit.)
CREATE TABLE Oppilaat (
Sotu CHAR(11) NOT NULL,
Sukunimi VARCHAR(50) NOT NULL,
Katuosoite VARCHAR(50) NOT NULL,
Postinumero INTEGER NOT NULL,
Puhelin VARCHAR(20) NULL,
Osastonro SMALLINT NOT NULL,
Vkurssinro SMALLINT NOT NULL,
Aloitusvuosi SMALLINT NOT NULL
)
CREATE TABLE Oppilaat (
Sotu CHAR(11) NOT NULL,
Sukunimi VARCHAR(50) NOT NULL,
Katuosoite VARCHAR(50) NOT NULL,
Postinumero CHAR(5) NOT NULL ,
Puhelin VARCHAR(20) NULL,
Osastonro SMALLINT NOT NULL,
Vkurssinro SMALLINT NOT NULL,
Aloitusvuosi SMALLINT NOT NULL,
CONSTRAINT Oppilaat_PrimaryKey
PRIMARY KEY (Sotu)
)
CREATE TABLE Oppilaat (
Sotu CHAR(11) NOT NULL,
Sukunimi VARCHAR(50) NOT NULL,
Katuosoite VARCHAR(50) NOT NULL,
Postinumero CHAR(5) NOT NULL ,
Puhelin VARCHAR(20) NULL,
Osastonro SMALLINT NOT NULL,
Vkurssinro SMALLINT NOT NULL,
Aloitusvuosi SMALLINT NOT NULL,
CONSTRAINT Oppilaat_PrimaryKey
PRIMARY KEY (Sotu),
CONSTRAINT Oppilaat_Postinumero
FOREIGN KEY (postinumero)
REFERENCES Postinumerot (postinumero),
CONSTRAINT Oppilaat_Osastonro
FOREIGN KEY (Osastonro)
REFERENCES Osastot (Osastonro),
CONSTRAINT Oppilaat_Vkurssinro
FOREIGN KEY (Vkurssinro)
REFERENCES Vkurssit (Vkurssinro)
Taulut, joihin halutaan viitata, täytyy luoda ennen viittauksia
CREATE TABLE Osastot (
Osastonro SMALLINT NOT NULL,
Osastonimi VARCHAR(100) NOT NULL,
CONSTRAINT Osastot_PrimaryKey
PRIMARY KEY (Osastonro)
)
CREATE TABLE Vkurssit (
Vkurssinro SMALLINT NOT NULL,
Vkurssinimi VARCHAR(100) NOT NULL,
CONSTRAINT Vkurssit_PrimaryKey
PRIMARY KEY (Vkurssinro)
)
CREATE TABLE Postinumerot (
Postinumero CHAR(5) NOT NULL,
Paikkakunta VARCHAR(100) NOT NULL,
CONSTRAINT Postinumerot_PrimaryKey
PRIMARY KEY (postinumero)
)
CREATE TABLE Oppilaat (
Sotu CHAR(11) NOT NULL,
Sukunimi VARCHAR(50) NOT NULL,
Katuosoite VARCHAR(50) NOT NULL,
Postinumero CHAR(5) NOT NULL ,
Puhelin VARCHAR(20) NULL,
Osastonro SMALLINT NOT NULL,
Vkurssinro SMALLINT NOT NULL,
Aloitusvuosi SMALLINT NOT NULL,
CONSTRAINT Oppilaat_PrimaryKey
PRIMARY KEY (Sotu),
CONSTRAINT Oppilaat_Postinumero
FOREIGN KEY (postinumero)
REFERENCES Postinumerot (postinumero)
ON DELETE NO ACTION
ON UPDATE CASCADES,
CONSTRAINT Oppilaat_Osastonro
FOREIGN KEY (Osastonro)
REFERENCES Osastot (Osastonro)
ON DELETE NO ACTION
ON UPDATE CASCADES,
CONSTRAINT Oppilaat_Vkurssinro
FOREIGN KEY (Vkurssinro)
REFERENCES Vkurssit (Vkurssinro)
ON DELETE NO ACTION
ON UPDATE CASCADES,
CREATE TABLE Oppilaat (
Sotu CHAR(11) NOT NULL,
Sukunimi VARCHAR(50) NOT NULL,
Katuosoite VARCHAR(50) NOT NULL,
Postinumero CHAR(5) NOT NULL ,
Puhelin VARCHAR(20) DEFAULT 'ei numeroa',
Osastonro SMALLINT DEFAULT 1,
Vkurssinro SMALLINT DEFAULT 1,
Aloitusvuosi SMALLINT DEFAULT 2000,
CONSTRAINT Oppilaat_PrimaryKey
PRIMARY KEY (Sotu),
CONSTRAINT Oppilaat_Postinumero
FOREIGN KEY (postinumero)
REFERENCES Postinumerot (postinumero)
ON DELETE NO ACTION
ON UPDATE CASCADES,
CONSTRAINT Oppilaat_Osastonro
FOREIGN KEY (Osastonro)
REFERENCES Osastot (Osastonro)
ON DELETE NO ACTION
ON UPDATE CASCADES,
CONSTRAINT Oppilaat_Vkurssinro
FOREIGN KEY (Vkurssinro)
REFERENCES Vkurssit (Vkurssinro)
ON DELETE NO ACTION
ON UPDATE CASCADES,
CREATE TABLE Kurssit (
KurssiID SMALLINT NOT NULL,
Kurssinnimi VARCHAR(100) NOT NULL,
Laajuus NUMERIC NOT NULL,
CONSTRAINT Kurssit_PrimaryKey
PRIMARY KEY (Kurssitunnus)
)
CREATE TABLE Tentit (
Sotu CHAR(11) NOT NULL,
KurssiID SMALLINT NOT NULL,
Pvm DATE NOT NULL,
Arvosana NUMERIC NOT NULL,
CONSTRAINT Tentit_PrimaryKey
PRIMARY KEY (Sotu, Kurssitunnus, pvm)
CONSTRAINT Tentit_Sotu
FOREIGN KEY (Sotu)
REFERENCES Oppilaat (Sotu)
ON DELETE CASCADES
ON UPDATE CASCADES,
CONSTRAINT Tentit_kurssiID
FOREIGN KEY (KurssiID)
REFERENCES Kurssit (KurssiID)
ON DELETE NO ACTION
ON UPDATE CASCADES,
)
CREATE INDEX
CREATE INDEX Oppilaat_sukunimi ON Oppilaat(sukunimi)
CREATE UNIQUE INDEX Oppilaat_sotu ON Oppilaat(sotu)
DROP INDEX Oppilaat_sukunimi
DROP INDEX Oppilaat_sotu
ALTER TABLE
ALTER TABLE Oppilaat
ADD Foobar VARCHAR(10)
ALTER TABLE Oppilaat
ADD CONSTRAINT Oppilaat_postinrofk FOREIGN KEY (postinumero)
REFERENCES Postinumerot
ON DELETE NO ACTION
ON UPDATE CASCADES
ALTER TABLE Oppilaat
DROP CONSTRAINT Oppilaat_postinrofk
GRANT
REVOKE
GRANT SELECT ON Oppilaat TO Petri, Esko
GRANT INSERT, UPDATE ON Oppilaat TO Petri
GRANT ALL ON Oppilaat TO Tommi
WITH GRANT OPTION
REVOKE ALL ON Oppilaat FROM Petri, Esko
COMMIT
ROLLBACK
CREATE TRIGGER
CREATE PROCEDURE