PMG1617/DB Beleg/Paul
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SQL</language>
'''Datenbank-Projekt: Kauf einer DVD in einem Onlinestore'''
==Themenwahl==
Ich habe dieses Thema gewählt, da es sehr gut zur Veranschaulichung einer Datenbank dient. Desweiteren bevorzugen es auch viele Leute ihre Bestellungen online aufgeben,bevor sie ein Geschäft besuchen. Daher handelt es sich auch um ein sehr aktuelles Thema, da sich immer mehr Leute damit auseinandersetzen.
==Definitionen==
Datenbank: Ist ein System zur elektrischen Datenverwaltung, um große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern.
Datenbasis: Ist die Menge an Daten, welche für einen bestimmten Zweck erhalten oder gespeichert werden. Die Datenbasis umfasst mehrere und häufig nicht konkrete bestimmte Datenbestände.
Datenbankmanagementsystem: Dient zur Organisation und Strukturierung der Daten.
Entität: Ist ein eindeutig zu bestimmmendes Objekt über das Informationen gespeichert oder verarbeitet werden.
==Kardinalitäten==
1:1 Beziehung: Jeder Datensatz in Tabelle A ist genau einem Datensatz in Tabelle B zugeordnet und umgekehrt
1:n Beziehung: Im Datensatz der Tabelle A können mehrere passende Datensätze der Tabelle B zugeordnet sein, aber im Datensatz der Tabelle B ist nie mehr als ein Datensatz der Tabelle A zugeordnet
m:n Beziehung: Jedem Datensatz in Tabelle A können mehrere Datensätze der Tabelle B zugeordnet sein und umgekehrt ebenso
==Normalformen==
Erste Normalform (ENF) - jeder Spalte wird nur eine Information zugeordnet
Zweite Normalform (ZNF) - gleiche Aufteilung der Entitäten und Entitymengen in Tabellen
==ERM==
[[Bild:Paul99_ERM_DVD.jpeg]]
==ERM in RM==
Primärschlüssel -> Unterstrichen
DVD (DVD_ID, Titel, Preis, Genre)
Kunde (Kunden_ID, Adresse, Vorname, Nachname, Alter)
Versandsfirma (Kunden_ID, DVD_ID, Zustellungsdatum)
Onlinestore (DVD_ID, Anzahl)
==Datenbank==
<code id="5aa648935f113">
Create table T_Kunde (
Kunden_ID integer,
Vorname varchar (100),
Nachname varchar (100),
Geburtsjahr integer (100),
Postleitzahl integer (5),
Hausnummer integer (100),
Strasse varchar (100),
Wohnort varchar (100),
Primary Key (Kunden_ID)
);
Create table T_DVD (
DVD_ID integer,
Preis decimal,
Genre varchar (50),
Titel varchar (50),
Primary Key (DVD_ID)
);
Create table T_Onlinestore (
DVD_ID integer,
Anzahl integer,
Primary Key (DVD_ID)
);
Create table T_Versandsfirma (
Kunden_ID integer,
Zustellungsdatum date),
Primary Key (Kunden_ID)
);
INSERT INTO T_Kunde (Kunden_ID, Vorname, Nachname, Geburtsjahr, Postleitzahl, Hausnummer, Strasse, Wohnort) VALUES ('1','Max','Mustermann', '1999', '12345','45','Wilthener Str.','Bautzen');
INSERT INTO T_Kunde (Kunden_ID, Vorname, Nachname, Geburtsjahr, Postleitzahl, Hausnummer, Strasse, Wohnort) VALUES ('2','Tim','Müller', '1985', '08152','1','Karl-Marx Str.','Dresden');
INSERT INTO T_Kunde (Kunden_ID, Vorname, Nachname, Geburtsjahr, Postleitzahl, Hausnummer, Strasse, Wohnort) VALUES ('3','Susi','Schmidt', '2000', '27485','75','Paul-Neck Str.','Berlin');
INSERT INTO T_Kunde (Kunden_ID, Vorname, Nachname, Geburtsjahr, Postleitzahl, Hausnummer, Strasse, Wohnort) VALUES ('4','Richard','Riese', '1989', '61554','15','Wilhelm-von-Polenz Str.','Hamburg');
INSERT INTO T_Kunde (Kunden_ID, Vorname, Nachname, Geburtsjahr, Postleitzahl, Hausnummer, Strasse, Wohnort) VALUES ('5','Lena','Richter', '1973', '23123','12','August-Bebel Str.','Bautzen');
INSERT INTO T_Kunde (Kunden_ID, Vorname, Nachname, Geburtsjahr, Postleitzahl, Hausnummer, Strasse, Wohnort) VALUES ('6','Toni','Wagner', '1979', '12312','4','Kölner Str.','Köln');
INSERT INTO T_DVD (DVD_ID, DVD_Titel, Preis, Genre) VALUES ('1','Breaking Bad','29.99','Krimi');
INSERT INTO T_DVD (DVD_ID, DVD_Titel, Preis, Genre) VALUES ('2','Dr. House','14.95','Drama');
INSERT INTO T_DVD (DVD_ID, DVD_Titel, Preis, Genre) VALUES ('3','Star Wars Episode 1','19.99','Science-Fiction');
INSERT INTO T_DVD (DVD_ID, DVD_Titel, Preis, Genre) VALUES ('4','Lost','24.95','Action');
INSERT INTO T_Onlinestore (DVD_ID, Anzahl) VALUES ('1','4');
INSERT INTO T_Onlinestore (DVD_ID, Anzahl) VALUES ('2','3');
INSERT INTO T_Onlinestore (DVD_ID, Anzahl) VALUES ('3','2');
INSERT INTO T_Onlinestore (DVD_ID, Anzahl) VALUES ('4','3');
Insert into T_Versandsfirma (Kunden_ID, DVD_ID) values ('1','2');
Insert into T_Versandsfirma (Kunden_ID, DVD_ID) values ('1','4');
Insert into T_Versandsfirma (Kunden_ID, DVD_ID) values ('1','1');
Insert into T_Versandsfirma (Kunden_ID, DVD_ID) values ('1','3');
Insert into T_Versandsfirma (Kunden_ID, DVD_ID) values ('1','4');
</code>
==Abfragen==
<run id="5ab8a7ab6e865">
SELECT * FROM T_Kunde ;
</run>
<run id="5ab8a7ab6e8fa">
SELECT * FROM T_DVD ;
</run>
<run id="5ab8a7ab6e96a">
SELECT * FROM T_Onlinestore ;
</run>
<run id="5ab8a7ab6e9d3">
SELECT * FROM T_Versandsfirma ;
</run>