Datenbanken
Inhaltsverzeichnis |
Datenbanksprache SQL
Datenbank anlegen
Zuerst legen wir eine sehr einfache Datenbank an. Sie besteht aus nur einer Tabelle Student. Die allgemeine Form zur Erstellung einer Tabelle lautet: CREATE TABLE Tabellenname (Attributname Datentyp,...);
Beispiel: CREATE TABLE KUNDE (ID INTERGER, Nachname VARCHAR(50), Ort varchar(50));
Außerdem sollte man bedenken, dass die anzulegende Tabelle (oder eine gleichnamige andere) bereits existiert. DROP TABLE Tabellenname IF EXISTS;
<eval id="4b3e44514e418"> DROP TABLE Student IF EXISTS; CREATE TABLE Student </eval>
(ID INTEGER, Nachname varchar(50), Vorname varchar(50), PLZ varchar(6), Ort varchar(50), Strasse varchar(50), MNr INTEGER);
Datensätze einfügen
Der nächste Schritt besteht darin, Datensätze in die Datenbank einzufügen:
INSERT INTO Tabellenname (Spaltenliste) VALUES (Werte); Beispiel: INSERT INTO KUNDE (ID, Nachname, Ort)) VALUES (10,'Meyer','Görlitz');
<eval id="4b3e44514ebe7"> INSERT INTO Student VALUES (0,'Müller','Franz','02826','Görlitz','Blumenstraße 5',0); INSERT INTO Student VALUES (1,'Schmidt','Susi','02827','Görlitz','Bäckergaße 3'); INSERT INTO Student VALUES (2,'Adler','Anton','02763','Zittau','Berliner Straße 50'); INSERT INTO Student VALUES (3,'Bär','Bertha','02829','Markersdorf','Bahnhofstraße 3'); INSERT INTO Student VALUES (4,'Meyer','Ben','30001','Hannover','Sonnenblumenweg 4'); INSERT INTO Student VALUES (5,'Schulze','Sebastian','09001','Chemnitz','Kirchstrasse 43'); INSERT INTO Student VALUES (6,'Richter','Rudolf','02763','Zittau','Deckelweg 6'); INSERT INTO Student VALUES (7,'Wasser','Wilhelm','01067','Dresden','Bahnhofstraße 76'); </eval>
Datensätze abfragen
Um einzelne Datensätze gezielt zu selektieren, gibt es SELECT * | Spaltenliste FROM Tabellenliste WHERE Ausdruck
Beispiele: SELECT * FROM Kunde WHERE Ort = 'Musterstadt'; SELECT Nachname, Vorname FROM Kunde,Student WHERE Ort = 'Musterstadt' AND Nachname='Schmidt';
<eval id="4b3e44514f3be"> SELECT * FROM Student; </eval>
ERD
Die Abbildung bezieht sich auf das Beispiel, das Sie in dieser Übung bearbeiten sollen.
Projektion
Schreiben Sie eine SQL-Abfrage, die sämtliche Studenten aus der Tabelle Student anzeigt. Erweitern Sie danach die Abfrage so, dass nur noch Nachname, Vorname und Wohnort angezeigt werden.
<eval id="4aba316215355">;Ihre Abfrage</eval>
Überlegung ID
Diskutieren Sie potenzielle Gründe für die Entscheidung, dass IDs von gelöschten Datensätzen nicht neu vergeben werden.
Selektion
Schreiben Sie eine SQL-Abfrage, die alle Studenten aus der Stadt Görlitz anzeigt.
<eval id="4aba316215f14">;Ihre Abfrage</eval>
Daten einfügen
Schreiben Sie eine Abfrage, sodass ein sinnvoller Datensatz in die Datenbank Student eingefügt wird.
<eval id="4aba316216adb">;Ihre Abfrage</eval>
JOIN
Überlegen Sie sich nun eine Abfrage, welche die beiden Tabellen Studiengang und Student miteinander verknüpft. Dabei sollen alle Studenten mit der Matrikel-ID 2 augegeben werden. <eval id="4aba31621767f">;Ihre Abfrage</eval>
Erweiterung der Datenbank
Erstellen Sie nun eine Tabelle Fahrzeug, welche eine ID, eine Nummernschild und eine Bezeichnung und einen Fremdschlüssel zu der Studenten-ID besitzt. Fügen Sie danach einige Datensätze ein und sehen Sie sich die Resultate an.
<eval id="4aba316218244">;Ihre Abfrage</eval>
