background image

 

1

 
 
 
 
 
 
 
 
 
 
 

Microsoft Access i język SQL 
Cz
ęść 1 – DDL 

Radosław Brunke 

background image

 

2

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 
 
 

background image

 

3

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 

background image

 

4

 

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ć 

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 

background image

 

5

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

  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. 

background image

 

6

1.2. Tworzenie indeksów 

Indeks  to  zewnętrzna  struktura  danych  (często  zapisana  w  oddzielnym  pliku)  używana  do 
organizowania w określony sposób danych w tabelach. Główne zastosowania indeksów: 

1.  Przyspieszanie wykonywania zapytań 

Ponieważ  bazy  danych  są  często  używane  do  przechowywania  bardzo  dużych  ilości 
informacji,  wyszukiwanie  informacji  w  bazie  polegające  na  sekwencyjnym  odczytywaniu 
kolejnych  rekordów  byłoby  często  bardzo  czasochłonne.  Indeks  pozwala  na  znaczne 
przyspieszenie  pracy  z  takimi  tabelami  jeśli  często  kieruje  się  do  nich  zapytania.  Aby 
zrozumieć ideę indeksów najlepiej można posłużyć się przykładem bazy danych zawierająca 
informacje  o  książkach  z  biblioteki.  Zwykle  indeks  tworzony  jest  zawsze  dla  pola  tabeli 
zawierającego wartości klucza głównego – jako pola, które przeznaczone jest do powiązania 
bieżącej  tabeli  z  inną  za  pomocą  relacji.  Z  punktu  widzenia  DBMS  indeksy  istnieją  dla  pól 
kluczy po to, aby można było szybko wybierać dane z tabel powiązanych relacjami. Z punktu 
widzenia  użytkownika  (w  tym  przypadku  czytelnika)  indeks  ten  nie  ma  najmniejszego 
znaczenia  –  mało  kto  przecież  zapamiętałby  numery  wszystkich  książek.  Czytelnik  byłby 
zainteresowany raczej indeksami autorów, słów kluczowych, wydawnictw itp. Dla każdego z 
takich pól powinien w tabeli zostać stworzony indeks. 
Powyższy  przykład  sugeruje,  że  indeksy  służą  do  uzyskiwania  informacji,  tak  jakby  były 
oddzielnymi bazami zawierającymi tabele danych posortowane lub pogrupowane w określony 
sposób. Tak jednak nie jest, dla użytkownika bazy są one niewidoczne: zawierają zbiór tzw. 
kluczy i łączników. Klucz to zindeksowana wartość rekordu np. autor książki, łącznik zaś to 
numer  tego  rekordu  (lub  wiele  numerów  rekordów)  w  tabeli  bazy  danych.  Ponieważ  pliki 
indeksów  mają  złożoną  drzewiastą  strukturę  możliwe  jest  szybkie  odszukanie  żądanych 
rekordów  poprzez  wybranie  wartości  klucza  i  przez  to  odnalezienie  powiązanych  z  nim 
numerów rekordów. 

IDO 

Imię 

Nazwisko 

 

Klucz 

Łącznik 

Tomasz  Kopczyński   

Adam 

Anna 

Nowak 

 

Anna 

Radek 

Ziober 

 

Radek 

Tomasz  Jacek 

 

Radek 

Radek 

Nowak 

 

Tomasz  1 

Adam 

Iksiński 

 

Tomasz  4 

Rysunek 1 Przykładowa tabela zawierająca dane osobowe oraz indeks imion z tej tabeli 

Pomimo  tego,  że  indeksy  zwykle  znacznie  przyspieszają  pracę  z  tabelami  nie  można 
przesadzać  z  ich  tworzeniem,  ponieważ  DBMS  musi  poświęcić  swój  czas  na  utrzymanie 
indeksu  w  poprawnej  postaci,  co  może  skutkować  znacznym  spadkiem  wydajności 
wykonywanych zapytań, szczególnie w przypadku gdy komputer na którym umieszczona jest 
baza  posiada  niewiele  pamięci  operacyjnej  i  większość  operacji  wykonywanych  jest 
w pamięci masowej. 

2.  Wymuszanie konieczności wprowadzenia wartości w polu rekordu 

Zastosowanie to podobne jest do deklaracji NOT NULL podczas deklaracji pola w tabeli. 

3.  Wymuszanie niepowtarzalności wartości w polach rekordu. 

Ponieważ  możliwe  jest  wymuszenie  niepowtarzalnych  wartości  indeksu  poprzez  jego 
deklarację dla jednej lub kilku kolumn możliwe jest wymuszenie niepowtarzalności rekordów 
w tych polach. 

background image

 

7

Tworzenie indeksu 

Indeks  tworzony  jest  za  pomocą  polecenia  CREATE  INDEX,  w  którym  należy  określić 
nazwę indeksu, nazwę tabeli (po słówku ON) i nazwy jednej lub kilku kolumn dla których ma 
zostać  stworzony  indeks  (w  nawiasie).  Przyjęło  się,  że  nazwa  indeksu  rozpoczyna  się 
przedrostkiem IDX_. 

CREATE INDEX IDX_IDM  

ON Mieszkańcy (IDM) 

Kwerenda 7 Przykład kwerendy tworzącej prosty indeks 

Pola  indeksu  sortowane  są  na  dwa  sposoby  domyślnie  rosnąco  (ASC)  i  malejąco  (DESC). 
Aby  wymusić  inną  niż  domyślna  kolejność  sortowania  indeksu  należy  podać  słówko  DESC 
po nazwie kolumny. 

CREATE INDEX IDX_IDM  

ON Mieszkańcy (IDM DESC) 

Kwerenda 8 Tworzenie prostego indeksu z wymuszeniem kolejności sortowania pól 

Tworzenie indeksów specjalnych 

Przy tworzeniu indeksu można dodatkowo określić kilka opcji (z użyciem słówka WITH): 
PRIMARY – indeks główny. Każda z tabel może zawierać tylko jeden indeks główny, przy 
czym  domyślnie  indeks  ten  tworzony  jest  dla  pola  klucza  głównego  (gdy  tworzymy  tabelę 
w widoku projektu), 
DISALLOW NULL – opcja ta eliminuje puste wartości w polach indeksu, 
IGNORE NULL – opcja ta dołącza do indeksu pola o pustych wartościach, 
UNIQUE  –  opcja  ta  wymusza  stworzenie  indeksu  z  wartości  unikalnych  rekordów  pola 
indeksu w tabeli. 

CREATE INDEX IDX_IDM  

ON Mieszkańcy (IDM DESC) 
WITH PRIMARY 

Kwerenda 9 Tworzenie głównego indeksu w tabeli 

Oczywiście klucze indeksu mogą składać się z więcej niż jednej wartości rekordu: 

CREATE INDEX IDX_Uczeń 

ON Uczniowie([Pierwsze imię], [Drugie imię], Nazwisko) 
WITH PRIMARY 

Kwerenda 10 Tworzenie indeksu dla więcej niż jednego pola 

Opcja  DISALLOW  NULL  zapobiega  wstawianiu  pustych  danych  do  pól  rekordu.  Jeżeli 
tabela  zawiera  już  dane  (zawierające  puste  pola)  stworzenie  takiego  indeksu  może  nie  być 
możliwe. 

CREATE INDEX [IDX_Data urodzenia} 

ON Uczniowie ([Data urodzenia]) 
WITH DISALLOW NULL 

Kwerenda 11 Tworzenie indeksu z wymuszeniem wprowadzenia wartości do pola 

Opcja  IGNORE  NULL  umożliwia  stworzenie  indeksu  dla  pól  rekordu,  zawierających  puste 
wartości, przy czym wartości puste nie są brane pod uwagę przy tworzeniu indeksu. 

CREATE INDEX [IDX_Drugie imię] 

ON Uczniowie ([Drugie imię]) 
WITH IGNORE NULL 

Kwerenda 12 Tworzenie indeksu z ignorowaniem wartości pustych rekordów 

background image

 

8

Dodatkowo do opcji PRIMARY, DISALLOW NULL, i IGNORE NULL możliwe jest użycie 
słówka UNIQUE, w celu wymuszenia unikalności dodawanych wartości do rekordów. 

CREATE UNIQUE INDEX IDX_PESEL  

ON Uczniowie (PESEL) 
WITH DISALLOW NULL 

Kwerenda 13 Tworzenie unikalnego indeksu 

2. Instrukcja ALTER TABLE 

Za pomocą języka DDL możliwe jest nie tylko dodawanie nowych obiektów ale również ich 
modyfikacja. 

2.1.  Usuwanie kolumn z tabeli 

Z tabeli możliwe jest usunięcie kolumny z użyciem klauzuli DROP COLUMN: 

ALTER TABLE [Nazwa tabeli] 

DROP COLUMN [Nazwa kolumny do usunięcia] 

Kolumna  musi  istnieć  w  ramach  tabeli.  W  przypadku  usuwania  kolumn  związanych 
indeksami lub związanych klauzulą CONSTRAINT najpierw należy usunąć indeks lub klucz.  

ALTER TABLE Uczniowie  

DROP COLUMN [Drugie imię] 

Kwerenda 14 Usuwanie kolumny z tabeli 

2.2.  Wstawianie kolumn do tabeli 

Za pomocą ALTER TABLE można również wstawić dane do istniejącej tabeli. 

ALTER TABLE [Nazwa tabeli] 

ADD COLUMN [Nazwa kolumny do dodania] typ_danych 

 

ALTER TABLE Uczniowie 
 

ADD COLUMN Zdjęcie LongBinary; 

Kwerenda 15 wstawianie kolumny do istniejącej tabeli 

2.3.  Modyfikacja kolumn 

DDL  oferuje  możliwość  zarówno  zmieniania  całych  tabel  jak  też  i  pojedynczych  kolumn  – 
możliwe jest więc wymuszenie zmiany typu danych przechowywanych w danej kolumnie bez 
utraty  jej  wartości.  Niekiedy,  ze  względu  na  wartości  przechowywane  już  w  rekordach 
zmiana tego typu nie będzie możliwa. 

ALTER TABLE Uczniowie 
 

ALTER COLUMN PESEL SINGLE 

Kwerenda 16 Modyfikacja kolumny – zmiana typu danych 

Tworzenie kluczy na istniejących polach 

Modyfikacja  typu  danych  może  dotyczyć  również  stworzenia  klucza  głównego  w  polu 
istniejącej tabeli. 

CREATE TABLE Filmy( 
  Numer INTEGER, 
  Tytuł CHAR 

 
ALTER TABLE Filmy 
 

ALTER COLUMN Numer COUNTER PRIMARY KEY 

Kwerenda 17 Modyfikacja kolumny – tworzenie klucza głównego 

background image

 

9

Oczywiście  możliwe  jest  pełne  określenie  ograniczenia  dla  klucza  w  modyfikowanym  polu 
modyfikowanej tabeli. 

ALTER TABLE Filmy 

ALTER COLUMN NUMER COUNTER  
CONSTRAINT PK_Filmy PRIMARY KEY NOT NULL 

Kwerenda 18 Modyfikacja kolumny – pełna składnia tworzonego klucza 

Zmiana wymuszania wprowadzania wartości dla kolumny 

Z  pomocą  języka  DDL  możliwa  jest  również  zmiana  opcji  ustawionej  dla  kolumny 
polegającej na wymuszeniu wprowadzenia wartości dla pola. 

ALTER TABLE Uczniowie 

ALTER COLUMN Imię Char(40) NULL 

Kwerenda 19 Modyfikacja kolumny – zmiana wymuszania wprowadzenia wartości 

Należy  pamiętać  jednak  o  tym,  że  zmieniając  tylko  tą  opcję  należy  nadpisać  istniejący  typ 
danych w tym polu. 

2.4.  Obsługa kluczy i relacji w istniejących tabelach 

Instrukcja  ALTER  TABLE  może  zostać  wykorzystana  do  stworzenia  relacji  pomiędzy 
istniejącymi tabelami. Polega to na dodaniu pola klucza obcego do tabeli związanej relacją ze 
strony „wiele”. 

CREATE TABLE Samochody ( 
  IDC COUNTER CONSTRAINT PK_Samochody PRIMARY KEY NOT NULL, 
  Nazwa TEXT(50), 
  Kolor LONG 
); 
 
CREATE TABLE Kolory ( 
  IDK COUNTER CONSTRAINT PK_Kolory PRIMARY KEY NOT NULL, 
  [Nazwa koloru] TEXT(50) 

 
ALTER TABLE Samochody 

ADD CONSTRAINT FK_Kolor FOREIGN KEY (Kolor) 
REFERENCES Kolory(IDK) 

Kwerenda 20 Przykład kwerendy modyfikującej tabelę w celu utworzenia relacji 

W  powyższym  przykładzie  zmodyfikowaliśmy  tabelę  Samochody  poprzez  dodanie  do  niej 
klucza  obcego  FK_Kolor  przechowującego  wartości  w  polu  Kolor  tej  tabeli.  Dodatkowo 
dodaliśmy ograniczenie do tabeli: stworzyliśmy relację z polem IDK tabeli Kolory. 
Aby usunąć istniejącą relację z bazy danych wystarczy usunąć klucz obcy z tabeli powiązanej 
relacją ze strony wiele. 

ALTER TABLE Samochody 
DROP CONSTRAINT FK_Kolor 

Kwerenda 21 Usuwanie relacji poprzez usunięcie klucza obcego 

Oczywiście możliwe jest usunięcie klucza głównego (jeśli nie jest on związany relacją. 

ALTER TABLE Kolory  
DROP CONSTRAINT PK_Kolory 

Kwerenda 22 Usuwanie klucza głównego z tabeli 

background image

 

10

2.5.  Specjalne zastosowania kluczy 

Słówko CONSTRAINT oznacza ograniczenie lub wymuszenie. Można wykorzystać je w celu 
wprowadzenia  pewnych  restrykcji  dla  pól  w  tabeli.  Przykładem  może  być  tu  wymuszenie 
niepowtarzalności dla wybranych pól.  

CREATE TABLE [UNIKALNI LUDZIE] ( 
  IMIĘ CHAR(20) NOT NULL, 
  NAZWISKO CHAR(30) NOT NULL 

ALTER TABLE [UNIKALNI LUDZIE] 

ADD CONSTRAINT [UNIKALNE DANE] UNIQUE (IMIĘ, NAZWISKO) 

Kwerenda 23 Wprowadzenie ograniczenia dla danych poprzez modyfikację tabeli 

3. Instrukcja DROP 

Za pomocą instrukcji DROP możliwe jest usunięcie istniejącego indeksu lub istniejącej tabeli 
z bazy danych. 

3.1. Usuwanie tabel 

DROP TABLE [Nazwa tabeli] 
 
DROP TABLE Uczniowie 

Kwerenda 24 Kwerenda usuwająca tabelę 

3.2. Usuwanie indeksu 

DROP INDEX [Nazwa indeksu]  
 

ON [Nazwa tabeli] 

 
DROP INDEX IDX_Uczeń 
 

ON Uczniowie 

Kwerenda 25 Kwerenda usuwająca indeks 

background image

 

11

DODATEK A – Spis przykładowych kwerend 

Kwerenda 1 Tworzenie pustej tabeli .......................................................................................... 3 
Kwerenda 2 Tworzenie tabeli zawierającej kolumny ................................................................ 3 
Kwerenda 3 Przykładowa kwerenda tworząca tabelę z kolumnami wielu typów danych......... 3 
Kwerenda 4 Przykład kwerendy z wymuszeniami wprowadzania wartości do pola................. 4 
Kwerenda 5 Przykład kwerendy tworzącej pole klucza głównego w tabeli .............................. 5 
Kwerenda 6 Przykłady kwerend tworzących tabele powiązane relacją..................................... 5 
Kwerenda 7 Przykład kwerendy tworzącej prosty indeks ......................................................... 7 
Kwerenda 8 Tworzenie prostego indeksu z wymuszeniem kolejności sortowania pól ............. 7 
Kwerenda 9 Tworzenie głównego indeksu w tabeli .................................................................. 7 
Kwerenda 10 Tworzenie indeksu dla więcej niż jednego pola .................................................. 7 
Kwerenda 11 Tworzenie indeksu z wymuszeniem wprowadzenia wartości do pola ................ 7 
Kwerenda 12 Tworzenie indeksu z ignorowaniem wartości pustych rekordów........................ 7 
Kwerenda 13 Tworzenie unikalnego indeksu ............................................................................ 8 
Kwerenda 15 Usuwanie kolumny z tabeli.................................................................................. 8 
Kwerenda 16 wstawianie kolumny do istniejącej tabeli ............................................................ 8 
Kwerenda 17 Modyfikacja kolumny – zmiana typu danych...................................................... 8 
Kwerenda 18 Modyfikacja kolumny – tworzenie klucza głównego.......................................... 8 
Kwerenda 19 Modyfikacja kolumny – pełna składnia tworzonego klucza ............................... 9 
Kwerenda 20 Modyfikacja kolumny – zmiana wymuszania wprowadzenia wartości .............. 9 
Kwerenda 21 Przykład kwerendy modyfikującej tabelę w celu utworzenia relacji .................. 9 
Kwerenda 22 Usuwanie relacji poprzez usunięcie klucza obcego............................................. 9 
Kwerenda 23 Usuwanie klucza głównego z tabeli..................................................................... 9 
Kwerenda 24 Wprowadzenie ograniczenia dla danych poprzez modyfikację tabeli............... 10 
Kwerenda 25 Kwerenda usuwająca tabelę............................................................................... 10 
Kwerenda 26 Kwerenda usuwająca indeks .............................................................................. 10 
 

DODATEK B – Spis tabel 

Tabela 1 Typy danych oferowane w DAO................................................................................. 4 
 

DODATEK C – Spis rysunków 

Rysunek 1 Przykładowa tabela zawierająca dane osobowe oraz indeks imion z tej tabeli........ 6