V Andrzej Leśnicki
Laboratorium Baz Danych, PostgreSQL. Ćwiczenie 1
7/20
używanym poleceniem SQL. Tutaj to polecenie zostało użyte w swojej najprostszej postaci, ale pełne możliwości tego polecenia są ogromne (daj \h SELECT, aby zobaczyć jaka jest pełna składnia tego polecenia).
6. Zakładanie tabeli
Tabele zakładamy dla danej bazy danych. Baza danych zawiera przynajmniej jedną tabelę. Tabela (relacja) jest realizacją encji, wyróżnia się w niej wiersze i kolumny. Wiersze są rekordami (krotkami, z ang. tuples), a kolumny atrybutami (wydzielają pola w rekordzie). Tabelę zakładamy następującym poleceniem (podglądnij pełną składnię tego polecenia dając
\h CREATE TABLE)
CREATE TABLE nazwa_tabeli (nazwa_kolumny typ_danej [DEFAULT wartość] ograniczenia, •••);
Atrybut, to typ danych z danej kolumny, np. integer - liczba całkowita real - liczba rzeczywista
varchar(80) - znak (maksymalna liczba znaków) datę-data, np. ‘2010-03-15’
Parametrem kolumny jest
DEFAULT - wartość dopisywana domyślnie, gdy nie podano innej Ograniczenia dla danych w kolumnie:
NOT NULL - w kolumnie nie może wystąpić wartość pusta NULL UNIQUE - w kolumnie nie może powtórzyć się żadna wartość
PRIMARY KEY - klucz pierwotny PK, połączenie NOT NULL i UNIQUE, unikalna kolumna (lub zestaw kolumn) w tabeli
CHECK (warunek) - warunek sprawdzany przy wprowadzaniu lub modyfikacji danych REFERENCES - definicja referencji, odniesienia do innej tabeli (klucz obcy FK)
Załóż dwie poniższe tabele (jeszcze raz przypominamy, że: język SQL nie rozróżnia dużych-małych liter poza wnętrzem łańcucha; zwyczajowo, dla zwiększenia czytelności piszemy wyrazy kluczowe dużymi literami, nazwy i resztę małymi literami; nowa linia nie ma znaczenia, można pisać wszystko w jednej linii, polecenie kończy się średnikiem, a nie nową linią; tak jak w każdym innym edytorze linii, możemy cofać się do uprzednio napisanych poleceń strzałkami w górę T i w dół i; obserwuj postać znaku zachęty):
CREATE TABLE pracownicy(
nazwisko varchar(80),
numer_pokoju int,
) ;
ciezar_pracownika real — ciężar w kg
CREATE TABLE rzeczy(
nr_inwentarzowy
nazwa
ciezar_rzeczy
int,
varchar(80),
real, /* ciężar w kg */