PMG1719/DB Beleg/Nico

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
= Das Erstellen einer Datenbank in der Theorie =

== Ziel der Datenbank und "Begründung" der Themenwahl ==

Das Thema meiner Datenbank ist die Verwaltung eines Sportvereins durch Einbeziehung der Mitglieder, sowie der Teams. Hierbei sollen also die Mitglieder im Fokus stehen. Das Ziel ist, von der Mitgliederliste die Verwaltung der Teams, sowie Mitgliederbeträge verwalten zu können.

== Modellierung in einem ERM ==
[[Bild:NiederNic_Abc.jpeg]]

== Transformation in das Relationenmodell ==
[[Bild:NiederNic_Diagramm1456.jpeg]]

= Das Erstellen der Datenbank in der Praxis =

== Umschreiben von RM mithilfe von SQL in die Datenbank ==

Erstellen der Struktur meiner Datenbank mit 7 Tabellen:
<popup name="Tabellenstruktur">

<code id="5c508d3d921cf">

CREATE TABLE Verein (
  Vereins_id varchar(255),
  Vereinsname varchar(255),
  Präsident varchar(255),
  Mitgliederanzahl varchar(255),
  PLZ varchar(255),
  Ort varchar(255),
  Straße varchar(255),
PRIMARY KEY(Vereins_id)
); 

CREATE TABLE besitzt (
  Vereins_id varchar(255),
  Mannschafts_id varchar(255)
);

CREATE TABLE Mannschaften (
  Mannschafts_id varchar(255),
  Mannschaftsname varchar(255),
  PLZ varchar(255),
  Trainingsort varchar(255),
  Straße varchar(255),
  Halle varchar(255),
  Trainingstage varchar(255),
  Trainingszeit varchar(255),
PRIMARY KEY(Mannschafts_id)
);

CREATE TABLE bilden (
  Mannschafts_id varchar(255),
  Spielklasse_id varchar(255)
);

CREATE TABLE Spielklasse (
  Spielklasse_id varchar(255),
  PLZ varchar (255),
  Spielort varchar(255),
  Spielortsstraße varchar(255),
  Spielhalle varchar(255),
  Spieltag varchar(255),
  Spielzeit varchar(255),
  Kontrahenten varchar(255),
PRIMARY KEY(Spielklasse_id)
);

CREATE TABLE Mitglieder (
  Mitglieder_id varchar(255),
  Mannschafts_id varchar(255),
  Vorname varchar(255),
  Nachname varchar(255),
  Lizenz varchar(255),
  Position varchar(255),
PRIMARY KEY(Mitglieder_id)
);

CREATE TABLE Mitgliedsbeitrag (
  Mitglieder_id varchar(255),
  Beitragshöhe varchar(255),
  Beitragszyklus varchar(255)
  );
</code>
</popup>

Einfügen von Datensätzen in die Datenbank:
<popup name="Datensätze">
<code id="5c508d3d92236">
INSERT INTO Verein VALUES
(1, 'MSV BAUTZEN 04', 'Steffen Waldmann', '1926 Mitglieder', 02625, 'Bautzen', 'Postplatz 3'),
(2, 'VV Zittau 09', 'Birgit Kaiser', '169 Mitglieder', 02763 , 'Zittau', 'Theodor-Korselt-Straße 16'),
(3, 'TSG Kraftwerk Boxberg Weißwasser', 'Rita Marks', '632 Mitglieder', 02943, 'Weißwasser', 'Bautzener-Str.8'),
(4, 'CVJM Görlitz', 'Mirko Simmank', '103 Mitglieder', 02826, 'Görlitz', 'Johannes-Wüsten-Straße 21'),
(5, 'VF Hoyerswerda Blau-Weis', 'Reinhard Teßmann', '137 Mitglieder', 02977, 'Hoyerswerda', 'Heinrich-Heine-Straße 46b');

INSERT INTO besteht aus VALUES
 (1,10),
 (1,11),
 (1,12),
 (1,13),
 (2,14);
 (2,15),
 (2,16),
 (2,17),
 (3,18),
 (3,19),
 (3,20),
 (3,21),
 (4,22),
 (4,23),
 (4,24),
 (4,25),
 (5,26),
 (5,27),
 (5,28),
 (5,29);

INSERT INTO Mannschaften VALUES
(10, '1. Herren', 02625, 'Bautzen', 'Am Schützenplatz 3', 'Schützenplatzhalle', 'Mittwoch und Freitag', '20:00-22:00 Uhr'),
(11, '1. Damen' 02625, 'Bautzen', ' Wendischer Graben 1', 'Sporthalle Gottlieb-Daimler OS', 'Dienstag und Freitag', '19:30-21:30 Uhr'),
(12, 'U20 Männlich', 02625, 'Bautzen', 'Schilleranlagen 1','Sporthalle am BSZ', 'Mittwoch und Freitag', '18:30-20:30 Uhr'),
(13, 'U20 Weiblich', 02625, 'Bautzen', 'Schilleranlagen 1', 'Sporthalle am BSZ', 'Mittwoch und Freitag', '18:30-20:30 Uhr'),
(14,'1.Herren',02763, 'Zittau', 'Theaterring 10', 'Hauptturnhalle', 'Dienstag und Donnerstag', '19:30-21:30 Uhr')
(15,'1.Damen',02763, 'Zittau', 'Theaterring 10', 'Hauptturnhalle', 'Mittwoch und Freitag', '18:30-20:30 Uhr'),
(16,'U20 Männlich',02763, 'Zittau', 'Theaterring 10', 'Hauptturnhalle', 'Mittwoch und Freitag', 17:00-19:00 Uhr'),
(17,'U20 Weiblich',02763, 'Zittau', 'Theaterring 10', 'Hauptturnhalle', 'Mittwoch und Freitag', '18:30-20:30 Uhr'),
(18, '1.Herren', 02943, 'Weißwasser','Lutherstraße 22', 'TH Bruno-Bürgel-MS', 'Montag und Mittwoch', '19:00-21:00 Uhr'),
(19, '1.Damen', 02943, 'Weißwasser', 'Lutherstraße 22', 'TH Bruno-Bürgel-MS', 'Dienstag und Donnerstag', '19:00-21:00 Uhr'),
(20, 'U20 Männlich', 02943, 'Weißwasser', 'Lutherstraße 22', 'TH Bruno-Bürgel-MS', 'Montag und Mittwoch', '19:00-21:00 Uhr'),
(21, 'U20 Weiblich', 02943, 'Weißwasser', 'Lutherstraße 22', 'TH Bruno-Bürgel-MS', 'Dienstag und Donnerstag', '16:30-19:00 Uhr'),
(22, '1.Herren', 02826, 'Görlitz', 'Diesterwegplatz 8', 'Sporthalle Rauschwalde', 'Montag', '19:00-22:00 Uhr'),
(23, '1.Damen', 02826, 'Görlitz', 'Carl-von-Ossietzky-Str. 13', 'Halle des BSZ Görlitz', 'Mittwoch', '20:00-22:00 Uhr'), 
(24, 'U20 Männlich', 02826, 'Görlitz', 'Diesterwegplatz 8', 'Sporthalle Rauschwalde', 'Montag', '17:00-19:00 Uhr'),
(25, 'U20 Weiblich', 02826, 'Görlitz', 'Carl-von-Ossietzky-Str. 13', 'Halle des BSZ Görlitz', 'Mittwoch', '18:00-20:00 Uhr'),
(26, '1.Herren', 02977, 'Hoyerswerda', 'Straße des Friedens 26', 'Sporthalle Foucault-Gymnasium', 'Dienstag und Freitag', '19:30-21:30 Uhr'),
(27, '1.Damen', 02977, 'Hoyerswerda', 'Straße des Friedens 26', 'Sporthalle Foucault-Gymnasium', 'Mittwoch und Freitag', '19:30-21:30 Uhr'),
(28, 'U20 Männlich', 02977, 'Hoyerswerda', 'Straße des Friedens 26', 'Sporthalle Foucault-Gymnasium', 'Dienstag und Mittwoch', '17:30-19:00 Uhr'),
(29, 'U20 Weiblich', 02977, 'Hoyerswerda', 'Straße des Friedens 26', 'Sporthalle Foucault-Gymnasium', 'Dienstag und Mittwoch', '17:30-19:00 Uhr'),

INSERT INTO bilden VALUES
(44,10),
(44,14),
(44,18),
(44,22),
(44,26),
(55,11),
(55,15),
(55,19),
(55,23),
(55,27),
(66,12),
(66,16),
(66,20),
(66,24),
(66,28),
(77,13),
(77,17),
(77,21),
(77,25),
(77,29);

INSERT INTO Spielklasse VALUES
(44, 02625, 'Bautzen', 'Am Schützenplatz 3', 'Schützenplatzhalle', 15.09.2018, '14:00-16:00 Uhr', 'Bautzen - Weißwasser'),
(44, 02763, 'Zittau', 'Theaterring 10', 'Hauptturnhalle', 20.10.2018,'14:00-16:00 Uhr', 'Zittau - Görlitz'),
(44, 02977, 'Hoyerswerda', 'Straße des Friedens 26', 'Sporthalle Foucault-Gymnasium', 12.01.2019,'14:00-16:00 Uhr', 'Hoyerswerda - Bautzen'),
(44, 02826, 'Görlitz', 'Diesterwegplatz 8', 'Sporthalle Rauschwalde', 16.03.2019,'14:00-16:00 Uhr', 'Görlitz - Weißwasser'),
(55, 02763, 'Zittau', 'Theaterring 10', 'Hauptturnhalle', 22.09.2018,'14:00-16:00 Uhr', 'Zittau - Hoyerswerda'),
(55, 02943, 'Weißwasser', 'Lutherstraße 22', 'TH Bruno-Bürgel-MS', 27.10.2018,'14:00-16:00 Uhr', 'Weißwasser - Görlitz'),
(55, 02625, 'Bautzen', 'Wendischer Graben 1', 'Sporthalle Gottlieb-Daimler OS', 19.01.2019, '12:00-14:00 Uhr', 'Bautzen - Zittau'),
(55, 02977, 'Hoyerswerda', 'Straße des Friedens 26', 'Sporthalle Foucault-Gymnasium', 23.03.2019,'12:00-14:00 Uhr', 'Hoyerswerda - Weißwasser'),
(66, 02943, 'Weißwasser', 'Lutherstraße 22', 'TH Bruno-Bürgel-MS', 29.09.2018,'14:00-16:00 Uhr', 'Weißwasser - Zittau'),
(66, 02763, 'Zittau', 'Theaterring 10', 'Hauptturnhalle', 10.11.2018,'12:00-14:00 Uhr', 'Zittau - Görlitz'),
(66, 02826, 'Görlitz', 'Diesterwegplatz 8', 'Sporthalle Rauschwalde', 02.02.2019,'14:00-16:00 Uhr', 'Görlitz - Bautzen'),
(66, 02625, 'Bautzen', 'Schilleranlagen 1', 'Sporthalle am BSZ', 13.04.2019,'12:00-14:00 Uhr', 'Bautzen - Zittau'),
(77, 02826, 'Görlitz', 'Carl-von-Ossietzky-Str. 13', 'Halle des BSZ Görlitz', 06.10.2018,'12:00-14:00 Uhr', 'Görlitz - Weißwasser'),
(77, 02943, 'Weißwasser', 'Lutherstraße 22', 'TH Bruno-Bürgel-MS', 17.11.2018,'14:00-16:00 Uhr', 'Weißwasser - Hoyerswerda'),
(77, 02625, 'Bautzen', 'Schilleranlagen 1', 'Sporthalle am BSZ', 09.02.2019,'12:00-14:00 Uhr', 'Bautzen - Görlitz'),
(77, 02763, 'Zittau', 'Theaterring 10', 'Hauptturnhalle',20.04.2018,'14:00-16:00 Uhr', 'Zittau - Hoyerswerda');

INSERT INTO Mitglieder VALUES
(100, 10, 'Paul', 'Boehm', 'Spielerlizenz A', 'Zuspieler'),
(101, 10, 'David, 'Drescher','Spielerlizenz A', 'Mittelblocker'),
(102, 10, 'Maik', 'Rothstein','Spielerlizenz A', 'Außenangreifer'),
(103, 10, 'Kevin', 'Schweizer', 'Trainerlizenz B', 'Trainerposition'),
(104, 11, 'Marie', 'Dreher', 'Spielerlizenz A', 'Diagonalspieler'),
(105, 11, 'Nicole', 'Wurfel', 'Spielerlizenz A', 'Libero'),
(106, 11, 'Silke', 'Reinhard', 'Spielerlizenz A', 'Außenangreifer'),
(107, 11, 'Jessika', 'Ackermann', 'Trainerlizenz C', 'Trainerposition'),
(108, 12, 'Christian', 'Schultheiss','Spielerlizenz J', 'Diagonalspieler'),
(109, 12, 'Kevin', 'Propst', 'Spielerlizenz J', 'Zuspieler'),
(110, 12, 'Thorsten', 'Mayer', 'Spielerlizenz J', 'Mittelblocker'),
(111, 12, 'Dirk', 'Burger', 'Trainerlizenz C', 'Trainerposition'),
(112, 13, 'Jana', 'Huber', 'Spielerlizenz J', 'Außenangreifer'),
(113, 13, 'Uta', 'Hahn', 'Spielerlizenz J', 'Diagonalspieler'),
(114, 13, 'Christin', 'Eggers', 'Spielerlizenz J', 'Mittelblocker'),
(115, 13, 'Juliane', 'Kaestner', 'Trainerlizenz C', 'Trainerposition'),
(116, 14, 'David', 'Bader', 'Spielerlizenz A', 'Außenangreifer'),
(117, 14, 'Dominik', 'Cole', 'Spielerlizenz A', 'Libero'),
(118, 14, 'Steffen', 'Vogt', 'Spielerlizenz A', 'Diagonalspieler'),
(119, 14, 'Lucas', 'Kohler', 'Trainerlizenz C', 'Trainerposition'),
(120, 15, 'Gabriele', 'Eggers', 'Spielerlizenz A', 'Zuspieler'),
(121, 15, 'Christine', 'Baer', 'Spielerlizenz A', 'Mittelblocker'),
(122, 15, 'Kathrin', 'Grunewald', 'Spielerlizenz A', 'Diagonalspieler'),
(123, 15, 'Matthias', 'Nacht', 'Trainerlizenz C', 'Trainerposition'),
(124, 16, 'Erik', 'Bumgarner', 'Spielerlizenz J', 'Außenangreifer'),
(125, 16, 'Martin', 'Abendroth', 'Spielerlizenz J', 'Diagonalspieler'),
(126, 16, 'Alexander', 'Traugott', 'Spielerlizenz J', 'Diagonalspieler'),
(127, 16, 'Tobias', 'Zimmerman', 'Trainerlizenz C', 'Trainerposition'),
(128, 17, 'Lisa', 'Bieber', 'Spielerlizenz J', 'Zuspieler'),
(129, 17, 'Susanne', 'Dietrich', 'Spielerlizenz J', 'Außenangreifer'),
(130, 17, 'Brigitte', 'Feierabend', 'Spielerlizenz J', 'Mittelblocker'),
(131, 17, 'Monika', 'Ehrlichmann', 'Trainerlizenz B', 'Trainerposition'),
(132, 18, 'Eric', 'Kaufmann', 'Spielerlizenz A', 'Diagonalspieler'),
(133, 18, 'Eric', 'Kuester', 'Spielerlizenz A', 'Libero'),
(134, 18, 'Sven', 'Frey', 'Spielerlizenz A', 'Außenangreifer'),
(135, 18, 'Wolfgang', 'Schneider', 'Trainerlizenz C', 'Trainerposition'),
(136, 19, 'Stefanie', 'Baum', 'Spielerlizenz A', 'Zuspieler'),
(137, 19, 'Uta', 'Baecker', 'Spielerlizenz A', 'Mittelblocker'),
(138, 19, 'Katja', 'Herman', 'Spielerlizenz A', 'Diagonalspieler'),
(139, 19, 'Benjamin', 'Ostermann', 'Trainerlizenz C', 'Trainerposition'),
(140, 20, 'Stephan', 'Kastner', 'Spielerlizenz J', 'Außenangreifer'),
(141, 20, 'Marco', 'Ebersbacher', 'Spielerlizenz J', 'Libero'),
(142, 20, 'Leon', 'Kaufmann', 'Spielerlizenz J', 'Zuspieler'),
(143, 20, 'Tobias', 'Daecher', 'Trainerlizenz C', 'Trainerposition'),
(144, 21, 'Heike', 'Durr', 'Spielerlizenz J', 'Außenangreifer'),
(145, 21, 'Slyvia', 'Schmidt', 'Spielerlizenz J', 'Mittelblocker'),
(146, 21, 'Gabriele', 'Huber', 'Spielerlizenz J', 'Diagonalspieler'),
(147, 21, 'Manuela', 'Bohm', 'Trainerlizenz C','Trainerposition'),
(148, 22, 'Max', 'Bosch', 'Spielerlizenz A', 'Außenangreifer'),
(149, 22, 'Matthias', 'Muller', 'Spielerlizenz A', 'Diagonalspieler'),
(150, 22, 'Dominik', 'Kohlmann', 'Spielerlizenz A', 'Mittelblocker'),
(151, 22, 'Kristian', 'Neumann', 'Trainerlizenz B', 'Trainerposition'),
(152, 23, 'Birgit', 'Fischer', 'Spielerlizenz A', 'Zuspieler'),
(153, 23, 'Martina', 'Schultheiss', 'Spielerlizenz A', 'Außenangreifer'),
(154, 23, 'Gabriele', 'Mehler', 'Spielerlizenz A', 'Diagonalspieler'),
(155, 23, 'Ute', 'Eichel', 'Trainerlizenz A', 'Trainerposition'),
(156, 24, 'Luca', 'Beyer', 'Spielerlizenz J', 'Diagonalspieler'),
(157, 24, 'Maik', 'Eisenhower', 'Spielerlizenz J', 'Diagonalspieler'),
(158, 24, 'Jonas', 'Ebersbach', 'Spielerlizenz J', 'Mittelblocker'),
(159, 24, 'Paul', 'Holzman', 'Trainerlizenz C', 'Trainerposition'),
(160, 25, 'Daniela', 'Baader', 'Spielerlizenz J', 'Außenangreifer'),
(161, 25, 'Monika', 'Krueger', 'Spielerlizenz J','Zuspieler'),
(162, 25, 'Julia', 'Kuhn', 'Spielerlizenz J', 'Diagonalspieler'),
(163, 25, 'Maria', 'Koch', 'Trainerlizenz C', 'Trainerposition'),
(164, 26, 'Klaus', 'Furst', 'Spielerlizenz A', 'Außenangreifer'),
(165, 26, 'Tobias', 'Schuster', 'Spielerlizenz A', 'Mittelblocker'),
(166, 26, 'Jan', 'Maurer', 'Spielerlizenz A', 'Außenangreifer'),
(167, 26, 'Stefan', 'Peters', 'Trainerlizenz C', 'Trainerposition'),
(168, 27, 'Karolin', 'Vogt', 'Spielerlizenz A', 'Diagonalspieler'),
(169, 27, 'Annett', 'Durr', 'Spielerlizenz A', 'Libero'),
(170, 27, 'Sabrina', 'Lehrer', 'Spielerlizenz A', 'Zuspieler'),
(171, 27, 'Doreen', 'Maurer', 'Trainerlizenz C', 'Trainerposition'),
(172, 28, 'Frank', 'Weisz', 'Spielerlizenz J', 'Außenangreifer'),
(173, 28, 'Thomas', 'Reinhard', 'Spielerlizenz J', 'Diagonalspieler'),
(174, 28, 'Tobias', 'Lehmann', 'Spielerlizenz J', 'Zuspieler'),
(175, 28, 'Marco', 'Drechsler', 'Trainerlizenz A', 'Trainerposition'),
(176, 29, 'Katrin', 'Ebersbach', 'Spielerlizenz J', 'Mittelblocker'),
(177, 29, 'Sabrina', 'Gerber', 'Spielerlizenz J', 'Libero'),
(178, 29, 'Jana', 'König', 'Spielerlizenz J', 'Zuspieler'),
(179, 29, 'Swen', 'Meier', 'Trainerlizenz B', 'Trainerposition');

  INSERT INTO Beitrag VALUES
(100, '6€', 'Monatlich'),
(101, '72€', 'Jährlich'),
(102, '6€', 'Monatlich'),
(103, '6€', 'Monatlich'),
(104, '6€', 'Monatlich'),
(105, '72€', 'Jährlich'),
(106, '6€', 'Monatlich'),
(107, '6€', 'Monatlich'),
(108, '4€', 'Monatlich'),
(109, '4€', 'Monatlich'),
(110, '48€', 'Jährlich'),
(111, '72€', 'Jährlich'),
(112, '4€', 'Monatlich'),
(113, '48€', 'Jährlich'),
(114, '48€', 'Jährlich'),
(115, '6€', 'Monatlich'),
(116, '8€', 'Monatlich'),
(117, '8€', 'Monatlich'),
(118, '96€', 'Jährlich'),
(119, '8€', 'Monatlich'),
(120, '8€', 'Monatlich'),
(121, '96€', 'Jährlich'),
(122, '8€', 'Monatlich'),
(123, '96€', 'Jährlich'),
(124, '60€', 'Jährlich'),
(125, '5€', 'Monatlich'),
(126, '60€', 'Jährlich'),
(127, '96€', 'Jährlich'),
(128, '60€', 'Jährlich'),
(129, '5€', 'Monatlich'),
(130, '5€', 'Monatlich'),
(131, '8€', 'Monatlich'),
(132, '10€','Monatlich'),
(133, '120€', 'Jährlich'),
(134, '10€', 'Monatlich'),
(135, '10€', 'Monatlich'),
(136, '10€', 'Monatlich'),
(137, '10€', 'Monatlich'),
(138, '10€', 'Monatlich'),
(139, '10€', 'Monatlich'),
(140, '7€', 'Monatlich'),
(141, '7€', 'Monatlich'),
(142, '7€', 'Monatlich'),
(143, '120€', 'Jährlich'),
(144, '7€', 'Monatlich'),
(145, '7€', 'Monatlich'),
(146, '7€', 'Monatlich'),
(147, '120€', 'Jährlich'),
(148, '6€', 'Monatlich'),
(149, '6€', 'Monatlich'),
(150, '72€', 'Jährlich'),
(151, '72€', 'Jährlich'),
(152, '6€', 'Monatlich'),
(153, '72€', 'Jährlich'),
(154, '72€', 'Jährlich'),
(155, '6€', 'Monatlich'),
(156, '5€', 'Monatlich'),
(157, '60€', 'Jährlich'),
(158, '5€', 'Monatlich'),
(159, '72€', 'Jährlich'),
(160, '5€', 'Monatlich'),
(161, '60€', 'Jährlich'),
(162, '5€', 'Monatlich'),
(163, '72€', 'Jährlich'),
(164, '8€', 'Monatlich'),
(165, '8€', 'Monatlich'),
(166, '96€', 'Jährlich'),
(167, '8€', 'Monatlich'),
(168, '96€', 'Jährlich'),
(169, '8€', 'Monatlich'),
(170, '8€', 'Monatlich'),
(171, '96€', 'Jährlich'),
(172, '4€', 'Monatlich'),
(173, '4€', 'Monatlich'),
(174, '48€', 'Jährlich'),
(175, '8€', 'Monatlich'),
(176, '48€', 'Jährlich'),
(177, '4€', 'Monatlich'),
(178, '4€', 'Monatlich'),
(179, '96€', 'Jährlich');

</code>
</popup>

<run id="5c508d3d9229c"></run>

== Erstellen von verschiedenen Abfragen ==

== kritische Reflexion zu Modellierung und Umsetzung ==