PMG/Sammlung alt DB
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SQL</language>
Gegeben ist folgende, stark vereinfachte Datenbank mit den Tabellen ''Schueler'' und ''Noten'', die neben den Adressen die Prüfungsnoten der Schüler in einigen Fächern speichert.<br>
<code hidden id="4cacebae2b337">
DROP TABLE IF EXISTS schueler;
CREATE TABLE schueler (
Name varchar(20),
Vorname varchar(20) ,
Wohnort varchar(15) ,
PLZ varchar(5) ,
Telefon varchar(11) ,
Straße varchar(25) ,
Schuelernr varchar(7) ,
PRIMARY KEY (Schuelernr)
);
INSERT INTO schueler VALUES ('Scheurich', 'Erich', 'Bautzen', '02625', '40256', 'Mättigstr. 12', '1234567');
INSERT INTO schueler VALUES ('Schlenkrich', 'Ricarda', 'Teichritz', '02689', '23456', 'Dorfstr. 2', '1234568');
INSERT INTO schueler VALUES ('Angst', 'Beatrice', 'Wurschen', '02645', '67255', 'Nr. 12a', '1234569');
INSERT INTO schueler VALUES ('Waurick', 'Andre', 'Bautzen', '02625', '30445', 'Brecht-Str. 34', '1234572');
INSERT INTO schueler VALUES ('Scheurich', 'Erick', 'Bautzen', '02625', '40256', 'Mättigstr. 12', '1234573');
DROP TABLE IF EXISTS Noten;
CREATE TABLE Noten (
Schuelernr varchar(7),
Mathe integer default '0',
Deutsch integer,
Bio integer
);
INSERT INTO Noten VALUES ('1234567', 2, 3, 1);
INSERT INTO Noten VALUES ('1234568', 2, 2, 2);
INSERT INTO Noten VALUES ('1234569', 3, 4, 2);
INSERT INTO Noten VALUES ('1234572', 4, 3, 3);
INSERT INTO Noten VALUES ('1234573', 1, 1, 1);
</code>
'''1. Erstellen Sie folgende Abfragen:'''
* Gesucht sind alle Namen, Vornamen und Adressen derjenigen Schüler, deren Noten in allen Fächern besser als 3 sind.
* Gesucht sind alle Schüler aus Bautzen.
<eval id="4cacebc7a138b">
</eval>
select Name, Vorname, Wohnort, PLZ
from schueler, Noten
where schueler.schuelernr=Noten.schuelernr and (Mathe<3 and Deutsch<3 and Bio<3);
select Name, Vorname
from schueler
where Wohnort='Bautzen';
select * from schueler;
'''2. Ergänzen Sie die Datenbank um eine Tabelle Pruefer.'''<br>
mit den Attributen
* Pruefernr varchar(7)
* Name varchar(20)
* Fach varchar(4))
Füllen Sie die Tabelle mit mindestens 3 Datensätzen
'''3. Aufgabe'''<br>
Die Tabelle ist noch "losgelöst" von den anderen Tabellen.<br>
Beschreiben Sie eine Möglichkeit, damit die Tabelle ''pruefer'' in Beziehung zu den anderen steht.
<eval id="4cd111f4e4723">
begin
write(' // Hier sollte Ihr Text stehen ');
end.
</eval>
Erstelle eine Datenbank '''''CD-Versand''''': zur Verwaltung von Kundendaten, der vorhandenen CDs und des Versands an Kunden
Datenbank_SQL-Syntax zum Nachlesen: [http://hsqldb.org/doc/2.0/guide/index.html] <br><br>
{| border="1"
|-
| [[Bild:CD-Versand.jpeg|Miniatur|250px]] || [[Bild:1234.jpeg|Miniatur|250px]] || [[Bild:Diagramm2.jpeg|Miniatur|250px]]
|-
| Astrid|| Linda || David
|-
| [[Bild:Ll1.jpeg|Miniatur|250px]] || [[Bild:Modell_cd-versand.jpeg|Miniatur|250px]] || [[Bild:Dia.jpeg|Miniatur|250px]]
|-
| Jonas || Martin || Franz
|}
<code id="4cda754fb9361">
//Hier Datenstruktur anlegen
</code>
<eval id="4cda754fb947d">
//Hier Abfragen formulieren
</eval>
<eval id="4cecf79a4840c">
//Hier Abfragen formulieren
</eval>
<eval id="4cecf79a48523">
//Hier Abfragen formulieren
</eval>
zurück zu [[Datenbanken]]
'''Anforderungen an das Datenbank-Projekt'''
Bearbeiten Sie ein Datenbank-Projekt zu einem Thema Ihrer Wahl.
Dazu gehören:
* Ziel der Datenbank ("Begründung" der Themenwahl)
* Modellierung in einem ERM
* Transformation in das Relationenmodell
* Erstellen der DB (Struktur/notwendige Datensätze)
* Erstellen von verschiedenen Abfragen (unterschiedlicher „Schwierigkeit“)
Das Projekt ist komplett im PWiki zu bearbeiten.
Dabei arbeitet jeder auf einer eigenen Seite (siehe Links unten). Unterseiten werden mit "/" neu eingefügt.[[Bild:Unterseiten.JPG|right|thumb|250px|in der Adresszeile hinter die aktuelle Seite einfügen]]<br>
Wichtige Merkmale der Modelle (Kardinalität, Normalform, ...) sind zu erläutern.<br>
Das ERM ist als Bild einzufügen.
Bearbeitung des Projekts während der Unterrichtsstunden.
vorgesehener Zeitraum: