Typy Oracle atrybutów relacji Typ NUMBER (1)

Podobne dokumenty
Typy Oracle atrybutów relacji Typ NUMBER (1)

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Wykład 4. SQL praca z tabelami 1

Ćwiczenie 7 - DDL. Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL. Wymagania: Bazy Danych

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

Bazy danych - Materiały do laboratoriów VIII

Język SQL. Rozdział 8. Język manipulowania danymi DML

Paweł Rajba

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Widok Connections po utworzeniu połączenia. Obszar roboczy

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Instrukcja CREATE TABLE

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Aspekty aktywne baz danych

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Autor: Joanna Karwowska

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Ref. 7 - Język SQL - polecenia DDL i DML

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12

ACESS- zadania z wykorzystaniem poleceń SQL

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych Ćwiczenia projektowe

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Administracja i programowanie pod Microsoft SQL Server 2000

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania

Baza danych inside. Biologiczne Aplikacje Baz Danych

Bazy danych Ćwiczenia projektowe

Wykład 8. SQL praca z tabelami 5

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Język SQL. Rozdział 2. Proste zapytania

Język SQL, zajęcia nr 1

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus

SQL w praktyce. Miłej i owocnej nauki!!!

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Język PL/SQL. Rozdział 6. Procedury wyzwalane

Wykład 5. SQL praca z tabelami 2

Dr Michał Tanaś(

Wykład 05 Bazy danych

Procedury wyzwalane. Rozdział 13. Procedury wyzwalane. Cele stosowania procedur wyzwalanych. Definiowanie procedury wyzwalanej DML

WPROWADZENIE DO JĘZYKA SQL

Wykład 2. SQL 1 Structured Query Lenguage

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Język SQL. Rozdział 3. Funkcje wierszowe

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

1. Wyzwalacze BD (ang. triggers)

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Bazy danych 10. SQL Widoki

Projektowanie Baz Danych GiG-2-KG Ćw. 5. Podstawy języka SQL

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Uprawnienia, role, synonimy

Funkcje. Rozdział 3a Funkcje wierszowe. Funkcje znakowe (1) Funkcje wierszowe

Bazy Danych i Usługi Sieciowe

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Projektowanie systemów baz danych

Bazy danych i usługi sieciowe

Bazy danych 7. SQL podstawy

Wprowadzenie do języka PL/SQL. Rozdział 9 Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL

Język PL/SQL. Rozdział 1. Wprowadzenie do języka PL/SQL

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Zbiór pytań nr 2. 1 Tabela DEPARTMENTS ma następującą strukturę:

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

STANDARDY JĘZYKA SQL CECHY JĘZYKA SQL WADY I ZALETY

Zarządzanie obiektami bazy danych Oracle11g

Tworzenie baz danych i tabel

Modelowanie wymiarów

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Bazy danych. Polecenia SQL

Bazy danych 6. Klucze obce. P. F. Góra

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) )

Struktura bazy danych

Relacyjne bazy danych. Podstawy SQL

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Pakiety podprogramów Dynamiczny SQL

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Wprowadzenie do języka PL/SQL. Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL. Zmienne rekordowe.

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Język zapytań SQL- język relacyjnych baz danych

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

Oracle PL/SQL. Paweł Rajba.

SQL :: Data Definition Language

PL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń

Bloki anonimowe w PL/SQL

Przedmowa Rozpoczęcie pracy z bazą danych Microsoft SQL Server Podstawowe instrukcje języka SQL...39

bazy danych - heterogeniczność producenci funkcjonalność modele danych protokoły komunikacyjne

Bazy danych i usługi sieciowe

Transkrypt:

Tworzenie relacji polecenie CREATE TABLE Rozdział 6 Język definiowania danych DDL CREATE TABLE nazwa_relacji (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr], nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],... [ [CONSTRAINT nazwa_ogr] ograniczenie_rel,...] ); Tworzenie relacji, typy danych, definiowanie atrybutów i ograniczeń integralnościowych, polecenie CREATE TABLE, wartości domyślne, modyfikowanie struktury relacji, zarządzanie ograniczeniami Nazwa relacji: musi zaczynać się od litery A-Za-z może zawierać litery, cyfry, znaki _ $ # (ostatnie dwa nie są zalecane) jest nieczuła na wielkość użytych znaków (chyba że użyto cudzysłowu) nie może przekroczyć 30 znaków musi być jednoznaczna i różna od nazw innych relacji, perspektyw i synonimów w schemacie danego użytkownika nie może być słowem zastrzeżonym języka SQL 1 2 Typ danych Typy Oracle atrybutów relacji Dopuszczalne wartości Typ NUMBER (1) CHAR(n BYTE CHAR) NCHAR(n) VARCHAR2(n BYTE CHAR) NVARCHAR2(n) Ciąg znaków o stałej długości i rozmiarze n bajtów lub znaków (dom. 1). Maks. 2000B Jak CHAR(n), n liczba znaków, w UNICODE (2B lub 3B na znak) Ciąg znaków o zmiennej długości i rozmiarze n bajtów lub znaków. Maks. 4000B (32 767B od Oracle 12c). Rozmiar n musi być podany. Jak VARCHAR2(n), n liczba znaków, w UNICODE (2B lub 3B na znak) NUMBER(p,s) Liczba o precyzji p (1-38) i skali s (-84,127) z przedziału 1x10-130 9.9...9x10 125 DATE Data z przedziału 1.01.4712 p.n.e. i 31.12.9999 n.e. Zakres: <10-130, 10 126-1> Zaimplementowany w sposób niezależny od platformy Deklaracja typu zmiennoprzecinkowego: NUMBER maks. 40 pozycji pr_placa NUMBER, TIMESTAMP(p) Znacznik czasowy z dokł. p części ułamkowych sekundy (od 0 do 9, domyślnie 6) INTERVAL YEAR(p) TO MONTH INTERVAL DAY(p1) TO SECOND(p2) CLOB NCLOB BLOB BFILE Przedział czasu reprezentowany przez lata i miesiące z zadaną liczbą cyfr w określeniu lat (od 0 do 9, domyślnie 6) Przedział czasu reprezentowany przez dni, godziny, minuty i sekundy z zadaną liczbą cyfr w określeniu dni (p1) i liczbą pozycji ułamkowych części sekundy (p2) Duży obiekt binarny zawierający łańcuchy znaków (stałej i zmiennej długości) o maks. rozmiarze 128TB dla Oracle11g lub 8TB dla Oracle9i/10g Jak CLOB, w UNICODE Duży obiekt binarny o maks. rozmiarze 128TB dla Oracle11g lub 8TB Oracle9i/10g Wskaźnik na plik systemu operacyjnego Deklaracja typu stałoprzecinkowego: NUMBER(precyzja, skala): precyzja: <1, 38> - całkowita liczba pozycji znaczących skala: <-84, 127> - liczba pozycji na prawo (dodatnia) lub lewo (ujemna) od przecinka pr_dodatek NUMBER(6,2), pr_wzrost NUMBER(3), pr_ułamek NUMBER(8,10), pr_tysiące NUMBER(1,-3), 3 4

Typ NUMBER (2) Typ NUMBER (3) Typ stałoprzecinkowy: przypadek 1. precyzja > skala, np. NUMBER(6,2): zakres: <-9 999,99, 9 999,99> liczby zaokrąglane do dwóch miejsc po przecinku, np.: 1 234,56 -> 1 234,56 1 234,567 -> 1 234,57 > 9999,99 lub < -9999,99 -> błąd przypadek 2. skala = 0, np. NUMBER(4,0) lub NUMBER(4): liczba całkowita, zakres: <-9999, 9999> liczby zaokrąglane do liczb całkowitych, np.: 0,01 -> 0 0,5 -> 1 1234,5678 -> 1235 > 9999 lub < -9999 -> błąd Typ stałoprzecinkowy (cd): przypadek 3. precyzja < skala, np. NUMBER(8,10): zakres: <-0.0099999999, 0.0099999999> liczby zaokrąglane do dziesięciu miejsc po przecinku, np.: 0,0012345678 -> 0,0012345678 0,00123456781 -> 0,0012345678 0,00123456789 -> 0,0012345679 0,00000000005 -> 0,0000000001 >=0,01 lub <= -0,01 -> błąd przypadek 4. skala < 0, np. NUMBER(1, -3): zakres: <-9000, 9000> liczby całkowite zaokrąglane do najbliższego tysiąca, np.: 499 -> 0 500 -> 1 000 9 499,99 -> 9 000 >=9500 lub <=-9500 -> błąd 5 6 Podtypy typu NUMBER Ciągi znaków zmiennej długości (1) DECIMAL(precyzja, skala) NUMBER(precyzja, skala), FLOAT, DOUBLE PRECISION NUMBER(126), precyzja binarna, FLOAT(precyzja) NUMBER(precyzja), precyzja binarna do 126 bitów, INT, INTEGER, SMALLINT NUMBER(38), NUMERIC(precyzja, skala) NUMBER(precyzja, skala), REAL FLOAT(63). Pozostałe typy numeryczne VARCHAR2 ciąg znaków kodowany zestawem znaków domyślnym dla bazy, maks. długość 4000B (32 767B w Oracle12c), długość podajemy w bajtach lub znakach: nazwisko VARCHAR2(100 BYTE), imię VARCHAR2(50 CHAR), pominięcie BYTE i CHAR długość wyrażona w jednostkach określonych przez parametr sesji NLS_LENGTH_SEMANTICS. SELECT value FROM nls_session_parameters WHERE parameter = 'NLS_LENGTH_SEMANTICS'; Typy zmiennoprzecinkowe z reprezentacją binarną wg standardu IEEE-754: BINARY_FLOAT 4 bajty, BINARY_DOUBLE 8 bajtów. NVARCHAR2 ciąg znaków kodowany w wielobajtowym Unicode, może wykorzystywać inny zestaw znaków niż domyślny dla bazy. 7 8

Ciągi znaków zmiennej długości (2) Ciągi znaków stałej długości Synonimy: VARCHAR2: CHAR VARYING, CHARACTER VARYING, STRING, VARCHAR, NVARCHAR2: NATIONAL CHAR VARYING, NCHAR VARYING, NATIONAL CHARACTER VARYING. Uwaga! W Oracle pusty ciąg znaków jest równy NULL. Jest to sprzeczne ze standardem języka SQL. SQL> create table TEST(tekst varchar2(10)); SQL> insert into TEST values(null); SQL> insert into TEST values(''); SQL> select count(*) from TEST where tekst is null; COUNT(*) -------- 2 9 CHAR ciąg znaków kodowany zestawem znaków domyślnym dla bazy, maks długość. 2000B (255B przed Oracle8i), długość podajemy w bajtach lub znakach: PESEL CHAR(11 BYTE), plec CHAR pominięcie BYTE i CHAR długość wyrażona w jednostkach określonych przez parametr sesji NLS_LENGTH_SEMANTICS, pominięcie długości długość ciągu = 1, niewykorzystane pozycje dopełniane spacjami z prawej strony. NCHAR ciąg znaków kodowany w wielobajtowym Unicode, może korzystać z innego zestawu znaków niż domyślny dla bazy Synonimy: CHAR: CHARACTER NCHAR: NATIONAL CHARACTER, NATIONAL CHAR 10 Ograniczenia integralnościowe atrybutu Ograniczenia integralnościowe relacji atrybut typ(rozmiar) [ CONSTRAINT nazwa ] definicja [warunek] Typ ograniczenia NULL NOT NULL UNIQUE PRIMARY KEY REFERENCES ON DELETE CASCADE ON DELETE SET NULL CHECK Przykład placa_dod NUMBER(6,2) NULL placa_pod NUMBER(6,2) NOT NULL nazwisko VARCHAR2(12) UNIQUE numer NUMBER(4) PRIMARY KEY id_zesp NUMBER(4) REFERENCES zespoly(id_zesp) id_zesp NUMBER(4) REFERENCES zespoly(id_zesp) ON DELETE CASCADE placa_pod NUMBER(6,2) CHECK (placa_pod BETWEEN 100 AND 3000) [ CONSTRAINT nazwa ] definicja (lista_atrybutów) [warunek] Typ ograniczenia UNIQUE(...) PRIMARY KEY(...) FOREIGN KEY(...) REFERENCES ON DELETE CASCADE ON DELETE SET NULL CHECK Przykład ( id_prac..., nazwisko...,..., UNIQUE (nazwisko, imię), PRIMARY KEY (id_prac), CONSTRAINT p_fk FOREIGN KEY (id_zesp) REFERENCES zespoly (id_zesp) ON DELETE SET NULL, CHECK(placa_pod > nvl(placa_dod,0)); 11 12

Kolumna IDENTITY (1) Kolumna IDENTITY (2) Kolumna, której wartości w rekordach będą generowane automatycznie (przy użyciu obiektu o nazwie sekwencja). Najczęściej służy do identyfikowania rekordów (jako np. klucz podstawowy). Cechy: tylko jedna kolumna IDENTITY w relacji, kolumna domyślnie posiada ograniczenie NOT NULL, kolumna nie może mieć zdefiniowanej klauzuli DEFAULT, mechanizm dostępny od Oracle12c. Przykłady: (id_prac NUMBER(6) GENERATED ALWAYS AS IDENTITY, id_prac w kolejnych rekordach uzyska wartości od 1 z krokiem 1, podanie wartości dla id_prac przy wstawianiu rekordu zakończy się błędem, Przykłady (cd): (id_prac NUMBER(6) GENERATED BY DEFAULT AS IDENTITY, id_prac w kolejnych rekordach uzyska wartości od 1 z krokiem 1, podana przez użytkownika wartość dla id_prac przy wstawianiu rekordu zostanie uwzględniona, podanie wartości NULL zakończy się błędem, (id_prac NUMBER(6) GENERATED BY DEFAULT ON NULL AS IDENTITY, j.w. + wartość zostanie wygenerowana automatycznie również wówczas, gdy przy wstawianiu dla id_prac podano wartość NULL. 13 14 Kolumna IDENTITY (3) Wartości domyślne atrybutów (1) Przykłady (cd): id_prac w kolejnych rekordach uzyska wartości od 100 z krokiem 10. Każdemu atrybutowi można nadać domyślną wartość początkową. Robi się to za pomocą słowa kluczowego DEFAULT. (id_prac NUMBER(6) GENERATED ALWAYS AS IDENTITY( START WITH 100 INCREMENT BY 10), ( id_prac NUMBER(6) NOT NULL, nazwisko VARCHAR2(50) DEFAULT 'NOWY PRACOWNIK', data_zatrudnienia DATE DEFAULT SYSDATE, pensja NUMBER(6,2) DEFAULT 1000, badania_kontrolne DATE DEFAULT SYSDATE+365, etat VARCHAR2(20) DEFAULT 'STAZYSTA'); W Oracle12c wartością domyślną dla atrybutu może być sekwencja (alternatywa dla kolumny IDENTITY) ( id_prac NUMBER(6) DEFAULT seq_prac.nextval NOT NULL, 15 16

Wartości domyślne atrybutów (2) Tworzenie relacji przykład (1) Działanie klauzuli DEFAULT podczas wstawiania danych: SQL> CREATE TABLE test(id NUMBER NOT NULL, tekst VARCHAR2(10) DEFAULT 'PUSTY' NOT NULL); SQL> INSERT INTO test(id) VALUES(10); -- OK SQL> INSERT INTO test(id, tekst) VALUES(20, NULL); -- Błąd Od Oracle12c dostępna klauzula DEFAULT ON NULL: SQL> CREATE TABLE test(id NUMBER NOT NULL, tekst VARCHAR2(10) DEFAULT ON NULL 'PUSTY' NOT NULL); SQL> INSERT INTO test(id) VALUES(10); -- OK SQL> INSERT INTO test(id, tekst) VALUES(20, NULL); -- OK SQL> SELECT * FROM test; ID TEKST ---- ---------- 10 PUSTY 20 PUSTY Tabele dydaktycy, przedmioty i pomieszczenia przechowują odpowiednio dane wszystkich nauczycieli, dane o wykładanych przedmiotach oraz dane o pomieszczenia, w których mogą zostać przeprowadzone zajęcia. CREATE TABLE dydaktycy ( id_dydaktyka NUMBER(2) CONSTRAINT id_dydaktyka_pk PRIMARY KEY, nazwisko VARCHAR2(15) NOT NULL UNIQUE, tytuł VARCHAR2(10) NOT NULL); CREATE TABLE przedmioty ( id_przedmiotu NUMBER(2) CONSTRAINT id_przedmiotu_pk PRIMARY KEY, nazwa VARCHAR2(15) NOT NULL UNIQUE); CREATE TABLE pomieszczenia ( nr_pomieszczenia NUMBER(2), nr_budynku NUMBER(2), pojemność NUMBER(4) NOT NULL check(pojemność > 0), CONSTRAINT pom_pk PRIMARY KEY(nr_pomieszczenia, nr_budynku)); 17 18 Tworzenie relacji - przykład (2) Tworzenie relacji przez podzapytanie Tabela zajecia łączy dane z tabel dydaktycy i przedmioty, w tej tabeli przechowujemy dane o tym, kto wykłada jaki przedmiot i w jakiej formie. Wynik zapytania można zmaterializować w postaci relacji nowa relacja składa się z atrybutów wymienionych w klauzuli SELECT zapytania jeśli podano listę nazw atrybutów nowej relacji to lista atrybutów w klauzuli SELECT zapytania musi się pokrywać z tą listą CREATE TABLE zajecia ( id_zajec NUMBER(2) CONSTRAINT zaj_pk PRIMARY KEY, rodzaj_zaj VARCHAR2(15) CHECK (rodzaj_zaj IN ('wykład','ćwiczenia','laboratorium','projekt')), id_dydaktyka NUMBER(2) CONSTRAINT zaj_fk1 REFERENCES dydaktycy(id_dydaktyka) ON DELETE SET NULL, id_przedmiotu NUMBER(2) NOT NULL CONSTRAINT zaj_fk2 REFERENCES przedmioty(id_przedmiotu) ON DELETE CASCADE, nr_pomieszczenia NUMBER(2) NOT NULL, nr_budynku NUMBER(2) NOT NULL, CONSTRAINT zaj_fk3 FOREIGN KEY (nr_pomieszczenia, nr_budynku) REFERENCES pomieszczenia(nr_pomieszczenia, nr_budynku)); CREATE TABLE nazwa_relacji [ (nazwa_atrybutu [NULL NOT NULL],...) ] AS SELECT zapytanie; CREATE TABLE roczne_place (nazwisko NOT NULL, etat, roczne) AS SELECT nazwisko, etat, 12 * placa_pod + NVL(placa_dod,0) FROM pracownicy; _zespoly AS SELECT nazwisko, nazwa, ROUND(SYSDATE-zatrudniony) AS dni FROM pracownicy JOIN zespoly USING (id_zesp); 19 20

Modyfikowanie schematu relacji Zarządzanie ogr. integralnościowymi (1) Dodawanie nowych atrybutów i ograniczeń ADD [ nazwa typ(rozmiar) [DEFAULT wartość] ograniczenia CONSTRAINT nazwa typ ograniczenie ]; Modyfikowanie istniejących atrybutów Włączenie ograniczenia integralnościowego ALTER TABLE relacja ENABLE CONSTRAINT nazwa PRIMARY KEY UNIQUE(lista_atrybutów); MODIFY (nazwa typ(rozmiar) [DEFAULT wartość] [ NOT NULL ]); ALTER TABLE pracownicy ENABLE CONSTRAINT prac_fk; Usuwanie atrybutów Wyłączenie ograniczenia integralnościowego DROP COLUMN [nazwa_atrybutu (lista_atrybutów)]; Zmiana nazwy atrybutu ALTER TABLE relacja DISABLE CONSTRAINT nazwa PRIMARY KEY UNIQUE(lista_atrybutów); RENAME COLUMN stara_nazwa TO nowa_nazwa; ALTER TABLE pracownicy DISABLE PRIMARY KEY; 21 22 Zarządzanie ogr. integralnościowymi (2) Zmiana nazwy relacji, usuwanie relacji Usunięcie ograniczenia integralnościowego Zmiana nazwy istniejącej relacji ALTER TABLE relacja DROP CONSTRAINT nazwa PRIMARY KEY UNIQUE(lista_atrybutów) [CASCADE]; RENAME stara_nazwa TO nowa_nazwa; ALTER TABLE stara_nazwa RENAME TO nowa nazwa; Dodanie komentarza do relacji COMMENT ON TABLE relacja IS 'komentarz'; COMMENT ON COLUMN relacja.atrybut IS 'komentarz'; ALTER TABLE pracownicy DROP UNIQUE(nazwisko); Usunięcie relacji DROP TABLE nazwa_relacji [CASCADE CONSTRAINTS]; ALTER TABLE zespoly DROP PRIMARY KEY CASCADE; usuwane są dane z relacji i indeksy założone dla relacji jeżeli nie podano CASCADE CONSTRAINTS to polecenie może zakończyć się błędem (jeśli istnieją relacje zależne) 23 24

Słownik bazy danych Klasy perspektyw słownikowych USER_xxx, ALL_xxx, DBA_xxx Perspektywa Synonim Opis DICTIONARY DICT Wszystkie perspektywy słownikowe USER_OBJECTS OBJ Obiekty użytkownika USER_TABLES TABS Relacje użytkownika USER_TAB_COLUMNS COLS Atrybuty z relacji i perspektyw użyt. USER_COL_COMMENTS USER_TAB_COMMENTS USER_CONSTRAINTS USER_CONS_COLUMNS Komentarze dla atrybutów Komentarze dla relacji Ograniczenia integralnościowe Atrybuty ograniczeń integralnościowych 25