SQL DDL

background image

background image

SQL (

SQL (

Structured Query

Structured Query

Language

Language

)

)

Strukturalny język zapytań używany do tworzenia,

Strukturalny język zapytań używany do tworzenia,

modyfikowania baz danych oraz do umieszczania i

modyfikowania baz danych oraz do umieszczania i

pobierania danych z baz danych.

pobierania danych z baz danych.

Język SQL jest językiem deklaratywnym.

Język SQL jest językiem deklaratywnym.

Decyzję o sposobie przechowywania i pobierania

Decyzję o sposobie przechowywania i pobierania

danych pozostawia się Systemowi Zarządzania Bazą

danych pozostawia się Systemowi Zarządzania Bazą

Danych (DBMS).

Danych (DBMS).

background image

Składnia SQL

Składnia SQL

Użycie SQL polega na zadawaniu zapytań do bazy

Użycie SQL polega na zadawaniu zapytań do bazy

danych. Zapytania można zaliczyć do jednego z trzech

danych. Zapytania można zaliczyć do jednego z trzech

głównych podzbiorów:

głównych podzbiorów:

SQL DDL

SQL DDL

(ang.

(ang.

Data Definition Language

Data Definition Language

– „język definicji

– „język definicji

danych”),

danych”),

SQL DML

SQL DML

(ang.

(ang.

Data Manipulation Language

Data Manipulation Language

– „język

– „język

manipulacji danymi”),

manipulacji danymi”),

SQL DCL

SQL DCL

(ang.

(ang.

Data Control Language

Data Control Language

– „język kontroli nad

– „język kontroli nad

danymi”).

danymi”).

background image

DDL (

DDL (

Data Definition

Data Definition

Language

Language

)

)

CREATE

CREATE

– tworzenie struktury (bazy,

– tworzenie struktury (bazy,

tabeli, indeksu itp.),

tabeli, indeksu itp.),

ALTER

ALTER

– edycja struktury (dodanie

– edycja struktury (dodanie

kolumny do tabeli, zmiana typu

kolumny do tabeli, zmiana typu

danych w kolumnie tabeli itp)

danych w kolumnie tabeli itp)

DROP

DROP

– usuwanie struktury.

– usuwanie struktury.

background image

DML (

DML (

Data Manipulation

Data Manipulation

Language

Language

)

)

INSERT

INSERT

– umieszczenie danych w

– umieszczenie danych w

bazie,

bazie,

UPDATE

UPDATE

– zmiana danych,

– zmiana danych,

DELETE

DELETE

– usunięcie danych z bazy,

– usunięcie danych z bazy,

SELECT

SELECT

– pobranie danych z bazy.

– pobranie danych z bazy.

background image

DCL (Data Control

DCL (Data Control

Language)

Language)

GRANT

GRANT

– przyznanie użytkownikowi

– przyznanie użytkownikowi

praw do tabel,

praw do tabel,

REVOKE

REVOKE

– odbieranie użytkownikowi

– odbieranie użytkownikowi

praw do tabeli, które zostały

praw do tabeli, które zostały

przyznane poleceniem GRANT.

przyznane poleceniem GRANT.

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny_1

nazwa_kolumny_1

typ_danych,

typ_danych,

nazwa_kolumny_2

nazwa_kolumny_2

typ_danych,

typ_danych,

.

.

.

.

.

.

nazwa_kolumny_n

nazwa_kolumny_n

typ_danych

typ_danych

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer,

integer,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

data_urodzenia date

data_urodzenia date

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny_1 typ_danych PRIMARY KEY,

nazwa_kolumny_1 typ_danych PRIMARY KEY,

nazwa_kolumny_2 typ_danych,

nazwa_kolumny_2 typ_danych,

.

.

.

.

.

.

nazwa_kolumny_n typ_danych

nazwa_kolumny_n typ_danych

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

data_urodzenia date

data_urodzenia date

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny_1 typ_danych,

nazwa_kolumny_1 typ_danych,

nazwa_kolumny_2 typ_danych,

nazwa_kolumny_2 typ_danych,

.

.

.

.

.

.

nazwa_kolumny_n typ_danych,

nazwa_kolumny_n typ_danych,

PRIMARY KEY(nazwa_kolumny)

PRIMARY KEY(nazwa_kolumny)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer,

integer,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

data_urodzenia date,

data_urodzenia date,

PRIMARY KEY(id)

PRIMARY KEY(id)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny_1 typ_danych,

nazwa_kolumny_1 typ_danych,

nazwa_kolumny_2 typ_danych,

nazwa_kolumny_2 typ_danych,

.

.

.

.

.

.

nazwa_kolumny_n typ_danych,

nazwa_kolumny_n typ_danych,

PRIMARY KEY(nazwa_kolumny_a,

PRIMARY KEY(nazwa_kolumny_a,

nazwa_kolumny_b, …, nazwa_kolumny_m)

nazwa_kolumny_b, …, nazwa_kolumny_m)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Dowod

CREATE TABLE Dowod

(

(

seria

seria

char(3),

char(3),

numer

numer

number(9),

number(9),

data

data

date,

date,

PRIMARY KEY(seria, numer)

PRIMARY KEY(seria, numer)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Dowod

CREATE TABLE Dowod

(

(

seria

seria

char(3)

char(3)

PRIMARY KEY

PRIMARY KEY

,

,

numer

numer

number(9)

number(9)

PRIMARY KEY

PRIMARY KEY

,

,

data

data

date

date

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny_1 typ_danych,

nazwa_kolumny_1 typ_danych,

nazwa_kolumny_2 typ_danych,

nazwa_kolumny_2 typ_danych,

.

.

.

.

.

.

nazwa_kolumny_n typ_danych,

nazwa_kolumny_n typ_danych,

[CONSTRAINT nazwa]

[CONSTRAINT nazwa]

PRIMARY KEY(nazwa_kolumny)

PRIMARY KEY(nazwa_kolumny)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer,

integer,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

data_urodzenia date,

data_urodzenia date,

CONSTRAINT pk_osoba PRIMARY KEY(id)

CONSTRAINT pk_osoba PRIMARY KEY(id)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [REFERENCES

nazwa_kolumny typ_danych [REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT |

{ CASCADE | SET NULL | SET DEFAULT |

RESTRICT }],

RESTRICT }],

.

.

.

.

.

.

[CONSTRAINT [nazwa]] PRIMARY KEY(nazwa_kolumny)

[CONSTRAINT [nazwa]] PRIMARY KEY(nazwa_kolumny)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [REFERENCES

nazwa_kolumny typ_danych [REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

.

.

.

.

.

.

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer,

integer,

imie

imie

varchar(20) NOT NULL,

varchar(20) NOT NULL,

nazwisko

nazwisko

varchar(30) NOT NULL,

varchar(30) NOT NULL,

data_urodzenia date NULL,

data_urodzenia date NULL,

CONSTRAINT pk_osoba PRIMARY KEY(id)

CONSTRAINT pk_osoba PRIMARY KEY(id)

);

);

Jeśli nie określimy własności NULL / NOT NULL pole będzie miało własność NULL

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [REFERENCES

nazwa_kolumny typ_danych [REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

.

.

.

.

.

.

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer,

integer,

imie

imie

varchar(20) DEFAULT ‘Anna’ NOT

varchar(20) DEFAULT ‘Anna’ NOT

NULL,

NULL,

nazwisko

nazwisko

varchar(30) NOT NULL,

varchar(30) NOT NULL,

data_urodzenia date,

data_urodzenia date,

CONSTRAINT pk_osoba PRIMARY KEY(id)

CONSTRAINT pk_osoba PRIMARY KEY(id)

);

);

Jeśli nie podamy wartości dla pola imie, przyjmie ono wartość domyślną, czyli ‘Anna’

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [REFERENCES

nazwa_kolumny typ_danych [REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

.

.

.

.

.

.

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer,

integer,

imie

imie

varchar(20) NOT NULL,

varchar(20) NOT NULL,

nazwisko

nazwisko

varchar(30) NOT NULL,

varchar(30) NOT NULL,

login

login

varchar(20) UNIQUE,

varchar(20) UNIQUE,

data_urodzenia date NULL,

data_urodzenia date NULL,

CONSTRAINT pk_osoba PRIMARY KEY(id)

CONSTRAINT pk_osoba PRIMARY KEY(id)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych,

nazwa_kolumny typ_danych,

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [REFERENCES

nazwa_kolumny typ_danych [REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

.

.

.

.

.

.

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny),

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny),

[CONSTRAINT [nazwa]] UNIQUE(nazwa_kolumny)

[CONSTRAINT [nazwa]] UNIQUE(nazwa_kolumny)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer,

integer,

imie

imie

varchar(20) NOT NULL,

varchar(20) NOT NULL,

nazwisko

nazwisko

varchar(30) NOT NULL,

varchar(30) NOT NULL,

login

login

varchar(20),

varchar(20),

data_urodzenia date NULL,

data_urodzenia date NULL,

CONSTRAINT pk_osoba PRIMARY KEY(id),

CONSTRAINT pk_osoba PRIMARY KEY(id),

CONSTRAINT unq_login UNIQUE(login)

CONSTRAINT unq_login UNIQUE(login)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [REFERENCES

nazwa_kolumny typ_danych [REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }],

.

.

.

.

.

.

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

);

);

background image

nazwa_kolumny typ_danych CHECK(warunek)

nazwa_kolumny typ_danych CHECK(warunek)

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id integer PRIMARY KEY,

id integer PRIMARY KEY,

imie varchar(20) NOT NULL,

imie varchar(20) NOT NULL,

nazwisko varchar(30) NOT NULL,

nazwisko varchar(30) NOT NULL,

plec char CHECK(plec

plec char CHECK(plec

=‘

=‘

K’

K’

OR

OR

plec

plec

=‘

=‘

M’)

M’)

);

);

background image

nazwa_kolumny typ_danych CHECK(warunek)

nazwa_kolumny typ_danych CHECK(warunek)

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id integer PRIMARY KEY,

id integer PRIMARY KEY,

imie varchar(20) NOT NULL,

imie varchar(20) NOT NULL,

nazwisko varchar(30) NOT NULL,

nazwisko varchar(30) NOT NULL,

plec char CHECK(plec in (‘K’, ‘k’,

plec char CHECK(plec in (‘K’, ‘k’,

M’, ‘k’)

M’, ‘k’)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych,

nazwa_kolumny typ_danych,

nazwa_kolumny typ_danych [REFERENCES

nazwa_kolumny typ_danych [REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT |

{ CASCADE | SET NULL | SET DEFAULT |

RESTRICT }],

RESTRICT }],

.

.

.

.

.

.

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny),

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny),

[CONSTRAINT [nazwa]] CHECK(warunek)

[CONSTRAINT [nazwa]] CHECK(warunek)

);

);

background image

nazwa_kolumny typ_danych CHECK(warunek)

nazwa_kolumny typ_danych CHECK(warunek)

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id integer PRIMARY KEY,

id integer PRIMARY KEY,

imie varchar(20) NOT NULL,

imie varchar(20) NOT NULL,

nazwisko varchar(30) NOT NULL,

nazwisko varchar(30) NOT NULL,

plec char,

plec char,

CONSTRAINT check_plec

CONSTRAINT check_plec

CHECK(plec in (

CHECK(plec in (

K’, ‘k’, ‘M’, ‘m’)

K’, ‘k’, ‘M’, ‘m’)

);

);

background image

nazwa_kolumny typ_danych CHECK(warunek)

nazwa_kolumny typ_danych CHECK(warunek)

CREATE TABLE osoba

CREATE TABLE osoba

(

(

data_ur date,

data_ur date,

data_zgonu date

data_zgonu date

CHECK(data_zgonu>=data_ur)

CHECK(data_zgonu>=data_ur)

);

);

background image

nazwa_kolumny typ_danych CHECK(warunek)

nazwa_kolumny typ_danych CHECK(warunek)

CREATE TABLE osoba

CREATE TABLE osoba

(

(

data_ur date,

data_ur date,

data_zgonu date,

data_zgonu date,

…,

…,

CHECK(data_zgonu>=data_ur)

CHECK(data_zgonu>=data_ur)

);

);

background image

nazwa_kolumny typ_danych CHECK(warunek)

nazwa_kolumny typ_danych CHECK(warunek)

CREATE TABLE osoba

CREATE TABLE osoba

(

(

data_ur date,

data_ur date,

data_zgonu date,

data_zgonu date,

,

,

CONSTRAINT check_date

CONSTRAINT check_date

CHECK(data_zgonu>=data_ur)

CHECK(data_zgonu>=data_ur)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [COMPUTE(wyrażenie)],

nazwa_kolumny typ_danych [COMPUTE(wyrażenie)],

nazwa_kolumny typ_danych [REFERENCES

nazwa_kolumny typ_danych [REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT |

{ CASCADE | SET NULL | SET DEFAULT |

RESTRICT }],

RESTRICT }],

.

.

.

.

.

.

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int REFERENCES Znak(id)

Id_znaku int REFERENCES Znak(id)

);

);

UWAGA. Aby zdefiniować klucz obcy, wcześniej musi być zadeklarowana tabela,
na którą ten klucz obcy wskazuje.

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny1 typ_danych [Null | Not Null],

nazwa_kolumny1 typ_danych [Null | Not Null],

nazwa_kolumny3 typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny3 typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny4 typ_danych [UNIQUE],

nazwa_kolumny4 typ_danych [UNIQUE],

nazwa_kolumny5 typ_danych [CHECK(warunek)],

nazwa_kolumny5 typ_danych [CHECK(warunek)],

nazwa_kolumny6 typ_danych [COMPUTE(wyrażenie)],

nazwa_kolumny6 typ_danych [COMPUTE(wyrażenie)],

nazwa_kolumny7 typ_danych [REFERENCES

nazwa_kolumny7 typ_danych [REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT |

{ CASCADE | SET NULL | SET DEFAULT |

RESTRICT }],

RESTRICT }],

.

.

.

.

.

.

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

[CONSTRAINT [nazwa]] PRIMARY KEY (nazwa_kolumny)

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

znak

znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

ON

ON

DELETE

DELETE

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

znak

znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

ON

ON

DELETE

DELETE

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

znak

znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

ON

ON

DELETE

DELETE

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

znak

znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

ON

ON

DELETE

DELETE

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int REFERENCES Znak(id)

Id_znaku int REFERENCES Znak(id)

ON DELETE RESTRICT

ON DELETE RESTRICT

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int REFERENCES Znak(id)

Id_znaku int REFERENCES Znak(id)

ON DELETE SET NULL

ON DELETE SET NULL

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

Null

Null

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int REFERENCES Znak(id)

Id_znaku int REFERENCES Znak(id)

ON DELETE SET NULL

ON DELETE SET NULL

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int REFERENCES Znak(id)

Id_znaku int REFERENCES Znak(id)

ON DELETE CASCADE

ON DELETE CASCADE

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int REFERENCES Znak(id)

Id_znaku int REFERENCES Znak(id)

ON DELETE CASCADE

ON DELETE CASCADE

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [Null | Not Null],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [UNIQUE],

nazwa_kolumny typ_danych [CHECK(warunek)],

nazwa_kolumny typ_danych [CHECK(warunek)],

.

.

.

.

.

.

PRIMARY KEY (nazwa_kolumny),

PRIMARY KEY (nazwa_kolumny),

[CONSTRAINT [nazwa]]

[CONSTRAINT [nazwa]]

FOREIGN KEY

FOREIGN KEY

(nazwa_kolumny_klucza_obcego)

(nazwa_kolumny_klucza_obcego)

REFERENCES

REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }]

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }]

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int,

Id_znaku int,

FOREIGN KEY (Id_znaku) REFERENCES Znak(id)

FOREIGN KEY (Id_znaku) REFERENCES Znak(id)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny2 typ_danych [Null | Not Null],

nazwa_kolumny2 typ_danych [Null | Not Null],

nazwa_kolumny3 typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny3 typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny4 typ_danych [UNIQUE],

nazwa_kolumny4 typ_danych [UNIQUE],

nazwa_kolumny5 typ_danych [CHECK(warunek)],

nazwa_kolumny5 typ_danych [CHECK(warunek)],

nazwa_kolumny6 typ_danych [COMPUTE(wyrażenie)],

nazwa_kolumny6 typ_danych [COMPUTE(wyrażenie)],

.

.

.

.

.

.

PRIMARY KEY (nazwa_kolumny),

PRIMARY KEY (nazwa_kolumny),

[CONSTRAINT [nazwa]] FOREIGN KEY

[CONSTRAINT [nazwa]] FOREIGN KEY

(nazwa_kolumny_klucza_obcego)

(nazwa_kolumny_klucza_obcego)

REFERENCES

REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }]

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }]

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int,

Id_znaku int,

CONSTRAINT fk_osoba_znak FOREIGN KEY (Id_znaku)

CONSTRAINT fk_osoba_znak FOREIGN KEY (Id_znaku)

REFERENCES Znak(id)

REFERENCES Znak(id)

);

);

background image

Tworzenie struktury

Tworzenie struktury

tabeli

tabeli

CREATE TABLE nazwa_tabeli

CREATE TABLE nazwa_tabeli

(

(

nazwa_kolumny2 typ_danych [Null | Not Null],

nazwa_kolumny2 typ_danych [Null | Not Null],

nazwa_kolumny3 typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny3 typ_danych [DEFAULT domyślna_wartość],

nazwa_kolumny4 typ_danych [UNIQUE],

nazwa_kolumny4 typ_danych [UNIQUE],

nazwa_kolumny5 typ_danych [CHECK(warunek)],

nazwa_kolumny5 typ_danych [CHECK(warunek)],

nazwa_kolumny6 typ_danych [COMPUTE(wyrażenie)],

nazwa_kolumny6 typ_danych [COMPUTE(wyrażenie)],

.

.

.

.

.

.

PRIMARY KEY (nazwa_kolumny),

PRIMARY KEY (nazwa_kolumny),

[CONSTRAINT [nazwa]] FOREIGN KEY

[CONSTRAINT [nazwa]] FOREIGN KEY

(nazwa_kolumny_klucza_obcego)

(nazwa_kolumny_klucza_obcego)

REFERENCES

REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

[ON { UPDATE | DELETE }

[ON { UPDATE | DELETE }

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }]

{ CASCADE | SET NULL | SET DEFAULT | RESTRICT }]

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int,

Id_znaku int,

CONSTRAINT fk_osoba_znak FOREIGN KEY (Id_znaku)

CONSTRAINT fk_osoba_znak FOREIGN KEY (Id_znaku)

REFERENCES Znak(id) ON DELETE RESRTICT

REFERENCES Znak(id) ON DELETE RESRTICT

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int,

Id_znaku int,

CONSTRAINT fk FOREIGN KEY (Id_znaku)

CONSTRAINT fk FOREIGN KEY (Id_znaku)

REFERENCES Znak(id) ON DELETE SET NULL

REFERENCES Znak(id) ON DELETE SET NULL

);

);

background image

Id

Id

Imie

Imie

Id

Id

znaku

znaku

Id

Id

Znak

Znak

0

0

1

1

Adam

Adam

01

01

0

0

1

1

Baran

Baran

0

0

2

2

Ewa

Ewa

Null

Null

Id znaku = id

Id znaku = id

0

0

2

2

Ryby

Ryby

0

0

3

3

Jacek

Jacek

01

01

0

0

3

3

Byk

Byk

0

0

4

4

Julia

Julia

Null

Null

0

0

4

4

Lew

Lew

0

0

5

5

Anna

Anna

02

02

CREATE TABLE osoba

CREATE TABLE osoba

(

(

Id int PRIMARY KEY,

Id int PRIMARY KEY,

Imie char(20),

Imie char(20),

Id_znaku int,

Id_znaku int,

CONSTRAINT fk FOREIGN KEY (Id_znaku)

CONSTRAINT fk FOREIGN KEY (Id_znaku)

REFERENCES Znak(id) ON DELETE CASCADE

REFERENCES Znak(id) ON DELETE CASCADE

);

);

background image

Tworzenie struktury tabeli.

Tworzenie struktury tabeli.

Przykład

Przykład

CREATE TABLE Pozycja_zam

CREATE TABLE Pozycja_zam

(

(

id integer PRIMARY KEY,

id integer PRIMARY KEY,

id_zamowienia integer NOT NULL,

id_zamowienia integer NOT NULL,

id_towaru integer NOT NULL,

id_towaru integer NOT NULL,

ilosc_towaru_na_zamowieniu integer DEFAULT 1 NOT

ilosc_towaru_na_zamowieniu integer DEFAULT 1 NOT

NULL,

NULL,

FOREIGN KEY (id_zamowienia) REFERENCES

FOREIGN KEY (id_zamowienia) REFERENCES

Zamowienie(id) ON DELETE CASCADE,

Zamowienie(id) ON DELETE CASCADE,

FOREIGN KEY (id_towaru) REFERENCES

FOREIGN KEY (id_towaru) REFERENCES

Towar(id) ON DELETE SET NULL

Towar(id) ON DELETE SET NULL

);

);

background image

Tworzenie struktury tabeli.

Tworzenie struktury tabeli.

Przykład

Przykład

CREATE TABLE Pracownik

CREATE TABLE Pracownik

(

(

id integer PRIMARY KEY,

id integer PRIMARY KEY,

imie varchar(20) NOT NULL,

imie varchar(20) NOT NULL,

nazwisko varchar(20) NOT NULL,

nazwisko varchar(20) NOT NULL,

data_urodzenia date NOT NULL,

data_urodzenia date NOT NULL,

data_zatrudnienia date DEFAULT SysDate,

data_zatrudnienia date DEFAULT SysDate,

id_dzialu integer REFERENCES Dzial(id),

id_dzialu integer REFERENCES Dzial(id),

CHECK(extract(YEAR from data_zatrudnienia) –

CHECK(extract(YEAR from data_zatrudnienia) –

extract(YEAR from data_urodzenia) >= 18)

extract(YEAR from data_urodzenia) >= 18)

);

);

background image

Edycja struktury tabeli

Edycja struktury tabeli

Dodanie kolumny

Dodanie kolumny

ALTER TABLE nazwa_tabeli ADD

ALTER TABLE nazwa_tabeli ADD

(nazwa_kolumny typ_danych [Default watrość])

(nazwa_kolumny typ_danych [Default watrość])

Usunięcie kolumny

Usunięcie kolumny

ALTER TABLE nazwa_tabeli DROP COLUMN nazwa_kolumny

ALTER TABLE nazwa_tabeli DROP COLUMN nazwa_kolumny

[CASCADE CONSTRAINTS]

[CASCADE CONSTRAINTS]

Zmiana własności kolumny

Zmiana własności kolumny

ALTER TABLE nazwa_tabeli MODIFY nazwa_kolumny nowa_definicja

ALTER TABLE nazwa_tabeli MODIFY nazwa_kolumny nowa_definicja

Zmiana nazwy kolumny

Zmiana nazwy kolumny

ALTER TABLE nazwa_tabeli

ALTER TABLE nazwa_tabeli

RENAME COLUMN nazwa_kolumny TO nowa_nazwa_kolumny

RENAME COLUMN nazwa_kolumny TO nowa_nazwa_kolumny

Zmiana nazwy tabeli

Zmiana nazwy tabeli

RENAME nazwa_tabeli TO nowa_nazwa_tabeli

RENAME nazwa_tabeli TO nowa_nazwa_tabeli

Dodanie klucza obcego

Dodanie klucza obcego

ALTER TABLE nazwa_tabeli

ALTER TABLE nazwa_tabeli

ADD FOREIGN KEY nazwa_kolumny_klucza_obcego REFERENCES

ADD FOREIGN KEY nazwa_kolumny_klucza_obcego REFERENCES

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

nazwa_tabeli_macierzystej(nazwa_kolumny_klucza_głównego)

background image

Edycja struktury tabeli

Edycja struktury tabeli

Dodanie kolumny

Dodanie kolumny

ALTER TABLE nazwa_tabeli

ALTER TABLE nazwa_tabeli

ADD (nazwa_kolumny

ADD (nazwa_kolumny

typ_danych [ograniczenie])

typ_danych [ograniczenie])

ALTER TABLE osoba ADD

ALTER TABLE osoba ADD

(wiek integer NULL);

(wiek integer NULL);

background image

Edycja struktury tabeli

Edycja struktury tabeli

Zmiana własności kolumny

Zmiana własności kolumny

ALTER TABLE nazwa_tabeli

ALTER TABLE nazwa_tabeli

MODIFY nazwa_kolumny

MODIFY nazwa_kolumny

nowa_definicja

nowa_definicja

ALTER TABLE osoba MODIFY

ALTER TABLE osoba MODIFY

wiek NOT NULL

wiek NOT NULL

background image

Edycja struktury tabeli

Edycja struktury tabeli

Usunięcie kolumny

Usunięcie kolumny

ALTER TABLE nazwa_tabeli

ALTER TABLE nazwa_tabeli

DROP COLUMN

DROP COLUMN

nazwa_kolumny

nazwa_kolumny

ALTER TABLE osoba DROP COLUMN wiek;

ALTER TABLE osoba DROP COLUMN wiek;

background image

Edycja struktury tabeli

Edycja struktury tabeli

Usunięcie kolumny

Usunięcie kolumny

ALTER TABLE nazwa_tabeli

ALTER TABLE nazwa_tabeli

DROP COLUMN

DROP COLUMN

nazwa_kolumny

nazwa_kolumny

ALTER TABLE osoba DROP COLUMN

ALTER TABLE osoba DROP COLUMN

id_osoby;

id_osoby;

background image

Edycja struktury tabeli

Edycja struktury tabeli

Usunięcie kolumny

Usunięcie kolumny

ALTER TABLE nazwa_tabeli

ALTER TABLE nazwa_tabeli

DROP nazwa_kolumny

DROP nazwa_kolumny

ALTER TABLE osoba DROP COLUMN

ALTER TABLE osoba DROP COLUMN

id_osoby CASCADE CONSTRAINTS;

id_osoby CASCADE CONSTRAINTS;

background image

Edycja struktury tabeli

Edycja struktury tabeli

Zmiana nazwy kolumny

Zmiana nazwy kolumny

ALTER TABLE nazwa_tabeli

ALTER TABLE nazwa_tabeli

RENAME COLUMN

RENAME COLUMN

nazwa_kolumny TO

nazwa_kolumny TO

nowa_nazwa_kolumny

nowa_nazwa_kolumny

ALTER TABLE osoba RENAME COLUMN

ALTER TABLE osoba RENAME COLUMN

data_urodzenia TO data_ur

data_urodzenia TO data_ur

background image

Edycja struktury tabeli

Edycja struktury tabeli

Zmiana nazwy tabeli

Zmiana nazwy tabeli

RENAME nazwa_tabeli TO

RENAME nazwa_tabeli TO

nowa_nazwa_tabeli

nowa_nazwa_tabeli

RENAME osoba TO osoby

RENAME osoba TO osoby

background image

Edycja struktury tabeli

Edycja struktury tabeli

Dodanie klucza obcego

Dodanie klucza obcego

ALTER TABLE nazwa_tabeli

ALTER TABLE nazwa_tabeli

ADD FOREIGN KEY

ADD FOREIGN KEY

(nazwa_kolumny_klucza_obcego)

(nazwa_kolumny_klucza_obcego)

REFERENCES

REFERENCES

nazwa_tabeli_macierzystej(nazwa_

nazwa_tabeli_macierzystej(nazwa_

kolumny_klucza_głównego)

kolumny_klucza_głównego)

ALTER TABLE osoba ADD FOREIGN KEY

ALTER TABLE osoba ADD FOREIGN KEY

(id_znaku) REFERENCES Znak(id)

(id_znaku) REFERENCES Znak(id)

background image

Edycja struktury tabeli. Dodanie klucza

Edycja struktury tabeli. Dodanie klucza

obcego

obcego

CREATE TABLE osoba

CREATE TABLE osoba

(

(

id integer PRIMARY KEY,

id integer PRIMARY KEY,

imie varchar(20) NOT NULL,

imie varchar(20) NOT NULL,

id_znaku integer

id_znaku integer

);

);

ALTER TABLE osoba ADD FOREIGN KEY

ALTER TABLE osoba ADD FOREIGN KEY

(id_znaku) REFERENCES Znak(id);

(id_znaku) REFERENCES Znak(id);

background image

CREATE TABLE osoba

CREATE TABLE osoba

(

(

id integer PRIMARY KEY,

id integer PRIMARY KEY,

imie varchar(20) NOT NULL

imie varchar(20) NOT NULL

);

);

ALTER TABLE osoba ADD

ALTER TABLE osoba ADD

(

(

id_znaku integer,

id_znaku integer,

FOREIGN KEY (id_znaku) REFERENCES Znak(id)

FOREIGN KEY (id_znaku) REFERENCES Znak(id)

);

);

Edycja struktury tabeli. Dodanie klucza

Edycja struktury tabeli. Dodanie klucza

obcego

obcego

background image

CREATE TABLE osoba

CREATE TABLE osoba

(

(

id integer PRIMARY KEY,

id integer PRIMARY KEY,

imie varchar(20) NOT NULL

imie varchar(20) NOT NULL

);

);

ALTER TABLE osoba ADD

ALTER TABLE osoba ADD

id_znaku integer REFERENCES Znak(id);

id_znaku integer REFERENCES Znak(id);

Edycja struktury tabeli. Dodanie klucza

Edycja struktury tabeli. Dodanie klucza

obcego

obcego

background image

CREATE TABLE osoba

CREATE TABLE osoba

(

(

id integer PRIMARY KEY,

id integer PRIMARY KEY,

imie varchar(20) NOT NULL

imie varchar(20) NOT NULL

);

);

ALTER TABLE osoba ADD

ALTER TABLE osoba ADD

id_znaku integer REFERENCES Znak(id)

id_znaku integer REFERENCES Znak(id)

ON DELETE SET NULL;

ON DELETE SET NULL;

Edycja struktury tabeli. Dodanie klucza

Edycja struktury tabeli. Dodanie klucza

obcego

obcego

background image

Usunięcie tabeli

Usunięcie tabeli

DROP TABLE nazwa_tabeli

DROP TABLE nazwa_tabeli

[CASCADE CONSTRAINTS];

[CASCADE CONSTRAINTS];

DROP TABLE Osoba;

DROP TABLE Osoba;

background image

Usunięcie tabeli

Usunięcie tabeli

DROP TABLE nazwa_tabeli

DROP TABLE nazwa_tabeli

[CASCADE CONSTRAINTS];

[CASCADE CONSTRAINTS];

DROP TABLE Osoba

DROP TABLE Osoba

CASCADE CONSTRAINTS;

CASCADE CONSTRAINTS;

Tabela Osoba zostanie usunięta wraz z kluczami obcymi,
które na nią wskazują.

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

);

);

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

INSERT INTO nazwa_tabeli

INSERT INTO nazwa_tabeli

[(nazwa_kolumny1, nazwa_kolumny2,

[(nazwa_kolumny1, nazwa_kolumny2,

…, nazwa_kolumnyN)]

…, nazwa_kolumnyN)]

VALUES (wartość1, wartość2, ...,

VALUES (wartość1, wartość2, ...,

wartośćN)

wartośćN)

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

);

);

INSERT INTO Osoba (id, imie, nazwisko)

INSERT INTO Osoba (id, imie, nazwisko)

VALUES (1, ‘Jan’, ‘Kowalski’);

VALUES (1, ‘Jan’, ‘Kowalski’);

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

INSERT INTO nazwa_tabeli

INSERT INTO nazwa_tabeli

[(nazwa_kolumny1, nazwa_kolumny2,

[(nazwa_kolumny1, nazwa_kolumny2,

…,

…,

nazwa_kolumnyN)]

nazwa_kolumnyN)]

VALUES (wartość1, wartość2, ...,

VALUES (wartość1, wartość2, ...,

wartośćN)

wartośćN)

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

);

);

INSERT INTO Osoba

INSERT INTO Osoba

(id, imie, nazwisko)

(id, imie, nazwisko)

VALUES (1, ‘Jan’, ‘Kowalski’);

VALUES (1, ‘Jan’, ‘Kowalski’);

INSERT INTO Osoba

INSERT INTO Osoba

VALUES (1, ‘Jan’, ‘Kowalski’);

VALUES (1, ‘Jan’, ‘Kowalski’);

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

);

);

INSERT INTO Osoba (id, nazwisko, imie)

INSERT INTO Osoba (id, nazwisko, imie)

VALUES (1, ‘Kowalski’ , ‘Jan’);

VALUES (1, ‘Kowalski’ , ‘Jan’);

INSERT INTO Osoba (imie, nazwisko)

INSERT INTO Osoba (imie, nazwisko)

VALUES (‘Jan’, ‘Kowalski’);

VALUES (‘Jan’, ‘Kowalski’);

INSERT INTO Osoba (id, nazwisko, imie)

INSERT INTO Osoba (id, nazwisko, imie)

VALUES (1, ‘Jan’, ‘Kowalski’);

VALUES (1, ‘Jan’, ‘Kowalski’);

INSERT INTO Osoba

INSERT INTO Osoba

VALUES (‘Jan’, ‘Kowalski’,1);

VALUES (‘Jan’, ‘Kowalski’,1);

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

);

);

INSERT INTO Osoba (id, nazwisko, imie)

INSERT INTO Osoba (id, nazwisko, imie)

VALUES (1, ‘Kowalski’, ‘Jan’);

VALUES (1, ‘Kowalski’, ‘Jan’);

INSERT INTO Osoba (imie, nazwisko)

INSERT INTO Osoba (imie, nazwisko)

VALUES (‘Jan’, ‘Kowalski’);

VALUES (‘Jan’, ‘Kowalski’);

INSERT INTO Osoba (id, nazwisko, imie)

INSERT INTO Osoba (id, nazwisko, imie)

VALUES (1, ‘Jan’, ‘Kowalski’);

VALUES (1, ‘Jan’, ‘Kowalski’);

INSERT INTO Osoba

INSERT INTO Osoba

VALUES (‘Jan’, ‘Kowalski’,1);

VALUES (‘Jan’, ‘Kowalski’,1);

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

);

);

INSERT INTO Osoba (id, nazwisko, imie)

INSERT INTO Osoba (id, nazwisko, imie)

VALUES (1, ‘Kowalski’, ‘Jan’);

VALUES (1, ‘Kowalski’, ‘Jan’);

INSERT INTO Osoba (imie, nazwisko)

INSERT INTO Osoba (imie, nazwisko)

VALUES (‘Jan’, ‘Kowalski’);

VALUES (‘Jan’, ‘Kowalski’);

INSERT INTO Osoba (id, nazwisko, imie)

INSERT INTO Osoba (id, nazwisko, imie)

VALUES (1, ‘Jan’, ‘Kowalski’);

VALUES (1, ‘Jan’, ‘Kowalski’);

INSERT INTO Osoba

INSERT INTO Osoba

VALUES (‘Jan’, ‘Kowalski’,1);

VALUES (‘Jan’, ‘Kowalski’,1);

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

);

);

INSERT INTO Osoba (id, nazwisko, imie)

INSERT INTO Osoba (id, nazwisko, imie)

VALUES (1, ‘Kowalski’, ‘Jan’);

VALUES (1, ‘Kowalski’, ‘Jan’);

INSERT INTO Osoba (imie, nazwisko)

INSERT INTO Osoba (imie, nazwisko)

VALUES (‘Jan’, ‘Kowalski’);

VALUES (‘Jan’, ‘Kowalski’);

INSERT INTO Osoba (id, nazwisko, imie)

INSERT INTO Osoba (id, nazwisko, imie)

VALUES (1, ‘Jan’, ‘Kowalski’);

VALUES (1, ‘Jan’, ‘Kowalski’);

INSERT INTO Osoba

INSERT INTO Osoba

VALUES (‘Jan’, ‘Kowalski’,1);

VALUES (‘Jan’, ‘Kowalski’,1);

background image

Dodawanie do tabeli

Dodawanie do tabeli

danych pochodzących z

danych pochodzących z

innej tabeli

innej tabeli

INSERT INTO nazwa_tabeli

INSERT INTO nazwa_tabeli

[(nazwa_kolumny1, nazwa_kolumny2,

[(nazwa_kolumny1, nazwa_kolumny2,

…,

…,

nazwa_kolumnyN)]

nazwa_kolumnyN)]

SELECT [(nazwa_kolumny1,

SELECT [(nazwa_kolumny1,

nazwa_kolumny2, …, nazwa_kolumnyN)]

nazwa_kolumny2, …, nazwa_kolumnyN)]

FROM nazwa_tabeli_2

FROM nazwa_tabeli_2

background image

Dodawanie rekordów do

Dodawanie rekordów do

tabeli

tabeli

CREATE TABLE Osoba

CREATE TABLE Osoba

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30),

varchar(30),

data_ur

data_ur

date,

date,

plec

plec

char,

char,

wiek

wiek

integer

integer

);

);

CREATE TABLE Seniorzy

CREATE TABLE Seniorzy

(

(

id

id

integer

integer

PRIMARY KEY,

PRIMARY KEY,

imie

imie

varchar(20),

varchar(20),

nazwisko

nazwisko

varchar(30)

varchar(30)

);

);

INSERT INTO Seniorzy(id, imie, nazwisko)

INSERT INTO Seniorzy(id, imie, nazwisko)

SELECT (id, imie, nazwisko) from Osoba

SELECT (id, imie, nazwisko) from Osoba

WHERE wiek>=60;

WHERE wiek>=60;

background image

Sekwencja

Sekwencja

Obiekt posiadający możliwość zmiany

Obiekt posiadający możliwość zmiany

generowanej wartości w sposób określony

generowanej wartości w sposób określony

przez jego parametry.

przez jego parametry.

Nie jest on związany z żadnym innym

Nie jest on związany z żadnym innym

obiektem, ale stanowi oddzielny byt.

obiektem, ale stanowi oddzielny byt.

CREATE SEQUENCE Licznik;

CREATE SEQUENCE Licznik;

Przy każdym wywołaniu obiekt ten będzie

Przy każdym wywołaniu obiekt ten będzie

generował kolejne liczby całkowite

generował kolejne liczby całkowite

począwszy od 1.

począwszy od 1.

background image

Sekwencja - parametry

Sekwencja - parametry

START WITH – ustala wartość , od której będą

START WITH – ustala wartość , od której będą

generowane kolejne liczby,

generowane kolejne liczby,

INCREMENT BY – definiuje wartość, o którą

INCREMENT BY – definiuje wartość, o którą

różnią się dwie liczby wygenerowane kolejno,

różnią się dwie liczby wygenerowane kolejno,

MAXVALUE – określa maksymalną wartość,

MAXVALUE – określa maksymalną wartość,

która może być wygenerowana,

która może być wygenerowana,

MINVALUE – najmniejsza wartość, która może

MINVALUE – najmniejsza wartość, która może

być wygenerowana,

być wygenerowana,

UWAGA. Wszystkie parametry liczbowe są liczbami

UWAGA. Wszystkie parametry liczbowe są liczbami

całkowitymi i mogą być ujemne

całkowitymi i mogą być ujemne

background image

Sekwencja – parametry

Sekwencja – parametry

CYCLE / NOCYCLE – określa, czy po

CYCLE / NOCYCLE – określa, czy po

osiągnięciu ograniczenia górnego lub dolnego

osiągnięciu ograniczenia górnego lub dolnego

nastąpi ponowienie generacji

nastąpi ponowienie generacji

CACHE – określa liczbę przechowywanych w

CACHE – określa liczbę przechowywanych w

pamięci kolejnych wartości generowanych

pamięci kolejnych wartości generowanych

przez sekwencję. Zwiększenie tej wartości

przez sekwencję. Zwiększenie tej wartości

przyspiesza przetwarzania, przy dużym

przyspiesza przetwarzania, przy dużym

zrównolegleniu operacji sięgających do danej

zrównolegleniu operacji sięgających do danej

sekwencji, kosztem zasobów pamięci

sekwencji, kosztem zasobów pamięci

NOORDER – nie gwarantuje generowania

NOORDER – nie gwarantuje generowania

kolejnych wartości

kolejnych wartości

background image

Sekwencja –

Sekwencja –

parametry domyślne

parametry domyślne

CREATE SEQUENCE Licznik

CREATE SEQUENCE Licznik

INCREMENT BY 1

INCREMENT BY 1

START WITH 1

START WITH 1

MAXVALUE 1.0E28

MAXVALUE 1.0E28

MINVALUE 1 CYCLE

MINVALUE 1 CYCLE

CACHE 20

CACHE 20

NOORDER;

NOORDER;

background image

Sekwencja – metody

Sekwencja – metody

sekwencja.NEXTVAL – wygenerowanie

sekwencja.NEXTVAL – wygenerowanie

kolejnej liczby zgodnie z definicją użytej

kolejnej liczby zgodnie z definicją użytej

sekwencji

sekwencji

INSERT INTO Osoba VALUES

INSERT INTO Osoba VALUES

(Licznik.NEXTVAL, ‘Alicja’, ‘Nowak’)

(Licznik.NEXTVAL, ‘Alicja’, ‘Nowak’)

background image

Sekwencja – metody

Sekwencja – metody

sekwencja.NEXTVAL – wygenerowanie

sekwencja.NEXTVAL – wygenerowanie

kolejnej liczby zgodnie z definicją użytej

kolejnej liczby zgodnie z definicją użytej

sekwencji

sekwencji

INSERT INTO Osoba VALUES

INSERT INTO Osoba VALUES

(Licznik.NEXTVAL, ‘Alicja’, ‘Nowak’)

(Licznik.NEXTVAL, ‘Alicja’, ‘Nowak’)

sekwencja.CURRVAL – wyświetlenie

sekwencja.CURRVAL – wyświetlenie

bieżącej wartości używanej sekwencji

bieżącej wartości używanej sekwencji

background image

Edycja rekordów

Edycja rekordów

UPDATE nazwa_tabeli

UPDATE nazwa_tabeli

SET nazwa_kolumny = wartość

SET nazwa_kolumny = wartość

[WHERE warunek]

[WHERE warunek]

background image

Edycja rekordów

Edycja rekordów

UPDATE nazwa_tabeli

UPDATE nazwa_tabeli

SET nazwa_kolumny = wartość

SET nazwa_kolumny = wartość

[WHERE warunek]

[WHERE warunek]

UPDATE Osoba

UPDATE Osoba

SET imie = UPPER(imie);

SET imie = UPPER(imie);

background image

Edycja rekordów

Edycja rekordów

UPDATE nazwa_tabeli

UPDATE nazwa_tabeli

SET nazwa_kolumny = wartość

SET nazwa_kolumny = wartość

[WHERE warunek]

[WHERE warunek]

UPDATE Osoba

UPDATE Osoba

SET

SET

imie = UPPER(imie),

imie = UPPER(imie),

nazwisko = UPPER(nazwisko);

nazwisko = UPPER(nazwisko);

background image

Edycja rekordów

Edycja rekordów

UPDATE nazwa_tabeli

UPDATE nazwa_tabeli

SET nazwa_kolumny = wartość

SET nazwa_kolumny = wartość

[WHERE warunek]

[WHERE warunek]

UPDATE Osoba

UPDATE Osoba

SET imie = ‘Anna’;

SET imie = ‘Anna’;

background image

Edycja rekordów

Edycja rekordów

UPDATE nazwa_tabeli

UPDATE nazwa_tabeli

SET nazwa_kolumny = wartość

SET nazwa_kolumny = wartość

[WHERE warunek]

[WHERE warunek]

background image

Edycja rekordów

Edycja rekordów

UPDATE nazwa_tabeli

UPDATE nazwa_tabeli

SET nazwa_kolumny = wartość

SET nazwa_kolumny = wartość

[WHERE warunek]

[WHERE warunek]

UPDATE Osoba

UPDATE Osoba

SET imie = ‘Anna’

SET imie = ‘Anna’

WHERE id = 1;

WHERE id = 1;

background image

Usuwanie rekordów

Usuwanie rekordów

DELETE FROM nazwa_tabeli

DELETE FROM nazwa_tabeli

[WHERE warunek]

[WHERE warunek]

background image

Usuwanie rekordów

Usuwanie rekordów

DELETE FROM nazwa_tabeli

DELETE FROM nazwa_tabeli

[WHERE warunek]

[WHERE warunek]

DELETE FROM Osoba;

DELETE FROM Osoba;

background image

Usuwanie rekordów

Usuwanie rekordów

DELETE FROM nazwa_tabeli

DELETE FROM nazwa_tabeli

[WHERE warunek]

[WHERE warunek]

background image

Usuwanie rekordów

Usuwanie rekordów

DELETE FROM nazwa_tabeli

DELETE FROM nazwa_tabeli

[WHERE warunek]

[WHERE warunek]

DELETE FROM Osoba

DELETE FROM Osoba

WHERE id > 5;

WHERE id > 5;

background image

Usuwanie rekordów

Usuwanie rekordów

DELETE FROM nazwa_tabeli

DELETE FROM nazwa_tabeli

[WHERE warunek]

[WHERE warunek]

DELETE FROM Osoba

DELETE FROM Osoba

WHERE id = 5;

WHERE id = 5;

DELETE FROM Osoba

DELETE FROM Osoba

WHERE data_ur IS NULL;

WHERE data_ur IS NULL;


Document Outline


Wyszukiwarka

Podobne podstrony:
SQL 3(DDL modyf tab view index)
transakcyjny SQL
06 podstawy SQL 3id 6524 ppt
juki DDL 5550 DDL 8500 DDL 8700 manual
Oracle Database 11g i SQL Programowanie or11pr
BAZY DANYCH SQL (2)
Juki DDL 8700 7
Środki stylistyczne i rodzaje rymów - powtórzenie wiadomości., Sql, Projekty, prace domowe, dodatkow
ściąga z ang, Sql, Ściągi

więcej podobnych podstron