PMG/Kurs 11/D Beleg/Daniel

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
Ziel meines Datenbankbeleges:

Meine Datenbank dreht sich um ein vereinfachtes Modell eines Handy-Vertrags Ladens. Dabei werden 4 Tabellen erstellt für, Kunde, Tarif, Tarifoptionen und Verkäufer. Folgendes Szenario soll somit in der Datenbank veranschaulicht werden. Ein Kunde geht in einen Handyladen und möchte für sich einen neuen Handytarif beantragen. Dieser Tarif wird von dem Verkäufer des Ladens angeboten bzw. vertrieben. Jeder Tarif hat außerdem individuelle Tarifoptionen, welche Flatrates und Extras beinhalten. In dieser Datenbank werden somit Daten von Kunde und Verkäufer angegeben und die Daten der jeweiligen Tarife, welche sie bestellen und was sie beinhalten.

<popup label="ERM-Modell">[[Bild:D.Rostock_Diagramm1.jpeg]]</popup>
<popup label="Relationentabelle">[[Bild:D.Rostock_RT.jpg]]</popup>

<code id="51337a775d6ab">
Drop Table if exists Kunde;
Create Table Kunde (
Kundennr varchar (50),
Name varchar (100),
Vorname varchar (100),
Straße varchar (150),
Plz varchar (50),
Stadt varchar (100),
Tarifnr varchar (40),
bedient varchar (40),
PRIMARY KEY (Kundennr));

INSERT INTO Kunde VALUES ('K-001', 'Kompost', 'Kalle', 'Klausensstr 4', '02625', 'Bautzen', 'T-2', 'V-01');
INSERT INTO Kunde VALUES ('K-002', 'Bert', 'Kuni', 'Lichterstr 6', '02625', 'Bautzen', 'T-1', 'V-02');
INSERT INTO Kunde VALUES ('K-003', 'Stift', 'Rainer', 'Yoloway 4', '02744', 'Stiebitz', 'T-1', 'V-02');
INSERT INTO Kunde VALUES ('K-004', 'Müller', 'Peter', 'Swagstreet 6', '06345', 'Richtfelde', 'T-3', 'V-01');
INSERT INTO Kunde VALUES ('K-005', 'Mayer', 'Günther', 'Talstr 321', '04411', 'Elosio', 'T-2', 'V-02');
INSERT INTO Kunde VALUES ('K-006', 'Sepp', 'Tanja', 'Bordweg 1', '05654', 'Kallencity', 'T-3', 'V-01');

Drop Table if exists Tarif;
Create Table Tarif (
Tarifnr varchar(30),
Tarifname varchar(290),
Inhalte varchar(30),
PRIMARY KEY (Tarifnr),);

INSERT INTO Tarif VALUES ('T-1','Internet Superflat','O-1');
INSERT INTO Tarif VALUES ('T-2','Komplett-Tarif','O-2');
INSERT INTO Tarif VALUES ('T-3','SMS-Flat','O-3');

Drop Table if exists Optionen;
Create Table Optionen (
Optionsnr varchar(30),
Flatrates varchar(1000),
Extras varchar(1000),
Kosten varchar(100),
PRIMARY KEY (Optionsnr));

INSERT INTO Optionen VALUES ('O-1','Internetflat (250MB)-SMSflat','keine','14.99');
INSERT INTO Optionen VALUES ('O-2','Internetflat (unbegrenzt),Smsflat, Telefonflat','Erste zwei Monate umsonst + kostenloses Handy','49.99');
INSERT INTO Optionen VALUES ('O-3','Smsflat','Smsflat','keine','4.99');

Drop Table if exists Verkäufer;
Create Table Verkaufer (
Name varchar(100),
Vorname varchar(100),
Straße varchar(200),
Plz varchar(50),
Stadt varchar(150),
Verkaufernr varchar(4),
PRIMARY KEY (Verkaufernr));

INSERT INTO Verkaufer VALUES ('Müller','Michael','Gichtstr 4', '49861','Kottewitz',V-01);
INSERT INTO Verkaufer VALUES ('Jantschke','Lukas','Tomatenstr 5', '85919', 'Albina',V-02);

</code>

Was sind die Namen aller Kunden?
<run id="512db36cf052d">
Select Kunde.Name, Vorname
From Kunde.Kundennr
</run>;
Welcher Kunde wurde von welchem Verkäufer bedient?
<run id="51335492310b9">
Select Kunde.Name , Vorname, bedient.Verkäufer
From Kunde, Verkaufer
Where Kunde.Kundennr = Verkaufer.</run>