Firma

http://fh-pirmasens.de.vu
Verfügbare Informationen zu "Firma"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Marek Opielka
  • Forum: http://fh-pirmasens.de.vu
  • Forenbeschreibung: FH-Pirmasens
  • aus dem Unterforum: Systemanalyse
  • Antworten: 8
  • Forum gestartet am: Donnerstag 08.12.2005
  • Sprache: deutsch
  • Link zum Originaltopic: Firma
  • Letzte Antwort: vor 17 Jahren, 10 Monaten, 11 Tagen, 16 Stunden, 1 Minute
  • Alle Beiträge und Antworten zu "Firma"

    Re: Firma

    Marek Opielka - 10.05.2005, 21:28

    Firma
    Hallo Leute,

    leider war ich in der letzten Volesung nicht da und weiß nicht so genau was wir gemacht hatten. Falls es sich dabei um die Aufgaben mit der Firma handelt, hier ist ein Skript für die Aufgaben 1 bis 3:
    Code:
    CREATE TABLE Firma(
       fid    INT NOT NULL,
       name    VARCHAR(50),
       adresse VARCHAR(50),
       PRIMARY KEY(fid)
       );

    CREATE TABLE Abteilung(
       aid    INT NOT NULL,
       name    VARCHAR(50),
       gebaede CHAR(1),
       fid    INT,
       PRIMARY KEY(aid),
       FOREIGN KEY(fid) REFERENCES Firma(fid)
       );

    CREATE TABLE Mitarbeiter(
       mid   INT NOT NULL,
       name VARCHAR(50),
       telefon VARCHAR(15),
       aid   INT,
       PRIMARY KEY(mid),
       FOREIGN KEY(aid) REFERENCES Abteilung(aid)
       );

    INSERT INTO Firma VALUES(1,'TechLog GmbH','Pirmasens');
    INSERT INTO Abteilung VALUES(1,'Buchhaltung','G',1);
    INSERT INTO Abteilung VALUES(2,'Fertigung','A',1);
    INSERT INTO Abteilung VALUES(3,'Marketing','A',1);

    INSERT INTO Mitarbeiter   VALUES(1,'Maier','123',1);
    INSERT INTO Mitarbeiter VALUES(2,'Schmidt','213',3);
    INSERT INTO Mitarbeiter VALUES(3,'Maier','332',3);
    INSERT INTO Mitarbeiter VALUES(4,'Kohl','123',1);
    INSERT INTO Mitarbeiter VALUES(5,'Merkel','216',1);
    INSERT INTO Mitarbeiter VALUES(6,'Jung','226',1);
    INSERT INTO Mitarbeiter VALUES(7,'Sauer','345',3);
    INSERT INTO Mitarbeiter VALUES(8,'Huber','426',2);



    Re: Firma

    Marek Opielka - 11.05.2005, 09:18


    Aufgabe 4
    Formulieren Sie SQL-Statements für folgende Anfragen:
    1. Welche Mitarbeiter arbeiten in der Buchhaltung? Geben Sie eine Liste mit den Namen und Telefonnummern aus.

    Code:
    SELECT Name,Telefon FROM Mitarbeiter WHERE aid=1



    Re: Firma

    Marek Opielka - 11.05.2005, 09:23


    Aufgabe 4
    Formulieren Sie SQL-Statements für folgende Anfragen:

    2. Zu welcher Abteilung gehört die Telefonnummer 332? Geben Sie den Namen der
    Abteilung aus.

    Code:
    SELECT Abteilung.Name FROM Abteilung,Mitarbeiter WHERE Mitarbeiter.Telefon='332' AND Abteilung.aid = Mitarbeiter.aid



    Re: Firma

    Marek Opielka - 11.05.2005, 09:42


    Aufgabe 4
    Formulieren Sie SQL-Statements für folgende Anfragen:

    3. Welche Telefonnummern sind doppelt vergeben? Geben Sie eine entsprechende Liste aus.

    Code:
    SELECT  DISTINCT m1.Telefon
    FROM Mitarbeiter m1, Mitarbeiter m2
    WHERE m1.telefon = m2.telefon
    AND  m1.mid <> m2.mid



    Re: Firma

    Marek Opielka - 11.05.2005, 09:43


    Aufgabe 4
    Formulieren Sie SQL-Statements für folgende Anfragen:

    4. Erzeugen Sie eine geordnete Liste, in die Abteilungen und die zugehörigen Mitarbeiter
    aufgelistet sind.

    Code:
    SELECT abt.aid, abt.Name, mta.Name
    FROM Abteilung abt, Mitarbeiter mta
    WHERE abt.aid = mta.aid



    Re: Firma

    Marek Opielka - 11.05.2005, 11:25


    Aufgabe 5
    Erweitern Sie nun Ihr ER- bzw. relationales Modell um folgenden Sachverhalt:
    1. Jede Abteilung hat genau einen Abteilungsleiter, der natürlich auch ein Mitarbeiter ist.

    Code:
    CREATE TABLE Firma(
       fid    INT NOT NULL,
       name    VARCHAR(50),
       adresse VARCHAR(50),
       PRIMARY KEY(fid)
       );

    CREATE TABLE Abteilung(
       aid    INT NOT NULL,
       name    VARCHAR(50),
       gebaede CHAR(1),
       fid    INT,
       mid    INT,
       PRIMARY KEY(aid),
       FOREIGN KEY(fid) REFERENCES Firma(fid)
       );

    CREATE TABLE Mitarbeiter(
       mid   INT NOT NULL,
       name VARCHAR(50),
       telefon VARCHAR(15),
       aid   INT,
       PRIMARY KEY(mid),
       FOREIGN KEY(aid) REFERENCES Abteilung(aid)
       );

    ALTER TABLE Abteilung ADD FOREIGN KEY(mid) REFERENCES Mitarbeiter(mid);

    INSERT INTO Firma VALUES(1,'TechLog GmbH','Pirmasens');

    INSERT INTO Abteilung VALUES(1,'Buchhaltung','G',1);
    INSERT INTO Abteilung VALUES(2,'Fertigung','A',1);
    INSERT INTO Abteilung VALUES(3,'Marketing','A',1);


    INSERT INTO Mitarbeiter   VALUES(1,'Maier','123',1);
    INSERT INTO Mitarbeiter VALUES(2,'Schmidt','213',3);
    INSERT INTO Mitarbeiter VALUES(3,'Maier','332',3);
    INSERT INTO Mitarbeiter VALUES(4,'Kohl','123',1);
    INSERT INTO Mitarbeiter VALUES(5,'Merkel','216',1);
    INSERT INTO Mitarbeiter VALUES(6,'Jung','226',1);
    INSERT INTO Mitarbeiter VALUES(7,'Sauer','345',3);
    INSERT INTO Mitarbeiter VALUES(8,'Huber','426',2);

    UPDATE Abteilung SET mid=1 WHERE aid=1;
    UPDATE Abteilung SET mid=8 WHERE aid=2;
    UPDATE Abteilung SET mid=2 WHERE aid=3;



    Re: Firma

    Marek Opielka - 18.05.2005, 09:44


    Aufgabe 6
    Formulieren auf dem geänderten Modell SQL-Statements für folgende Anfragen:
    1. Welche Mitarbeiter arbeiten in der Buchhaltung und im Marketing? Erzeugen Sie eine
    Liste mit den Mitarbeiternamen.

    Tabellenerzeugung
    Das ist der Code aus der Aufgabe 5.2:
    Aufgabe 5
    Erweitern Sie nun Ihr ER- bzw. relationales Modell um folgenden Sachverhalt:
    2. Ein Mitarbeiter kann auch zu mehreren Abteilungen gehören.

    Code:
    CREATE TABLE Firma(
       fid    INT NOT NULL,
       name    VARCHAR(50),
       adresse VARCHAR(50),
       PRIMARY KEY(fid)
       );

    CREATE TABLE Abteilung(
       aid    INT NOT NULL,
       name    VARCHAR(50),
       gebaede CHAR(1),
       fid    INT,
       mid    INT,
       PRIMARY KEY(aid),
       FOREIGN KEY(fid) REFERENCES Firma(fid)
       );

    CREATE TABLE Mitarbeiter(
       mid   INT NOT NULL,
       name VARCHAR(50),
       telefon VARCHAR(15), 
       PRIMARY KEY(mid) 
       );

    CREATE TABLE MitarbeiterAbteilung(
       mid INT NOT NULL,
       aid INT NOT NULL,
       PRIMARY KEY(mid,aid),
       FOREIGN KEY(aid) REFERENCES Abteilung(aid),
       FOREIGN KEY(mid) REFERENCES Mitarbeiter(mid)   
       );

    ALTER TABLE Abteilung ADD FOREIGN KEY(mid) REFERENCES Mitarbeiter(mid);

    INSERT INTO Firma VALUES(1,'TechLog GmbH','Pirmasens');

    INSERT INTO Abteilung VALUES(1,'Buchhaltung','G',1);
    INSERT INTO Abteilung VALUES(2,'Fertigung','A',1);
    INSERT INTO Abteilung VALUES(3,'Marketing','A',1);


    INSERT INTO Mitarbeiter VALUES(1,'Maier','123');
    INSERT INTO Mitarbeiter VALUES(2,'Schmidt','213');
    INSERT INTO Mitarbeiter VALUES(3,'Maier','332');
    INSERT INTO Mitarbeiter VALUES(4,'Kohl','123');
    INSERT INTO Mitarbeiter VALUES(5,'Merkel','216');
    INSERT INTO Mitarbeiter VALUES(6,'Jung','226');
    INSERT INTO Mitarbeiter VALUES(7,'Sauer','345');
    INSERT INTO Mitarbeiter VALUES(8,'Huber','426');

    INSERT INTO MitarbeiterAbteilung VALUES(1,1);
    INSERT INTO MitarbeiterAbteilung VALUES(1,3);
    INSERT INTO MitarbeiterAbteilung VALUES(2,3);
    INSERT INTO MitarbeiterAbteilung VALUES(3,3);
    INSERT INTO MitarbeiterAbteilung VALUES(4,1);
    INSERT INTO MitarbeiterAbteilung VALUES(5,1);
    INSERT INTO MitarbeiterAbteilung VALUES(6,1);
    INSERT INTO MitarbeiterAbteilung VALUES(6,3);
    INSERT INTO MitarbeiterAbteilung VALUES(7,3);
    INSERT INTO MitarbeiterAbteilung VALUES(8,2);

    UPDATE Abteilung SET mid=1 WHERE aid=1;
    UPDATE Abteilung SET mid=8 WHERE aid=2;
    UPDATE Abteilung SET mid=2 WHERE aid=3;


    ----
    Es handelt sich dabei um etwas kompliziertes Statement.
    Man sollte sicher stellen, dass man ein paar Mitarbeiter in unterschiedlichen Abteilungen stehen hat, sonst bekommt man eine leere Tabelle als Ergebnis!
    ----


    Code:
    SELECT  m.name
    FROM Mitarbeiterabteilung ma1, Mitarbeiterabteilung ma2, Mitarbeiter m, Abteilung a1, Abteilung a2
    WHERE ma1.mid=m.mid AND ma1.aid=a1.aid AND ma2.mid= m.mid AND ma2.aid=a2.aid
     AND a1.name = 'Buchhaltung' AND a2.name = 'Marketing'



    Re: Firma

    Marek Opielka - 18.05.2005, 10:20


    Aufgabe 6
    Formulieren auf dem geänderten Modell SQL-Statements für folgende Anfragen:

    2. Geben Sie eine Liste aus, in der zu jeder Abteilung der Abteilungsleiter angegeben ist.
    Also eine Tabelle mit zwei Spalten: Abteilungsname und Name des Abteilungsleiters.

    Code:
    SELECT a.name, m.name
    FROM Abteilung a, Mitarbeiter m
    WHERE m.mid=a.mid



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum http://fh-pirmasens.de.vu

    Klausur Leiner - Noten - gepostet von Marek Opielka am Sonntag 12.02.2006
    Forum - gepostet von Marek Opielka am Montag 20.03.2006



    Ähnliche Beiträge wie "Firma"

    Dubiose Firma - Martin (Donnerstag 10.11.2005)
    Das sollten wir in der Firma machen ! - Maximum Risk (Mittwoch 06.09.2006)
    Meine Firma - chef07 (Dienstag 04.09.2007)
    türkische firma - dersupersponge (Freitag 10.11.2006)
    Firma Schneesturms Schlachtplan 4(B)^^ - Meddox (Donnerstag 14.12.2006)
    firma - actrospower (Montag 28.05.2007)
    Neues Wellpappenzentrum der Firma Palm - XXXXX (Dienstag 15.08.2006)
    Firma? - Rico (Mittwoch 14.12.2005)
    DIE FIRMA - Saffor (Sonntag 17.04.2005)
    Blizzard verklagt Gold-Farmer-Firma! - Vilotan (Freitag 15.06.2007)