PMG/Kurs 1214/DB Beleg/Daniel

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
== DB Beleg-Daniel ==
=== Aufgabe ===

'''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 namentliche ''Links'' unten). <br>
 Bilder sind als ''jpg'' hochzuladen.
 Programmiersprache ist mit ''SQL'' auszuwählen.
 Für den Programmcode die Codebox verwenden, für die Abfragen die Runbox.
 ''Alle Übungsseiten des PWiki stehen zur Verfügung (incl. Hilfeseiten)''



Wichtige Merkmale der Modelle (Kardinalität, Normalform, ...) sind zu erläutern.<br>
Das ERM ist als Bild (erzeugt mit dem Tool "Dia") einzufügen.

Bearbeitung des Projekts ''selbstständig'' während der Unterrichtsstunden ("Fernwartung" der Eingabeboxen und Seiten möglich).
	
vorgesehener Zeitraum: (20.) 27.01.2014 - 10.02.2014 (Abgabe)

(Quelle: [http://programmingwiki.de/PMG/Kurs_1214/DB_Beleg Aufgabe])

=== Grundlagen ===

Datenbasis: ''Datenmaterial, strukturierte Daten''

Datenbankmanagementsystem (DBMS): ''dient der Sortierung und Verwaltung von Daten''

Datenbank: ''Datenbasis und Datenbankmanagementsystem (DBMS) in Verbindung''


'''Beziehungen im ER-Modell (Kardinalitäten):'''

1:1-Beziehung: ''Jeder Entität der Entitymenge A wird genau eine Entität der Entitymenge B zugeordnet und umgekehrt.''

Beispiel: ''Eine Person hat genau EINEN Fingerabdruck.''

1:n-Beziehung: ''Jeder Entität der Entitymenge A können mehrere Entitäten der Entitymenge B zugeordnet werden, umgekehrt kann jedoch jeder Entität der Menge B nur genau eine Entität der Menge A zugeordnet 
werden.''

Beispiel: ''Ein Kunde kann mehrere Produkte käuflich erwerben''

m:n-Beziehung: ''Jeder Entität der Entitymenge A können mehrere Entitäten der Entitymenge B zugeordnet werden und umgekehrt.''

Beispiel: ''Jede Person kann von beliebig vielen Firmen Aktien besitzen, und jede Firma kann beliebig viele Aktionäre haben. ''

== ERM ==

[[Bild:D.Rostock_Juuungs.jpg]]



== Relationenmodell ==
Tabelle: Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltät)

Tabelle: Team (Team_ID, Teamname, Teamkürzel)

Tabelle: Sponsor (Sponsor_ID, Sponsorname, Produktklasse, Hauptsitz)

Tabelle: Spiele (Spiele_ID, Datum, Gegner1, Gegner2)

Tabelle: Admin (Admin_ID, Name, Vorname, Nationalität)


<code id="52ee419b0a7eb">

DROP TABLE IF EXISTS Team;
CREATE TABLE Team (
Team_ID varchar (10),
Teamname varchar (255),
Teamkuerzel varchar (10),
PRIMARY KEY (Team_ID)
);

DROP TABLE IF EXISTS Spieler;
CREATE TABLE Spieler (
Spieler_ID varchar (10),
Name varchar (255),
Vorname varchar (255),
Nickname varchar (255),
Nationalitaet varchar (255),
PRIMARY KEY (Spieler_ID)
);

DROP TABLE IF EXISTS Sponsor;
CREATE TABLE Sponsor (
Sponsor_ID varchar (10),
Sponsorname varchar (255),
Produtklasse varchar (255),
Hauptsitz varchar (255),
PRIMARY KEY (Sponsor_ID)
);

DROP TABLE IF EXISTS Liga;
CREATE TABLE Liga (
Liga_ID varchar (10),
Liganame varchar (255),
PRIMARY KEY (Liga_ID)
);

DROP TABLE IF EXISTS Spiele;
CREATE TABLE Spiele (
Spiel_ID varchar (10),
Datum varchar (255),
Team1 varchar (255),
Team2 varchar (255),
PRIMARY KEY (Spiel_ID)
);

DROP TABLE IF EXISTS Admin;
CREATE TABLE Admin (
Admin_ID varchar (10),
Name varchar (255),
Vorname varchar (255),
Nationalitaet (255),
PRIMARY KEY (Admin_ID)
);

INSERT INTO Team (Team_ID, Teamname, Teamkuerzel) VALUES('T1','Ninjas in Pyjamas','NiP');
INSERT INTO Team (Team_ID, Teamname, Teamkuerzel) VALUES('T2','PlastikZocker','PZ');
INSERT INTO Team (Team_ID, Teamname, Teamkuerzel) VALUES('T3','nVision','nVision');
INSERT INTO Team (Team_ID, Teamname, Teamkuerzel) VALUES('T4','Very Games','VG');
INSERT INTO Team (Team_ID, Teamname, Teamkuerzel) VALUES('T5','Electric-Wave','e-Wave');

INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S01','Patrik','Lindberg','f0rest','Schweden');
INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S02','Christopher','Alesund','GeT_RiGhT','Schweden');
INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S03','Daniel','Rostock','RossiExE','Deutschland');
INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S04','Markus','Kraft','mHj','Deutschland');
INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S05','Mario','Zankl','Steelplay','Österreich');
INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S06','Nikolaj','Dmitrj','d3vil','deutsch');
INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S07','Nathan','Schmitt','NBK','Frankreich');
INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S08','Richard','Papillon','shox','Belgien');
INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S09','Kappes','Kopp','Juice','Deutschland');
INSERT INTO Spieler (Spieler_ID, Name, Vorname, Nickname, Nationaltaet) VALUES('S10','Juan','Son','Moon','Serbo-Kroatien');

INSERT INTO Sponsor (Sponsor_ID, Sponsorname, Produktklasse, Hauptsitz) VALUES ('SP1','Raubtierbrause','Getraenke','Sarstedt');
INSERT INTO Sponsor (Sponsor_ID, Sponsorname, Produktklasse, Hauptsitz) VALUES ('SP2','Steelseries','Equipment','Valby');
INSERT INTO Sponsor (Sponsor_ID, Sponsorname, Produktklasse, Hauptsitz) VALUES ('SP3','ckras','Server','Hemau');

INSERT INTO Liga (Liga_ID, Liganame) VALUES ('L1','ESEA');
INSERT INTO Liga (Liga_ID, Liganame) VALUES ('L1','EPS');

INSERT INTO Spiele (Spiele_ID, Datum, Gegner1, Gegner2) VALUES ('SP001','03.06.2013','NiP','VG');
INSERT INTO Spiele (Spiele_ID, Datum, Gegner1, Gegner2) VALUES ('SP002','04.06.2013','NiP','PZ');
INSERT INTO Spiele (Spiele_ID, Datum, Gegner1, Gegner2) VALUES ('SP003','08.10.2012','nVision','PZ');
INSERT INTO Spiele (Spiele_ID, Datum, Gegner1, Gegner2) VALUES ('SP004','28.01.2014','e-Wave','nVision');

INSERT INTO Admin (Admin_ID, Name, Vorname, Nationalitaet) VALUES ('A1','Klausewitz','Kalle','Deutschland');
INSERT INTO Admin (Admin_ID, Name, Vorname, Nationalitaet) VALUES ('A2','Vitjow','Piotr','Russland');
INSERT INTO Admin (Admin_ID, Name, Vorname, Nationalitaet) VALUES ('A3','Leitz','Heraldes','Schweiz');
INSERT INTO Admin (Admin_ID, Name, Vorname, Nationalitaet) VALUES ('A4','Nussbaum','Isaac','Israel');



</code>
Komplette Datenbank
<run id="52f7a67dc5506">SELECT *;</run>
Team Tabelle
<run id="52f7a67dc5597">SELECT * FROM Team;</run>
Admin ID's
<run id="52f7a67dc5627">SELECT Admin_ID FROM Admin;</run>

<run id="52f7a67dc56b3">SELECT Gegner1 FROM Spiele WHERE (name="NiP");</run>
<run id="52f7a67dc5739"></run>