Verfügbare Informationen zu "Firma"
Qualität des Beitrags: 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:28Firma
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)
