Befehle zum Erstellen von Tabellen in Jet - SQL, dem SQL - Dialekt von Access :

create table Kundendatei(KdNr char(15) PRIMARY KEY, Name char(30) NOT NULL,
Vorname char(30) NOT NULL, PLZ char (7) NOT NULL, Ort char(30) NOT NULL,
Strasse char(30) NOT NULL, Tel char(20) NOT NULL, GebDat DATE, EintrittsDat DATE,
Bem char(255), KdKonto INTEGER);

create table Ausleihdatei(VorgangsNr char(15) PRIMARY KEY, Datum DATE,
KdNr char(15) constraint foreign key(KD) references Kundendatei(KdNr), FilmNr char(15) NOT NULL,
Preis CURRENCY NOT NULL, MitarbeiterNr char(15) NOT NULL, Sperrver LOGICAL NOT NULL,
AnzVerspaetRueckgb BYTE);

create table Filmdatei(FilmNr char(15) PRIMARY KEY, Titel char(50) NOT NULL,
Regis char(30), Genre char(20) NOT NULL,
Kategorie char(2) NOT NULL, FSK BYTE NOT NULL, Inhaltsbeschr char(255),
vorhd LOGICAL NOT NULL, RueckgabeDat DATE);
create table Mitarbeiterdatei(MitarbeitNr char(15) PRIMARY KEY, Datum DATE,
Name char(30), FilmNr char(15), constraint FN foreign key(FilmNr) references Filmdatei);

Es werden 4 Tabellen "Kundendatei", "Ausleihdatei", "Filmdatei" und "Mitarbeiterdatei" einer relationalen Datenbank in der 3. Normalform nach E.F.Codd erstellt.



Befehle zum Verändern der Struktur von Tabellen :

alter table Ausleihdatei add constraint FNr foreign key(FilmNr) references Filmdatei;

alter table Ausleihdatei add constraint MNr foreign key(MitarbeiterNr) references Mitarbeiterdatei;

Es werden Fremdschlüssel als Constraints hinzugefügt. Es ist wichtig, Constraints zu benennen,
um sie auch wieder löschen zu können.


alter table Ausleihdatei drop column Preis;

Eine Spalte wird gelöscht

alter table Filmdatei add column Preis CURRENCY NOT NULL;

und wieder hinzugefügt, aber diesmal mit Eingabezwang für den Ausleih - Preis eines Films

alter table Ausleihdatei
drop column AnzVerspaetR;

create unique index Ausleih on Ausleihdatei(FilmNr);

Index anlegen

drop index Ausleih on Ausleihdatei;

Index wird gelöscht

alter table Kundendatei
add column AnzVerspR INTEGER;

Befehle zum Verändern des Inhalts von Tabellen :

Einfügebefehl

insert into Filmdatei(FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd, RueckgabeDat)
values('00001', 'Der diskrete Charme der Bourgeoisie', 'Bunuel',' Kunst',' A', 12,
'Der Praesident ist ein alter Kokser, der seine Freunde zu einer gemeinsamen Sitzung am
runden Tisch einlaedt, man sitzt jedoch auf der Toilette, statt zu essen...', TRUE, NULL, NULL);

insert into Filmdatei(FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis)
values('00002', 'Die fabelhafte Welt der Amelie', 'Jeunet',' Spielfilm',' A', 6,
'Über das Leben und die Liebe...', TRUE, NULL, 3);

insert into Filmdatei(FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis)
values('00003', 'Zazig in der Metro', 'Louis Malle',' Spielfilm',' A', 12,
'Über das Sein...', TRUE, NULL, 3);

insert into Filmdatei(FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis)
values('00005', 'Apocalypse Now', 'Francis Ford Coppola',' Kriegsfilm',' A', 16,
'Ein undurchsichtiger Soldat wird aus seinem Dauersuff erlöst, um den verrückt gewordenen
Colonel Curtz ausfindig zu machen und zu töten...', TRUE, NULL, 3);

insert into Filmdatei(FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis)
values('00006', 'Schneeflittchen mit den 7 Bergen', NULL,' Sexfilm',' C', 18,
'Schneeflittchen ist eine unheilbare Nymphomanin, die von dem bösartigen Dr. Mabuse
behandelt wird, doch da sind noch ihre anatomischen Eigentümlichkeiten...', TRUE, NULL, 5);

insert into Filmdatei(FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis)
values('00007', 'James Blond', 'Herbert Achternbusch',' Comedy',' B', 12,
'James Blond hat die Lizenz zum Blödeln...', TRUE, NULL, 2);

insert into Filmdatei(FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis)
values('00008', 'Arsen und Spitzenhäubchen', 'Howard Hawks',' Comedy',' A', 12,
'Mortimer Brewster will heiraten, waehrend seine beiden netten alten Tanten einsame
Menschen mit arsenhaltigem Holunderwein von ihren Leiden erloesen, doch da ist auch noch
sein Bruder Jonathan...', TRUE, NULL, 1.50);

INSERT INTO Filmdatei ( FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis )
VALUES ('00009', 'Brazil', 'Terry Gilliam', ' Science Fiction', ' A', 12,
'Verwaltungsirrtum mit fatalen Folgen in einer imaginären totalitären Welt von morgen.',
TRUE, NULL, 3);

INSERT INTO Filmdatei ( FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis )
VALUES ('00010', 'PanTau', 'NN', ' Kinderfilm', ' B', 6, 'Zauberer aus Prag', TRUE, NULL,
1.5);

Löschbefehl

delete from Filmdatei
where FilmNr= '00009';

INSERT INTO Kundendatei ( KdNr, Name, Vorname, PLZ, Ort, Strasse, Tel, GebDat,
EintrittsDat, Bem, KdKonto )
VALUES ('00011', 'Williams', 'Paul', ' 38462', ' Barnbeck','Kastanienweg 11',
'01133-121212','1955-8-13',
Date(), NULL, NULL);

delete from Kundendatei
where KdNr='00011';

INSERT INTO Kundendatei ( KdNr, Name, Vorname, PLZ, Ort, Strasse, Tel, GebDat,
EintrittsDat, Bem, KdKonto )
VALUES ('01316', 'Jelinek', 'Elfriede', ' 54399', 'Katzenellnbogen','Bornholmerstr 4',
'02554-431213','1939-12-21',
Date(), NULL, NULL);

INSERT INTO Mitarbeiterdatei ( MitarbeitNr, Datum,Name, FilmNr )
VALUES ('007', Date(), 'M7',NULL);

INSERT INTO Filmdatei ( FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis )
VALUES ('00030', 'Uhrwerk Orange', NULL, 'Thriller', ' A', 16,
'Alex hat seltsame Hobbies, er plündert, vergewaltigt und nimmt Drogen....',
TRUE, NULL, 3);

INSERT INTO Filmdatei ( FilmNr, Titel, Regis, Genre, Kategorie, FSK, Inhaltsbeschr, vorhd,
RueckgabeDat, Preis )
VALUES ('00025', 'Bei Anruf Mord ','Alfred Hitchcock', 'Kriminalfilm', ' A', 12,
NULL,
TRUE, NULL, 3);

insert into Ausleihdatei (VorgangsNr, Datum, KdNr, FilmNr, MitarbeiterNr, Sperrver)
values('002', Date(), '00112','00001', '001', FALSE);

insert into Ausleihdatei (VorgangsNr, Datum, KdNr, FilmNr, MitarbeiterNr, Sperrver)
values('003', Date(), '00666','00021', '001', FALSE);

Befehl zum Abfragen des Inhalts von Tabellen :

select * from Filmdatei
where Genre = 'Science Fiction';