PMG2224 1/DB Beleg/Camillo
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SQL</language>
= Datenbankbeleg =
== Ziel der Datenbank ==
== Modellierung in einem ERM ==
[[Bild:Camillo_Image.png]]
== Transformation in das Relationenmodell ==
== Erstellen der DB (Struktur/notwendige Datensätze) ==
<code id="65bca1ef36650">
CREATE TABLE Veranstaltungen (
VeranstaltungsID INT PRIMARY KEY,
Name VARCHAR(100),
Datum DATE,
Ort VARCHAR(255),
VeranstalterID INT,
FOREIGN KEY (VeranstalterID) REFERENCES Veranstalter(VeranstalterID)
);
CREATE TABLE Veranstalter (
VeranstalterID INT PRIMARY KEY,
Name VARCHAR(100),
Adresse VARCHAR(255),
Telefonnummer VARCHAR(15)
);
CREATE TABLE Teilnehmer (
TeilnehmerID INT PRIMARY KEY,
Name VARCHAR(100),
Email VARCHAR(255)
);
CREATE TABLE Tickets (
TicketID INT PRIMARY KEY,
VeranstaltungsID INT,
TeilnehmerID INT,
Preis DECIMAL(5,2),
FOREIGN KEY (VeranstaltungsID) REFERENCES Veranstaltungen(VeranstaltungsID),
FOREIGN KEY (TeilnehmerID) REFERENCES Teilnehmer(TeilnehmerID)
);
CREATE TABLE Sponsoren (
SponsorID INT PRIMARY KEY,
Name VARCHAR(100),
Betrag DECIMAL(7,2)
);
CREATE TABLE Veranstaltung_Sponsor (
VeranstaltungsID INT,
SponsorID INT,
FOREIGN KEY (VeranstaltungsID) REFERENCES Veranstaltungen(VeranstaltungsID),
FOREIGN KEY (SponsorID) REFERENCES Sponsoren(SponsorID),
PRIMARY KEY (VeranstaltungsID, SponsorID)
);
</code>
----
<code id="65c5d16b3fb56">
INSERT INTO Veranstaltungen VALUES (1, 'Freiluftkonzert', '22-02-24', 'Dresden', 1);
INSERT INTO Veranstaltungen VALUES (2, 'Szenische Lesung', '28-02-24', 'Kamenz', 2);
INSERT INTO Veranstaltungen VALUES (3, 'Freiluftkonzert', '01-03-24', 'Dresden', 1);
INSERT INTO Veranstalter VALUES (1, 'Dresdner Philharmonie', 'Schlossstraße 2 Dresden', 12345678);
INSERT INTO Veranstalter VALUES (2, 'Leseclub Kamenz', 'Hauptstraße 12 Kamenz', 87654321);
INSERT INTO Veranstalter VALUES (3, 'Deutsch-sorbisches Volkstheather Bautzen', 'Theaterplatz 1 Bautzen', 18273645);
INSERT INTO Teilnehmer VALUES (1, 'Ad Rian', 'rianad@jan.is');
INSERT INTO Teilnehmer VALUES (2, 'Wol Tär', 'woltaer123@pmg-bautzen.lernsax.de');
INSERT INTO Teilnehmer VALUES (3, 'Deez Who', 'illegal@gmail.com');
INSERT INTO Tickets VALUES (1, 1, 1, 90.00);
INSERT INTO Tickets VALUES (2, 2, 2, 00.00);
INSERT INTO Tickets VALUES (3, 3, 2, 40.00);
INSERT INTO Sponsoren VALUES (1, 'Hallsonde Gesellschaft', 800.00);
INSERT INTO Sponsoren VALUES (2, 'Kompression INC.', 1200.00);
INSERT INTO Sponsoren VALUES (3, 'DOS GmbH', 2.00);
INSERT INTO Veranstaltung_Sponsor VALUES (1, 1);
INSERT INTO Veranstaltung_Sponsor VALUES (2, 2);
INSERT INTO Veranstaltung_Sponsor VALUES (3, 1);
INSERT INTO Veranstaltung_Sponsor VALUES (3, 3);
</code>
== Erstellen von verschiedenen Abfragen (unterschiedlicher „Schwierigkeit“) ==
<run id="65bca1ef3669f">
SELECT * FROM Teilnehmer;
</run>
----
<run id="65c5d73253b92">
SELECT * FROM Veranstaltungen WHERE Datum='22-02-24';
</run>
----
<run id="65c5d7f20140f">
SELECT Teilnehmer.Email FROM Teilnehmer, Tickets WHERE Teilnehmer.TeilnehmerID = Tickets.TeilnehmerID AND Tickets.Preis > 50;
</run>
----
<run id="65c5dacf8d0a5">
SELECT Veranstaltung.Name FROM Veranstaltung, Veranstaltung_Sponsor WHERE Veranstaltung.VeranstaltungID = Veranstaltung_Sponsor.VeranstaltungID AND COUNT(SponsorID) > 1;
</run>
== kritische Reflexion zu Modellierung und Umsetzung ==
== verwendete Quellen, Tools, etc. ==
* ERDplus