Robert
Inhaltsverzeichnis |
Datenbank einer Bürofirma
Ich erstelle hier eine Datenbank eines Unternehmens mit angemessenen Angestellten und ihren Löhnen, wie auch zu den Aufträgen der Firma bzw. des Unternehmens. Dies tue ich, weil ich vielleicht mal später in so einer Art Geschäft arbeiten wöllte.
Modellierung in einem ERM
Zwischen dem Unternehmen und den Angestellten gibt es die Kardinalität 1:n , da jede Firma mehrere Angestellte besitzen kann, aber jeder Angestellte nur eine Firma. Zwischen den Angestellten und ihren Aufträgen liegt die Kardinalität 1:n vor, da ein Angestellter der Firma auch an mehreren Aufträgen sitzen kann. Zwischen Angestellter und Lohn gibt es die Kardinalität 1:1 , da jeder Angestellte seinen eigenen Lohn erhält und nicht mehr bekommt als er verdient!
Transformation in das Relationenmodell
Unternehmen (Firma-ID; Ort; Name; Straße)
Angestellte (Firma-ID; A-ID; Name; Vorname; Land)
Lohn (Menge; A-ID; Währung)
Auftrag (Auftrags-ID; Auftraggeber; Kosten; Zeitaufwand)
Transformation in die Datenbank
<popup label="Datenbank"></popup>
Drop Table if exists Unternehmen;
Create Table Unternehmen (
Firma-ID varchar (5),
Ort varchar (20),
Name varchar (30),
Straße varchar (30));
INSERT INTO Unternehmen VALUES('11112', 'Bischofswerda', 'Alpha-Corporation', 'Schnellstraße 2'); INSERT INTO Unternehmen VALUES('11121', 'Bautzen', 'U-Unternehmen', 'Hofweg 12'); INSERT INTO Unternehmen VALUES('11211', 'Berlin', 'Bär-Unternehmen', 'Kreutzigerstraße 1'); INSERT INTO Unternehmen VALUES('12111', 'Köln', 'Zug-Unternehmen', 'Unterstraße 22');
Drop Table if exists Angestellte; Create Table Angestellte ( A-ID varchar (6), Name varchar (20), Vorname varchar (20), Ort varchar (20), Straße varchar (20), Land varchar (20));
INSERT INTO Angestellte VALUES('121212', 'Werner', 'Reinhard', 'Berlin', 'Gutweg 5', 'Deutschland'); INSERT INTO Angestellte VALUES('123456', 'Dieter', 'Berta', 'Hong Kong', 'Jing Jang Weg 32', 'China'); INSERT INTO Angestellte VALUES('654321', 'Udolf' , 'Udo', 'Tschernobyl', Strahlemann Weg 2', 'Russland'); INSERT INTO Angestellte VALUES('666666', 'Rudolf', 'Ludolf', 'Köln', 'Ludolf Weg', 'Deutschland');
Drop Table if exists Auftrag; Create Table Auftrag ( Auftrags-ID varchar (5), Auftraggeber varchar (20), Kosten varchar (10), Zeitaufwand (10));
