Merge branch 'master' of git.2li.ch:Nebucatnetzer/ibz
This commit is contained in:
commit
4a14427082
|
@ -0,0 +1,31 @@
|
|||
-- A1
|
||||
|
||||
-- Attribut hinzufügen
|
||||
ALTER TABLE ABTEILUNGEN
|
||||
ADD GEHALTSSUMME INT;
|
||||
|
||||
|
||||
-- A2
|
||||
-- Gehaltssumme setzen
|
||||
update Abteilungen
|
||||
set gehaltssumme = (SELECT sum(gehalt)
|
||||
FROM ANGESTELLTE
|
||||
where abt_nr = Abteilungen.abt_nr);
|
||||
|
||||
-- A3
|
||||
-- Trigger zur Tabelle Angestelle hinzufügen
|
||||
set define off;
|
||||
create or replace trigger gehaltssumme_ai_trg
|
||||
after insert on angestellte
|
||||
for each row
|
||||
update abteilungen
|
||||
set gehaltssumme = gehaltssumme + :new.gehalt
|
||||
where abt_nr = :new.abt_nr
|
||||
|
||||
|
||||
INSERT INTO ANGESTELLTE
|
||||
VALUES (
|
||||
30, 1, 'Manchmal sind die Frauen Chef', 'Betriebswirt', 'Müller', 'Josefine', 'w', TO_Date( '02/01/0091 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM')
|
||||
, 10000, 3400, 'Köln', 'Memelerstr.', TO_Date( '03/13/2002 02:17:49 PM', 'MM/DD/YYYY HH:MI:SS AM'));
|
||||
|
||||
commit;
|
|
@ -0,0 +1,31 @@
|
|||
-- A1
|
||||
|
||||
-- Attribut hinzufügen
|
||||
ALTER TABLE ABTEILUNGEN
|
||||
ADD GEHALTSSUMME INT;
|
||||
|
||||
|
||||
-- A2
|
||||
-- Gehaltssumme setzen
|
||||
update Abteilungen
|
||||
set gehaltssumme = (SELECT sum(gehalt)
|
||||
FROM ANGESTELLTE
|
||||
where abt_nr = Abteilungen.abt_nr);
|
||||
|
||||
-- A3
|
||||
-- Trigger zur Tabelle Angestelle hinzufügen
|
||||
set define off;
|
||||
create or replace trigger gehaltssumme_ai_trg
|
||||
after insert on angestellte
|
||||
for each row
|
||||
update abteilungen
|
||||
set gehaltssumme = gehaltssumme + :new.gehalt
|
||||
where abt_nr = :new.abt_nr
|
||||
|
||||
|
||||
INSERT INTO ANGESTELLTE
|
||||
VALUES (
|
||||
30, 1, 'Manchmal sind die Frauen Chef', 'Betriebswirt', 'Müller', 'Josefine', 'w', TO_Date( '02/01/0091 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM')
|
||||
, 10000, 3400, 'Köln', 'Memelerstr.', TO_Date( '03/13/2002 02:17:49 PM', 'MM/DD/YYYY HH:MI:SS AM'));
|
||||
|
||||
commit;
|
|
@ -0,0 +1,222 @@
|
|||
--
|
||||
-- Aufgabe Fahrrad
|
||||
--
|
||||
-- Erzeugt Primärschlüssel, Fremdschlüssel und andere CONSTRAINTS
|
||||
|
||||
PROMPT Creating Primary Key 'Primärschlüssel'
|
||||
|
||||
PROMPT Creating Primary Key on 'Abteilungen'
|
||||
ALTER TABLE Abteilungen
|
||||
ADD CONSTRAINT ABT_PK PRIMARY KEY
|
||||
(Abt_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Angestellte'
|
||||
ALTER TABLE Angestellte
|
||||
ADD CONSTRAINT ANG_PK PRIMARY KEY
|
||||
(Ang_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Artikel'
|
||||
ALTER TABLE Artikel
|
||||
ADD CONSTRAINT AR_PK PRIMARY KEY
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Auftraege'
|
||||
ALTER TABLE Auftraege
|
||||
ADD CONSTRAINT AU_PK PRIMARY KEY
|
||||
(AuftragsNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Auftragspositionen'
|
||||
ALTER TABLE Auftragspositionen
|
||||
ADD CONSTRAINT AR_AU_PK PRIMARY KEY
|
||||
(TNr
|
||||
,AuftragsNr)
|
||||
/
|
||||
|
||||
|
||||
PROMPT Creating Primary Key on 'GEH_KLASSEN'
|
||||
ALTER TABLE GEH_KLASSEN
|
||||
ADD CONSTRAINT G_PK PRIMARY KEY
|
||||
(GEH_KLASSE)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'KUNDEN'
|
||||
ALTER TABLE KUNDEN
|
||||
ADD CONSTRAINT KUN_PK PRIMARY KEY
|
||||
(Kun_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Lager'
|
||||
ALTER TABLE Lager
|
||||
ADD CONSTRAINT LAG_PK PRIMARY KEY
|
||||
(LaNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Lagerbestand'
|
||||
ALTER TABLE Lagerbestand
|
||||
ADD CONSTRAINT LAG_T_PK PRIMARY KEY
|
||||
(LaNr
|
||||
,TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Lieferanten'
|
||||
ALTER TABLE Lieferanten
|
||||
ADD CONSTRAINT LIEF_PK PRIMARY KEY
|
||||
(Lief_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Lieferungen'
|
||||
ALTER TABLE Lieferungen
|
||||
ADD CONSTRAINT LG_PK PRIMARY KEY
|
||||
(Liefer_Nr
|
||||
,Lief_Nr
|
||||
,TNr)
|
||||
/
|
||||
|
||||
|
||||
PROMPT Creating Primary Key on 'Lieferprogramme'
|
||||
ALTER TABLE Lieferprogramme
|
||||
ADD CONSTRAINT LP_PK PRIMARY KEY
|
||||
(Lief_Nr
|
||||
,TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Orte'
|
||||
ALTER TABLE Orte
|
||||
ADD CONSTRAINT O_PK PRIMARY KEY
|
||||
(Ort
|
||||
,Strasse)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Struktur'
|
||||
ALTER TABLE Struktur
|
||||
ADD CONSTRAINT S_PK PRIMARY KEY
|
||||
(OTeil
|
||||
,UTeil
|
||||
,POSITION)
|
||||
/
|
||||
|
||||
|
||||
PROMPT Creating Primary Key on 'Teile'
|
||||
ALTER TABLE Teile
|
||||
ADD CONSTRAINT TE_PK PRIMARY KEY
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Teile_Werke'
|
||||
ALTER TABLE Teile_Werke
|
||||
ADD CONSTRAINT T_WE_PK PRIMARY KEY
|
||||
(TNr
|
||||
,WNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Primary Key on 'Werke'
|
||||
ALTER TABLE Werke
|
||||
ADD CONSTRAINT WE_PK PRIMARY KEY
|
||||
(WNr)
|
||||
/
|
||||
|
||||
|
||||
PROMPT Creating Foreign Keys on 'Angestellte'
|
||||
ALTER TABLE Angestellte ADD CONSTRAINT
|
||||
ANG_ABT_FK FOREIGN KEY
|
||||
(Abt_Nr) REFERENCES Abteilungen
|
||||
(Abt_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Foreign Keys on 'Artikel'
|
||||
ALTER TABLE Artikel ADD CONSTRAINT
|
||||
AR_T_FK FOREIGN KEY
|
||||
(TNr) REFERENCES Teile
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Foreign Keys on 'Auftraege'
|
||||
ALTER TABLE Auftraege ADD CONSTRAINT
|
||||
AU_KUN_FK FOREIGN KEY
|
||||
(Kun_Nr) REFERENCES KUNDEN
|
||||
(Kun_Nr) ADD CONSTRAINT
|
||||
AU_ANG_FK FOREIGN KEY
|
||||
(Ang_Nr) REFERENCES Angestellte
|
||||
(Ang_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Foreign Keys on 'Auftragspositionen'
|
||||
ALTER TABLE Auftragspositionen ADD CONSTRAINT
|
||||
AR_AU_AR_FK FOREIGN KEY
|
||||
(TNr) REFERENCES Artikel
|
||||
(TNr) ADD CONSTRAINT
|
||||
AR_AU_AU_FK FOREIGN KEY
|
||||
(AuftragsNr) REFERENCES Auftraege
|
||||
(AuftragsNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Foreign Keys on 'Lagerbestand'
|
||||
ALTER TABLE Lagerbestand ADD CONSTRAINT
|
||||
LAG_T_LAG_FK FOREIGN KEY
|
||||
(LaNr) REFERENCES Lager
|
||||
(LaNr) ADD CONSTRAINT
|
||||
LAG_T_T_FK FOREIGN KEY
|
||||
(TNr) REFERENCES Teile
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Foreign Keys on 'Lieferprogramme'
|
||||
ALTER TABLE Lieferprogramme ADD CONSTRAINT
|
||||
LP_LIEF_FK FOREIGN KEY
|
||||
(Lief_Nr) REFERENCES Lieferanten
|
||||
(Lief_Nr) ADD CONSTRAINT
|
||||
LP_T_FK FOREIGN KEY
|
||||
(TNr) REFERENCES Teile
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Foreign Keys on 'Lieferungen'
|
||||
ALTER TABLE Lieferungen ADD CONSTRAINT
|
||||
LG_LIEF_FK FOREIGN KEY
|
||||
(Lief_Nr) REFERENCES Lieferanten
|
||||
(Lief_Nr) ADD CONSTRAINT
|
||||
LG_T_FK FOREIGN KEY
|
||||
(TNr) REFERENCES Teile
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Foreign Keys on 'Struktur'
|
||||
ALTER TABLE Struktur ADD CONSTRAINT
|
||||
S_T_FK2 FOREIGN KEY
|
||||
(UTeil) REFERENCES Teile
|
||||
(TNr) ADD CONSTRAINT
|
||||
S_T_FK FOREIGN KEY
|
||||
(OTeil) REFERENCES Teile
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Foreign Keys on 'Teile_Werke'
|
||||
ALTER TABLE Teile_Werke ADD CONSTRAINT
|
||||
T_WE_T_FK FOREIGN KEY
|
||||
(TNr) REFERENCES Teile
|
||||
(TNr) ADD CONSTRAINT
|
||||
T_WE_WE_FK FOREIGN KEY
|
||||
(WNR) REFERENCES Werke
|
||||
(WNR)
|
||||
/
|
||||
|
||||
PROMPT Creating verschiedene CHECK-CONSTRAINTS
|
||||
ALTER TABLE Auftraege ADD CONSTRAINT
|
||||
Auftrags_Typ CHECK(Auftrags_Typ IN ('Angebot', 'Anfrage', 'Auftrag'))
|
||||
/
|
||||
ALTER TABLE Auftraege ADD CONSTRAINT
|
||||
Datum CHECK(Bestelldatum <= Lieferdatum)
|
||||
/
|
||||
ALTER TABLE Angestellte ADD CONSTRAINT
|
||||
Geschlecht CHECK( Geschlecht IN ('w', 'm'))
|
||||
/
|
||||
ALTER TABLE Teile ADD CONSTRAINT
|
||||
Typ CHECK( Typ IN ('Artikel', 'Baugruppe', 'Material'))
|
||||
/
|
||||
ALTER TABLE Teile ADD CONSTRAINT
|
||||
Bestand CHECK( Bestand >= Mindestbestand)
|
||||
/
|
|
@ -0,0 +1,212 @@
|
|||
--
|
||||
-- Aufgabe Fahrrad
|
||||
--
|
||||
-- Diese Datei erzeugt alle beteiligten Tabellen und Views
|
||||
|
||||
Prompt Creating TABLE 'Abteilungen'
|
||||
CREATE TABLE Abteilungen
|
||||
(Abt_Nr NUMBER(38) NOT NULL,
|
||||
Leiter NUMBER(38) NOT NULL,
|
||||
Name VARCHAR2(50) NOT NULL,
|
||||
Ort VARCHAR2(50)
|
||||
)
|
||||
/
|
||||
Prompt Creating TABLE 'Angestellte'
|
||||
CREATE TABLE Angestellte
|
||||
(Ang_Nr NUMBER(38) NOT NULL,
|
||||
Abt_Nr NUMBER(38) NOT NULL,
|
||||
Aufgabenbeschreibung VARCHAR2(50) NOT NULL,
|
||||
Beruf VARCHAR2(50) NOT NULL,
|
||||
Nachname VARCHAR2(50) NOT NULL,
|
||||
Vorname VARCHAR2(50) NOT NULL,
|
||||
Geschlecht CHAR(1) NOT NULL,
|
||||
Eintrittsdatum DATE,
|
||||
Gehalt NUMBER(9,2) Default 0,
|
||||
Abzuege NUMBER(9,2) Default 0,
|
||||
Ort VARCHAR2(50),
|
||||
Strasse VARCHAR2(50),
|
||||
Zeitstempel DATE
|
||||
)
|
||||
/
|
||||
|
||||
|
||||
Prompt Creating TABLE 'Artikel'
|
||||
CREATE TABLE Artikel
|
||||
(TNr NUMBER(38) NOT NULL,
|
||||
Bezeichnung VARCHAR2(50) NOT NULL,
|
||||
Artikel_Typ VARCHAR2(50) NOT NULL,
|
||||
Verkaufspreis NUMBER,
|
||||
Jahresumsatz NUMBER,
|
||||
Zeitstempel DATE
|
||||
)
|
||||
/
|
||||
|
||||
Prompt Creating TABLE 'Auftraege'
|
||||
CREATE TABLE Auftraege
|
||||
(AuftragsNr NUMBER(38) NOT NULL,
|
||||
Auftrags_Typ VARCHAR2(50) NOT NULL,
|
||||
Kun_Nr NUMBER(38) NOT NULL,
|
||||
Ang_Nr NUMBER(38),
|
||||
Bereits_Gezahlt NUMBER,
|
||||
Bestelldatum DATE,
|
||||
Lieferdatum DATE,
|
||||
Rechnungsdatum DATE,
|
||||
Zeitstempel DATE NOT NULL
|
||||
)
|
||||
/
|
||||
|
||||
Prompt Creating TABLE 'Auftragspositionen'
|
||||
CREATE TABLE Auftragspositionen
|
||||
(TNr NUMBER(38) NOT NULL,
|
||||
AuftragsNr NUMBER(38) NOT NULL,
|
||||
Menge NUMBER
|
||||
)
|
||||
/
|
||||
|
||||
Prompt Creating TABLE 'Geh_Klassen'
|
||||
CREATE TABLE Geh_Klassen
|
||||
(Geh_Klasse NUMBER(38) NOT NULL,
|
||||
Max_Gehalt NUMBER NOT NULL,
|
||||
Min_Gehalt NUMBER NOT NULL
|
||||
)
|
||||
/
|
||||
Prompt Creating TABLE 'Kunden'
|
||||
CREATE TABLE Kunden
|
||||
(Kun_Nr NUMBER(38) NOT NULL,
|
||||
Nachname VARCHAR2(50) NOT NULL,
|
||||
Vorname VARCHAR2(50) NOT NULL,
|
||||
Geschlecht VARCHAR2(1),
|
||||
Ort VARCHAR2(50),
|
||||
Strasse VARCHAR2(50),
|
||||
TelefonNr VARCHAR2(50),
|
||||
Zeitstempel DATE
|
||||
)
|
||||
/
|
||||
|
||||
|
||||
Prompt Creating TABLE 'Lager'
|
||||
CREATE TABLE Lager
|
||||
(LaNr NUMBER(38) NOT NULL,
|
||||
Bezeichnung VARCHAR2(50) NOT NULL,
|
||||
Ort VARCHAR2(50),
|
||||
Strasse VARCHAR2(50)
|
||||
)
|
||||
/
|
||||
|
||||
Prompt Creating TABLE 'Lagerbestand'
|
||||
CREATE TABLE Lagerbestand
|
||||
(LaNr NUMBER(38) NOT NULL,
|
||||
TNr NUMBER(38) NOT NULL,
|
||||
Bestand NUMBER,
|
||||
Zeitstempel DATE
|
||||
)
|
||||
/
|
||||
|
||||
Prompt Creating TABLE 'Lieferanten'
|
||||
CREATE TABLE Lieferanten
|
||||
(Lief_Nr NUMBER(38) NOT NULL,
|
||||
Name VARCHAR2(50) NOT NULL,
|
||||
Ort VARCHAR2(50) NOT NULL,
|
||||
Strasse VARCHAR2(50) NOT NULL,
|
||||
TelefonNr VARCHAR2(50),
|
||||
Zeitstempel DATE
|
||||
)
|
||||
/
|
||||
|
||||
Prompt Creating TABLE 'Lieferprogramme'
|
||||
CREATE TABLE Lieferprogramme
|
||||
(Lief_Nr NUMBER(38) NOT NULL,
|
||||
TNr NUMBER(38) NOT NULL,
|
||||
BestellNr VARCHAR2(20),
|
||||
Einkaufspreis NUMBER,
|
||||
Gesamtmenge NUMBER,
|
||||
Zeitstempel DATE
|
||||
)
|
||||
/
|
||||
Prompt Creating TABLE 'Lieferungen'
|
||||
CREATE TABLE Lieferungen
|
||||
(Liefer_Nr NUMBER(38) NOT NULL,
|
||||
Lief_Nr NUMBER(38) NOT NULL,
|
||||
TNr NUMBER(38) NOT NULL,
|
||||
Lief_Datum DATE NOT NULL,
|
||||
Menge NUMBER DEFAULT 1 NOT NULL,
|
||||
Zeitstempel DATE NOT NULL
|
||||
)
|
||||
/
|
||||
|
||||
Prompt Creating TABLE 'Orte'
|
||||
CREATE TABLE Orte
|
||||
(Ort VARCHAR2(50) NOT NULL,
|
||||
Strasse VARCHAR2(50) NOT NULL,
|
||||
PLZ NUMBER(38)
|
||||
)
|
||||
/
|
||||
Prompt Creating TABLE 'Struktur'
|
||||
CREATE TABLE Struktur
|
||||
(OTeil NUMBER(38) NOT NULL,
|
||||
UTeil NUMBER(38) NOT NULL,
|
||||
Position NUMBER(38) NOT NULL,
|
||||
Menge NUMBER NOT NULL,
|
||||
Ausschuss NUMBER,
|
||||
Arbeitsgang NUMBER(38),
|
||||
Zeitstempel DATE
|
||||
)
|
||||
/
|
||||
|
||||
Prompt Creating TABLE 'Teile'
|
||||
CREATE TABLE Teile
|
||||
(TNr NUMBER(38) NOT NULL,
|
||||
Me VARCHAR2(10),
|
||||
Bezeichnung VARCHAR2(50),
|
||||
Typ VARCHAR2(50),
|
||||
Herstellkosten NUMBER,
|
||||
Einkaufspreis NUMBER,
|
||||
Mindestbestand NUMBER,
|
||||
Bestand NUMBER,
|
||||
Lieferzeit NUMBER,
|
||||
Herstelldauer NUMBER,
|
||||
Gewicht NUMBER,
|
||||
Reserviert NUMBER,
|
||||
Verfuegbar NUMBER,
|
||||
Zeitstempel DATE
|
||||
)
|
||||
/
|
||||
|
||||
|
||||
Prompt Creating TABLE 'Teile_Werke'
|
||||
CREATE TABLE Teile_Werke
|
||||
(TNr NUMBER(38) NOT NULL,
|
||||
WNr NUMBER(38) NOT NULL
|
||||
)
|
||||
/
|
||||
|
||||
|
||||
Prompt Creating TABLE 'Werke'
|
||||
CREATE TABLE Werke
|
||||
(WNr NUMBER(38) NOT NULL,
|
||||
Bezeichnung VARCHAR2(50),
|
||||
Ort VARCHAR2(50) NOT NULL,
|
||||
Strasse VARCHAR2(50) NOT NULL
|
||||
)
|
||||
/
|
||||
|
||||
CREATE VIEW Rechnung AS
|
||||
SELECT
|
||||
Auftraege.Auftragsnr, Auftraege.Rechnungsdatum,
|
||||
Kunden.Kun_nr, Kunden.Nachname,
|
||||
Kunden.Vorname, Kunden.Ort,
|
||||
Kunden.Strasse,Orte.Plz,
|
||||
Auftragspositionen.TNr, Auftragspositionen.Menge,
|
||||
Artikel.Bezeichnung
|
||||
FROM Kunden, Auftraege, Auftragspositionen, Orte, Artikel
|
||||
WHERE Kunden.Kun_Nr = Auftraege.Kun_Nr
|
||||
AND Auftragspositionen.AuftragsNr = Auftraege.AuftragsNr
|
||||
AND Kunden.Ort = Orte.Ort
|
||||
AND Kunden.Strasse = Orte.Strasse
|
||||
AND Artikel.TNR = Auftragspositionen.TNr
|
||||
ORDER BY Auftraege.Auftragsnr
|
||||
/
|
||||
|
||||
CREATE SEQUENCE liefer_nr
|
||||
INCREMENT BY 1
|
||||
/
|
|
@ -0,0 +1,85 @@
|
|||
--
|
||||
-- Aufgabe Fahrrad
|
||||
--
|
||||
-- Datei generiert Indizes auf der Datenbank
|
||||
|
||||
PROMPT Creating Index 'ANG_ABT_FK_I'
|
||||
CREATE INDEX ANG_ABT_FK_I ON Angestellte
|
||||
(Abt_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'AR_T_FK_I'
|
||||
CREATE INDEX AR_T_FK_I ON Artikel
|
||||
(TNr)
|
||||
/
|
||||
|
||||
|
||||
PROMPT Creating Index 'AU_ANG_FK_I'
|
||||
CREATE INDEX AU_ANG_FK_I ON Auftraege
|
||||
(Ang_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'AU_KUN_FK_I'
|
||||
CREATE INDEX AU_KUN_FK_I ON Auftraege
|
||||
(Kun_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'AR_AU_AR_FK_I'
|
||||
CREATE INDEX AR_AU_AR_FK_I ON Auftragspositionen
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'AR_AU_AU_FK_I'
|
||||
CREATE INDEX AR_AU_AU_FK_I ON Auftragspositionen
|
||||
(AuftragsNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'LAG_T_LAG_FK_I'
|
||||
CREATE INDEX LAG_T_LAG_FK_I ON Lagerbestand
|
||||
(LaNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'LAG_T_T_FK_I'
|
||||
CREATE INDEX LAG_T_T_FK_I ON Lagerbestand
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'LP_LIEF_FK_I'
|
||||
CREATE INDEX LP_LIEF_FK_I ON Lieferprogramme
|
||||
(Lief_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'LP_T_FK_I'
|
||||
CREATE INDEX LP_T_FK_I ON Lieferprogramme
|
||||
(TNr)
|
||||
/
|
||||
|
||||
|
||||
PROMPT Creating Index 'LG_LIEF_FK_I'
|
||||
CREATE INDEX LG_LIEF_FK_I ON Lieferungen
|
||||
(Lief_Nr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'LG_T_FK_I'
|
||||
CREATE INDEX LG_T_FK_I ON Lieferungen
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'T_WE_T_FK_I'
|
||||
CREATE INDEX T_WE_T_FK_I ON Teile_Werke
|
||||
(TNr)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'T_WE_WE_FK_I'
|
||||
CREATE INDEX T_WE_WE_FK_I ON Teile_Werke
|
||||
(WNr)
|
||||
/
|
||||
PROMPT Creating Index 'Kunden_I'
|
||||
CREATE INDEX Kunden_I ON Kunden
|
||||
(Vorname, Nachname)
|
||||
/
|
||||
|
||||
PROMPT Creating Index 'Struktur_I'
|
||||
CREATE INDEX Struktur_I ON Struktur
|
||||
(OTeil, UTeil)
|
||||
/
|
|
@ -0,0 +1,61 @@
|
|||
--
|
||||
-- Aufgabe Fahrrad
|
||||
--
|
||||
-- Diese Datei löscht alle beteiligten Tabellen
|
||||
|
||||
DROP TABLE ABTEILUNGEN CASCADE CONSTRAINTS
|
||||
/
|
||||
DROP TABLE ANGESTELLTE CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE ARTIKEL CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE AUFTRAEGE CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE AUFTRAGSPOSITIONEN CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE GEH_KLASSEN CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE KUNDEN CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE LAGER CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE LAGERBESTAND CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE LIEFERANTEN CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE LIEFERPROGRAMME CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE LIEFERUNGEN CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE ORTE CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE STRUKTUR CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE TEILE CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP TABLE TEILE_WERKE CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
|
||||
DROP TABLE WERKE CASCADE CONSTRAINTS
|
||||
/
|
||||
|
||||
DROP SEQUENCE liefer_nr
|
||||
/
|
||||
|
||||
DROP VIEW Rechnungen
|
||||
/
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,11 @@
|
|||
create user ordbms identified by ordbms
|
||||
default tablespace users
|
||||
temporary tablespace temp;
|
||||
|
||||
grant UNLIMITED tablespace to ordbms;
|
||||
|
||||
create role ordbmsrole;
|
||||
|
||||
grant connect, resource, create session, dba TO ordbmsrole;
|
||||
|
||||
grant ordbmsrole to ordbms;
|
|
@ -0,0 +1,68 @@
|
|||
-- Aufgabe 1.1 - 1.4
|
||||
|
||||
drop type personal_t;
|
||||
drop type adresse_t;
|
||||
|
||||
create or replace type Adresse_t as object
|
||||
(strasse varchar2(20),
|
||||
hausnr number(5),
|
||||
plz number(5),
|
||||
ort varchar2(40));
|
||||
|
||||
|
||||
create or replace type personal_t as object
|
||||
(nachname varchar2(20),
|
||||
vorname varchar(20),
|
||||
geburtsdatum date,
|
||||
gehalt number(7,2),
|
||||
kinder number(5),
|
||||
adresse adresse_t);
|
||||
|
||||
CREATE TABLE personal_o OF personal_t
|
||||
OBJECT IDENTIFIER IS SYSTEM GENERATED;
|
||||
|
||||
insert into personal_o values (
|
||||
personal_t('Hörler', 'Ivan', to_date('1999-12-01', 'YYYY-MM-DD'), 1000.00, 4,
|
||||
adresse_t('musterstrasse', 2, 4900, 'Langenthal')));
|
||||
|
||||
|
||||
insert into personal_o values (
|
||||
personal_t('Strati', 'Michael', to_date('1998-12-01', 'YYYY-MM-DD'), 1200.00, 4,
|
||||
adresse_t('musterstrasse', 2, 4800, 'Aarau')));
|
||||
|
||||
insert into personal_o values (
|
||||
personal_t('Cadaroski', 'Ismail', to_date('1997-12-01', 'YYYY-MM-DD'), 1100.00, 4,
|
||||
adresse_t('musterstrasse', 2, 4700, 'Bern')));
|
||||
|
||||
select p.NACHNAME, p.vorname, p.GEBURTSDATUM, p.gehalt, p.kinder, p.adresse.strasse, p.adresse.hausnr, p.adresse.plz, p.adresse.ort from personal_o p
|
||||
where p.gehalt > 1100.00;
|
||||
-- Aufgabe 1.1 - 1.4
|
||||
|
||||
|
||||
|
||||
-- Aufgabe 2.1
|
||||
create or replace type abteilung_t as object
|
||||
(abt_it varchar2(2),
|
||||
bezeichnung varchar2(40),
|
||||
adresse adresse_t);
|
||||
|
||||
CREATE TABLE abteilung_o OF abteilung_t
|
||||
OBJECT IDENTIFIER IS SYSTEM GENERATED;
|
||||
|
||||
-- Aufgabe 2.2
|
||||
create or replace type angestellter_t as object
|
||||
(nachname varchar2(20),
|
||||
vorname varchar2(20),
|
||||
abteilung ref abteilung_t);
|
||||
|
||||
CREATE TABLE angestellter_o OF angestellter_t
|
||||
OBJECT IDENTIFIER IS SYSTEM GENERATED;
|
||||
|
||||
-- Aufgabe 2.3
|
||||
|
||||
insert into abteilung_o
|
||||
values(
|
||||
abteilung_t(20, 'finanzen', adresse_t('musterstrasse', 2, 4700, 'Bern')));
|
||||
|
||||
insert into ANGESTELLTER_O
|
||||
select angestellter_
|
Reference in New Issue