Lekcja 4.



Tworzenie tabel w SQL (ORACLE) oraz modyfikacja.

Typy danych

Każda kolumna musi mieć określony typ danych:
CHAR (n) ciąg dowolnych znaków stałej długości, parametr n wskazuje maksymalną długość ciągu
VARCHAR2 (n) VARCHAR (n) ciąg znaków zmiennej długości, parametr n wskazuje maksymalną długość ciągu
NUMBER (p,s) liczba o precyzji p i skali s, precyzja (liczba cyfr znaczących) może przyjmować wartości od 1 do 38, skala (liczba cyfr po przecinku) wartości od -84 do 127
DATE daty w przedziale między 1 stycznia 4712 roku a 31 grudnia 4712 naszej ery, w dacie przechowywany jest tez składnik czasu
LONG ciąg znaków zmiennej długości o maksymalnym zakresie 2 GB, w tabeli może być tylko jedna kolumna typu LONG
RAW (n) ciąg bajtów o długości do n bajtów, maksymalne n=2000
LONG RAW ciąg bajtów o maksymalnej długości do 2 GB, w tabeli może być tylko jedna kolumna typu LONG RAW
ROWID do przechowywania adresów fizycznych wierszy
Polecenie tworzenia tabel
CREATE TABLE t_testowa(
Nazwisko nvarchar2(50),
Imie nvarchar2(50),
id number(4) Primary key
)

O to przykład zapytania tworzącego tabele w bazie danych Oracle. W trakcie tworzenia tabeli w bazie danych oprócz parametrów takich jak typ danych, klucz, możemy zdefiniować warunki sprawdzające lub "default".

CREATE TABLE t_testowa(
Nazwisko nvarchar2(50),
Imie nvarchar2(50),
placa number(5,2) check (placa > 1000),
tel nvarchar2(15) DEFAULT 'brak',
id number(4) Primary key

Warunki integrolności

Możemy zdefiniować warunki dla kolumn by nie akceptowały NULL

CREATE TABLE nazwa_tablicy
(nazwa_kolumny typ (rozmiar) [NULL | NOT NULL],
nazwa_kolumny typ (rozmiar) [NULL | NOT NULL],
…);

Warunek UNIQUE

Definiuje klucz unikalny tabeli. Klucz unikalny jest podobny do klucza głównego, z tym, że nie wymusza automatycznie warunku NOT NULL na swoich kolumnach. Jeśli kluczem unikalnym jest jedna kolumna, wygodniej warunek zapisać po definicji tej kolumny. W przypadku klucza opartego na kilku kolumnach wygodniej zdefiniować go po definicji wszystkich kolumn.


Definicja warunku przy definicji kolumny:

kolumna typ rozmiar CONSTRAINT nazwa_warunku UNIQUE

Definicja warunku po definicji wszystkich kolumn:

CONSTRAINT nazwa_warunku UNIQUE (kolumna_1, kolumna_2,...)

W tabeli może być wiele kluczy unikalnych. Dla każdego wiersza zestaw wartości dla klucza unikalnego musi być unikalny — inaczej Oracle zgłosi błąd. Warunek NOT NULL można do kolumn klucza unikalnego dopisać osobno.

Celem usunięcia istniejącej tabeli w bazie danych

DROP TABLE t_testowa

Jeśli chcemy zmodyfikować istniejącą tabele należy użyć polecenia ALTER TABLE nazwa

ALTER TABLE t_test add dzial nvarchar2(50) --dodaje kolumne
ALTER TABLE t_test drop column dzial --usuwa kolumne
ALTER TABLE t_test modify palaca number(4,2) --modyfikacja

Modyfikacja definicji kolumny

Do modyfikowania definicji kolumny służy klauzula MODIFY:


ALTER TABLE nazwa
MODIFY nazwa_kolumny typ (rozmiar) [NULL | NOT NULL],
...);

Zmiana nazwy tabeli

Nazwę tabeli zmieniamy poleceniem RENAME TABLE:

RENAME TABLE stara_nazwa TO nowa_nazwa;

SQL-KURSY.pl poleca:

Rozpocznij kolonizacje egzoplanety

Książki
ksikaksikaksikaksikaksika

Copyright 2010-2011 Mariusz Kujawski adres mariuszhk@op.pl

obob ob

Valid HTML 4.01 Transitional