Śledź nas na:



DDL, Definionwanie schematu bazy danych

Tworzenie relacji przez podzapytanie.

Wynik zapytania można zmaterializowac w postaci relacji.

  • Nowa relacja składa sie z atrybutów wymienionych w klauzuli SELECT zapytania;
  • Jesli podano list nazw atrybutów nowej relacji to lista atrybutów w klauzuli SELECT zapytania musi sie pokrywac z ta lista;

Przykład.

CREATE TABLE roczne_place (nazwisko NOT NULL, etat, roczne)
AS SELECT nazwisko, etat, 12*placa_pod + NVL(placa_dod, 0)
FROM pracownicy;

Modyfikowanie schematu relacji.

Dodawanie nowych atrybutów i ograniczen;

ALTER TABLE nazwa_relacji
ADD [ nazwa typ(rozmiar) [DEFAULT wartosc] ograniczenia |
CONSTRAINT nazwa typ ograniczenie ];

Modyfikowanie istniejacych atrybutów;

ALTER TABLE nazwa_relacji
MODIFY ( nazwa typ(rozmiar) [DEFAULT wartosc] [ NOT NULL ]);

Usuwanie atrybutów i ograniczen;

ALTER TABLE nazwa_relacji
DROP [ COLUMN (nazwa) | CONSTRAINT ( nazwa ) ];

Zarzadzanie ograniczeniami integralnosciowymi.

Właczanie ograniczenia integralnosciowego;

ALTER TABLE relacja
ENABLE [CONSTRAINT nazwa | rodzaj];
ALTER TABLE pracownicy
ENABLE CONSTRAINT prac_fk;

Wyłaczenie ograniczenia integralnosciowego;

ALTER TABLE relacja
DISABLE [CONSTRAINT nazwa | rodzaj];
ALTER TABLE pracownicy
DISABLE PRIMARY KEY;

Zmiana nazwy relacji, usuwanie relacji.

Zmiana nazwy istniejacej relacji

RENAME stara_nazwa TO nowa_nazwa;

Dodanie komentarza do relacji;

COMMENT ON TABLE relacja IS ?komentarz?;
COMMENT ON COLUMN relacja.atrybut IS ?komentarz?;

Usuniecie relacji;

DROP TABLE nazwa_relacji [ CASCADE CONSTRAINTS];
  • wszystkie dane sa usuwane z relacji;
  • wszystkie indeksy założone na relacji sa usuwane;
  • jeżeli nie podano CASCADE CONSTRAINT to polecenie może zakonczyc sie błedem (jesli istnieja relacje zależne)


Zobacz także