Datenbanken

Aus ProgrammingWiki
Archivierte Version vom 2010-01-01T19:08:31+00:00. Aktuelle Version

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

Erd.jpg

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>