Erstellen und Verwalten von Tabellen Tabellen mit MySQL

Werbung
Erstellen und Verwalten von Tabellen
Als nächstes müssen die Tabellen der Datenbank Personalwesen erzeugt werden.
Die Syntax dazu lautet:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(TABELLENDEFINITION, …)}
[TABELLENOPTIONEN]
[SELECT-Befehl]
Das reservierte Wort TEMPORARY erzeugt eine flüchtige Tabelle, die nur solange besteht wie
die Verbindung zur Datenbank. Der Befehl wurde jedoch beim Erstellen der Tabellen nicht
benötigt.
Durch die Angabe von IF NOT EXISTS wird keine Fehlermeldung ausgegeben, wenn die
Tabelle bereits existiert. Allerdings werden die Strukturen von alter und neuer Tabelle nicht
überprüft.
Tabellen mit MySQL-Monitor anlegen
Die zu erzeugenden Tabellen wurden mit einem Texteditor geschrieben und dann unter dem
Dateinamen C:\EIGENE DATEIEN\DB\TABLES.SQL gespeichert.
Die Tabellen haben folgenden Aufbau:
CREATE TABLE abteilung (abt_id VARCHAR(2) NOT NULL PRIMARY KEY
bezeichnung VARCHAR(40));
CREATE TABLE job (job_id VARCHAR(2) NOT NULL PRIMARY KEY,
titel VARCHAR (30), gehalt DOUBLE(8,2));
CREATE TABLE angestellte (ang_id VARCHAR (3) NOT NULL PRIMARY
KEY, name VARCHAR (10), gebdatum DATE, abt_id VARCHAR (2),
CONSTRAINT FKabt_id FOREIGN KEY(abt_id)
REFRENCES abteilung(abt_id) ON DELETE CASCADE,
job_id VARCHAR(2), CONSTRAINT FKjob_id1 FOREIGN KEY(job_id)
REFERENCES job(job_id) ON DELETE CASCADE);
CREATE TABLE qualifikation(ang_id VARCHAR(3) NOT NULL, FOREIGN
KEY(ang_id) REFERENCES angestellte(ang_id) ON DELETE CASCADE,
job_id VARCHAR(2) NOT NULL, CONSTRAINT FKjob_id2 FOREIGN
KEY(job_id) REFERENCES job(job_id) ON DELETE CASCADE,
CONSTRAINT PKquali PRIMARY KEY(ang_id,job_id));
Um die Tabellen anzulegen, wechseln Sie in das MySQL-Verzeichnis in meiner Installation
war das C:\WEB\MYSQL\BIN.
Die Tabellen werden mit dem MySQL-Monitor in einer Kommandozeile wie folgt angelegt:
\. C:\EIGENE~1\DB\TABLES.SQL
(Abb.12: Erstellen der Tabellen mit MySQL-Monitor)
Tabellen mit phpMyAdmin anlegen
PhpMyAdmin bietet drei gängige Möglichkeiten, Tabellen anzulegen. Zuerst muss
phpMyAdmin mit der URL http://localhost/phpmyadmin/index.php3 gestartet werden. Als
nächstes muss die Datenbank Personalwesen ausgewählt werden.
Variante 1
Eingeben eines SQL-Befehls in das SQL-Eingabefeld.
Variante 2
Durch klicken auf den Button Durchsuchen kann eine Datei ausgewählt werden, die SQLBefehle enthält (z.B. C:\EIGENE DATEIEN\DB\TABLES.SQL).
Variante 3
Die Tabellen können auch einzeln menügesteuert angelegt werden. Unter dem Menüpunkt
Neue Tabelle erstellen in Datenbank Personalwesen kann die Tabelle
mit der Anzahl der Felder festgelegt werden.
(Abb.13: Auswahl einer Datenbank mit PhpMyAdmin)
Bei Aktivieren des Buttons OK wird die Seite mit der Tabellendefinition angezeigt.
(Abb.14: Erstellen von Tabellen mit PhpMyAdmin)
Wurden alle CREATE TABLE-Befehle richtig ausgeführt, dann sollte die Datenbank
folgenden Aufbau haben:
(Abb.15: Tabellen der Datenbank „Personalwesen“ unter PhpMyAdmin)
Hinzufügen von Datensätzen
Es wurden nun alle vier Tabellen erzeugt. Nun können die dazugehörigen Datensätze mit dem
SQL-Befehl INSERT in die Tabellen eingefügt werden. Die dazugehörige Syntax lautet:
INSERT INTO tbl_name [(Spalte1, Spalte2, ...)] VALUES (Wert1,
Wert2, ...);
Die Daten werden in die Tabelle tbl_name eingefügt. Die Spaltennamen links von VALUES
stehen mit den Werten rechts von VALUES in Beziehung. Für jeden Attributnamen auf der
linken Seite muss auf der rechten Seite ein Wert stehen.
Werden auf der linken Seite keine Attributnamen angegeben, dann muss auf der rechten Seite
für jedes Attribut ein Wert angegeben werden.
Die dazugehörigen Daten können von der Hompage von Prof. Sauer unter http://rfhs8012.fhregensburg.de/~saj39122/DB/ heruntergeladen werden und dann entweder über eine Datei mit
den SQL-Monitor oder mit phpMyAdmin eingefügt werden. Es besteht außerdem die
Möglichkeit, die Daten per Hand mit phpMyAdmin zu erstellen.
Als Beispiel wurden die INSERT INTO-Befehle von aus dem Vorlesungsskript
Datenbanken von Prof. Sauer (http://rfhs8012.fh-regensburg.de/~saj39122/DB/) in die Datei
INSERTS.SQL geschrieben und dann über den SQL-Monitor erstellt.
insert into abteilung values ('KO','Konstruktion');
insert into abteilung values ('OD','Organisation und
Datenverarbeitung');
insert into abteilung values ('PA','Personalabteilung');
insert into abteilung values ('RZ','Rechenzentrum');
insert into abteilung values ('VT','Vertrieb');
insert into job values ('KA','Kaufm. Angestellter',3000.00);
insert into job values ('TA','Techn. Angestellter',3000.00);
insert into job values ('PR','Programmierer',3000.00);
insert into job values ('SY','Systemplaner',6000.00);
insert into job values ('IN','Ingenieur',6000.00);
insert into job values ('OR','Operateur',3500.00);
insert into angestellte values
('A1','Fritz','02.01.1950','OD','SY');
insert into angestellte values
('A2','Tom','02.01.1951','KO','IN');
insert into angestellte values
('A3','Werner','23.01.1948','OD','PR');
insert into angestellte values
('A4','Gerd','03.11.1955','VT','KA');
insert into angestellte values
('A5','Emil','02.03.1960','PA','PR');
insert into angestellte value
('A6','Uwe','03.04.1952','RZ','OP');
insert into angestellte values
('A7','Erna','17.11.1955','KO','TA');
insert into angestellte values
('A8','Rita','02.12.1957','KO','TA');
insert into angestellte values
('A9','Ute','08.09.1962','OD','SY');
insert into angestellte values
('A10','Willi','07.07.1956','KO','IN');
insert into angestellte values
('A12','Anton','05.07.1948','OD','SY');
insert into angestellte values
('A13','Josef','02.08.1952','KO','SY');
insert into angestellte values
('A14','Maria','17.09.1964','PA','KA');
insert into qualifikation values ('A1','SY');
insert into qualifikation values ('A1','PR');
insert into qualifikation values ('A1','OP');
insert into qualifikation values ('A2','IN');
insert into qualifikation values ('A2','SY');
insert into qualifikation values ('A3','PR');
insert into qualifikation values ('A4','KA');
insert into qualifikation values ('A5','PR');
insert into qualifikation values ('A6','OP');
insert into qualifikation values ('A7','TA');
insert into qualifikation values ('A8','TA');
insert into qualifikation values ('A9','IN');
insert into qualifikation values ('A9','SY');
insert into qualifikation values ('A10','IN');
insert into qualifikation values ('A11','KA');
insert into qualifikation values ('A12','SY');
insert into qualifikation values ('A13','IN');
insert into qualifikation values ('A14','KA');
(Abb.16: Insert-Befehle unter MySQL-Monitor)
Die Daten können über den Button Einfügen mit phpMyAdmin auch eingefügt werden.
(Abb.17: füllen der Tabellen mit Daten unter PhpMyAdmin)
Man kann sich nun mit phpMyAdmin die Tabelleninhalte anzeigen lassen. Die Tabelle
Angestellte sollte nun die folgenden Datensätze beinhalten:
(Abb.18: anzeigen der Tabelleninhalte unter PhpMyAdmin)
(Abb. 19: Datensätze der Tabelle „Angestellte“)
Herunterladen