DDL.pdf

(110 KB) Pobierz
Microsoft Word - DDL.doc
Microsoft Access i j ħ zyk SQL
Cz ħĻę 1 – DDL
Radosław Brunke
1
Spis tre Ļ ci:
1. Instrukcja CREATE ........................................................................................................... 3
1.1. Tworzenie tabel .......................................................................................................... 3
Typy danych Microsoft JetSQL ......................................................................................... 3
Okre Ļ lanie wymogu wprowadzenia danych do pola.......................................................... 4
Tworzenie tabel zawieraj Ģ cych klucze............................................................................... 5
Tworzenie relacji pomi ħ dzy tabelami ................................................................................ 5
1.2. Tworzenie indeksów .................................................................................................. 6
Tworzenie indeksu ............................................................................................................. 7
Tworzenie indeksów specjalnych....................................................................................... 7
2. Instrukcja ALTER TABLE ................................................................................................ 8
2.1. Usuwanie kolumn z tabeli .......................................................................................... 8
2.2. Wstawianie kolumn do tabeli ..................................................................................... 8
2.3. Modyfikacja kolumn .................................................................................................. 8
Tworzenie kluczy na istniej Ģ cych polach........................................................................... 8
Zmiana wymuszania wprowadzania warto Ļ ci dla kolumny............................................... 9
2.4. Obsługa kluczy i relacji w istniej Ģ cych tabelach ....................................................... 9
2.5. Specjalne zastosowania kluczy ................................................................................ 10
3. Instrukcja DROP .............................................................................................................. 10
3.1. Usuwanie tabel ......................................................................................................... 10
3.2. Usuwanie indeksu .................................................................................................... 10
DODATEK A – Spis przykładowych kwerend ....................................................................... 11
DODATEK B – Spis tabel ....................................................................................................... 11
DODATEK C – Spis rysunków ............................................................................................... 11
2
1. Instrukcja CREATE
Za pomoc Ģ instrukcji CREATE mo Ň liwe jest stworzenie nast ħ puj Ģ cych obiektów:
- tabeli,
- tabeli powi Ģ zanej relacj Ģ ,
- indeksu w istniej Ģ cej tabeli.
1.1. Tworzenie tabel
Za pomoc Ģ DDL mo Ň liwe jest stworzenie zarówno pustych tabel jak te Ň i tabel zawieraj Ģ cych
pola.
CREATE TABLE Nazwa_tabeli;
CREATE TABLE [Nazwa ze spacjami];
Kwerenda 1 Tworzenie pustej tabeli
CREATE TABLE [Nazwa tabeli] (
[Nazwa kolumny pierwszej] typ_danych,
[Nazwa kolumny drugiej] typ danych,
…
);
Kwerenda 2 Tworzenie tabeli zawieraj Ģ cej kolumny
Typy danych Microsoft JetSQL
W widoku SQL kwerendy obsługiwane s Ģ tylko wybrane typy danych, dost ħ pne podczas
tworzenia tabel za pomoc Ģ innych narz ħ dzi (kreatora tabel lub narz ħ dzia do projektowania
tabel). Sytuacja ta wynika z ograniczenia tego widoku, polegaj Ģ cego na tym, Ň e umo Ň liwia on
wykorzystanie jedynie metody DAO dost ħ pu do danych. Pozostałe typy danych mo Ň na
deklarowa ę
SQL
jedynie
przez
u Ň ycie
j ħ zyka
VBA
ADO
(CurrentProject.Connection.Execute).
CREATE TABLE Przykład (
Tekst CHAR(50),
Nota MEMO,
Bajt BYTE,
Liczba_całk SMALLINT,
Liczba_całk_długa LONG,
Poj_prec SINGLE,
Podw_prec DOUBLE,
Data_ogólna DATE,
Walutowy CURRENCY,
Autonumerowanie COUNTER,
TakNie YESNO,
ObiektOLE LONGBINARY
)
Kwerenda 3 Przykładowa kwerenda tworz Ģ ca tabel ħ z kolumnami wielu typów danych
3
w
Nazwa typu
Synonimy
Typ danych
Opis dodatkowy
TYPY TEKSTOWE
CHARACTER STRING,
VARCHAR,
NCHAR
Tekst o długo Ļ ci do 255
znaków
Jako dodatkow Ģ opcj ħ dla tego pola mo Ň na poda ę
w
nawiasie
długo Ļę
ła ı cucha
np.
CHARACTER(25)
MEMO
LONGTEXT,
LONGCHAR,
NOTE, NTEXT
Nota
Maksymalna wielko Ļ c pola to około 1,07
miliarda znaków (2,14GB)
TYPY NUMERYCZNE
BYTE
TINYINT
Bajt
Zakres: 0 do 255
SMALLINT
SHORT
Liczba całkowita
Zakres: -32768 do 32767
LONG
INTEGER
Liczba całkowita długa Zakres: –2147483648 do 2147483647
SINGLE
REAL,
IEEESINGLE
Liczba rzeczywista o
pojedynczej precyzji
Zakres dla liczb ujemnych: –3,402823E38 do –
1,401298E–45, dla liczb dodatnich: 1.401298E–
45 do 3.402823E38.
DOUBLE
FLOAT,
IEEEDOUBLE
Liczba rzeczywista o
podwójnej precyzji
Zakres dla liczb ujemnych: –
1.79769313486231E308 do
–4.94065645841247E–324, dla liczb dodatnich:
1.79769313486231E308
do
4.94065645841247E–324
TYPY ZWI ġ ZANE Z OKRE ĺ LANIEM CZASU
DATETIME
DATE
Data/godzina
TYPY WALUTOWE
CURRENCY
MONEY
Walutowy
TYPY LOGICZNE
YESNO
BIT
Tak/nie
TYPY ZWI ġ ZANE Z OLE
BINARY
Liczba dwójkowa
Obiekt o maksymalnej pojemno Ļ ci 164 znaki
(510 bajtów)
LONGBINARY
Obiekt OLE Obiekt o maksymalnej pojemno Ļ ci 2,14 GB
TYPY SPECJALNE
COUNTER
Autonumerowanie
Jako parametr mo Ň na tu poda ę dwie warto Ļ ci
liczbowe warto Ļę pocz Ģ tkow Ģ indeksu oraz
wielko Ļę przyrostu kolejnych warto Ļ ci indeksu
np. COUNTER(100, 10)
GUID
Identyfikator replikacji
Tabela 1 Typy danych oferowane w DAO
Okre Ļ lanie wymogu wprowadzenia danych do pola
Dla ka Ň dego z tworzonych pól mo Ň emy okre Ļ li ę , Ň e mo Ň e lub nie mo Ň e ono zawiera ę warto Ļ ci
pustych. Robimy to deklaruj Ģ c po nazwie pola instrukcj ħ NULL lub NOT NULL. Aliasem dla
NOT NULL jest słówko UNIQUE:
CREATE TABLE [Dane osobowe](
Imi ħ CHAR(50) NOT NULL,
Nazwisko CHAR(60) NOT NULL,
Pesel CHAR(11) NULL
)
Kwerenda 4 Przykład kwerendy z wymuszeniami wprowadzania warto Ļ ci do pola
4
254205590.002.png 254205590.003.png 254205590.004.png 254205590.005.png 254205590.001.png
Tworzenie tabel zawieraj Ģ cych klucze
W ramach tabeli mo Ň emy utworzy ę pole klucza głównego. Ka Ň dy z kluczy głównych
powinien mie ę unikaln Ģ nazw ħ – definiowan Ģ oddzielnie bez wzgl ħ du na nazw ħ pola, która
przechowuje warto Ļ ci klucza. Klucz tworzymy deklaruj Ģ c słówko kluczowe CONSTRAINT 1
po okre Ļ leniu typu danych pola klucza 2 . Nast ħ pnie okre Ļ lamy nazw ħ klucza – warto przyj Ģę
zasad ħ dodawania do nazwy pola przedrostka PK_ i na koniec słów kluczowych PRIMARY
KEY. Nazw ħ klucza mo Ň na pó Ņ niej wykorzysta ę do okre Ļ lania relacji mi ħ dzy tabelami. Je Ļ li
projektujemy relacyjn Ģ bazy danych warto na ko ı cu wymusi ę konieczno Ļę wprowadzenia
danych NOT NULL, spowoduje to automatyczne utworzenie indeksu dla klucza głównego
w tworzonej tabeli.
CREATE TABLE [Dane osobowe](
IDO INTEGER CONSTRAINT PK_IDO PRIMARY KEY NOT NULL,
Imi ħ CHAR(50) NOT NULL,
Nazwisko CHAR(60) NOT NULL,
Pesel CHAR(11) NULL
)
Kwerenda 5 Przykład kwerendy tworz Ģ cej pole klucza głównego w tabeli
Tworzenie relacji pomi ħ dzy tabelami
Za pomoc Ģ j ħ zyka JetSQL mo Ň emy ju Ň w momencie tworzenia tabeli zadeklarowa ę tworzenie
relacji 3 w bazie danych. Je Ň eli mamy w bazie danych utworzon Ģ tabel ħ (np. tabel ħ Miasta),
która powi Ģ zana jest z inn Ģ tabel Ģ za pomoc Ģ swojego klucza głównego, mo Ň emy utworzy ę
tabel ħ powi Ģ zan Ģ relacj Ģ (np. tabel ħ Mieszka ı cy) wraz z t Ģ relacj Ģ , deklaruj Ģ c istnienie klucza
obcego Foreign Key (przedrostek FK_) z okre Ļ leniem relacji przy pomocy słówka
REFERENCES.
CREATE TABLE Miasta (
IDMA COUNTER CONSTRAINT PK_IDMA PRIMARY KEY NOT NULL,
Miasto CHAR(40),
[Kod pocztowy] CHAR(6)
)
CREATE TABLE Mieszka ı cy (
IDMY COUNTER CONSTRAINT PK_IDMY PRIMARY KEY NOT NULL,
Imi ħ CHAR(30),
Nazwisko CHAR(40),
IDMA INTEGER NOT NULL CONSTRAINT FK_IDMA
REFERENCES Miasta(IDMA)
)
Kwerenda 6 Przykłady kwerend tworz Ģ cych tabele powi Ģ zane relacj Ģ
1 Słówko CONSTRAINT mo Ň emy pomin Ģę , spowoduje to jednak wygenerowanie losowej nazwy klucza przez
Access co mo Ň e spowodowa ę pó Ņ niejsze problemy z oprogramowywaniem bazy danych, na przykład
usuwaniem relacji z poziomu DDL itp.
2 Klucz główny tabeli mo Ň e by ę dowolnego typu – musi on jednak spełnia ę minimum dwa wymogi: nie mo Ň e
by ę warto Ļ ci Ģ pust Ģ i musi mie ę warto Ļę unikaln Ģ w tabeli.
3
5
JetSQL umo Ň liwia tworzenie wył Ģ cznie relacji jeden do wielu, pomimo tego Ň e Access obsługuje równie Ň
relacje jeden do jednego. Aby stworzy ę relacj ħ jeden do jednego, nale Ň y w j ħ zyku SQL stworzy ę relacj ħ jeden
do wielu i w widoku relacji zmieni ę typ relacji b Ģ d Ņ zrezygnowa ę z SQL do stworzenia tej relacji.
Zgłoś jeśli naruszono regulamin