--    This SQL DDL script was generated by Visio Enterprise (Release Date: LOCAL BUILD).

--    Driver Used : Visio Enterprise - Oracle Server Driver.
--    Document    : d:\doc\mci1\+ws0203\praktikum\db\05.11.2002\er-diagramm.vsd.
--    Time Created: 8. November 1902 14:32.
--    Operation   : From Visio Generate Wizard.
--    Connected data source : No connection.
--    Connected server      : No connection.
--    Connected database    : Not applicable.



-- Create new table WERTPAPIERE.
-- WERTPAPIERE : Table of wertpapiere
-- 	WERTPAPIERE_ID : wertpapiere_id identifies wertpapiere
-- 	WP_ID : wp_id is of wertpapiere
-- 	TRANSAKTIONEN_ID : transaktionen_id partly identifies wertpapiere
-- 	DEPOT_ID : depot_id is of wertpapiere
-- 	ANZAHL : anzahl is of wertpapiere  
create table WERTPAPIERE (
	WERTPAPIERE_ID NUMBER(38,0) not null,
	WP_ID NUMBER(38,0) null,
	TRANSAKTIONEN_ID NUMBER(38,0) null,
	DEPOT_ID NUMBER(38,0) null,
	ANZAHL NUMBER(38,0) null, constraint WERTPAPIERE_PK primary key (WERTPAPIERE_ID) ); 

-- Create new table DEPOT.
-- DEPOT : Table of depot
-- 	DEPOT_ID : depot_id identifies depot
-- 	USER_ID : user_id is of depot
-- 	NAME : name is of depot
-- 	WAEHRUNG : waehrung is of depot  
create table DEPOT (
	DEPOT_ID NUMBER(38,0) not null,
	USER_ID NUMBER(38,0) not null,
	NAME VARCHAR2(30) null,
	WAEHRUNG VARCHAR2(3) null, constraint DEPOT_PK primary key (DEPOT_ID) ); 

-- Create new table "USER".
-- "USER" : Table of user
-- 	USER_ID : user_id partly identifies user
-- 	NAME : name identifies user
-- 	VORNAME : vorname partly identifies user
-- 	PASSWORT : passwort is of user  
create table "USER" (
	USER_ID NUMBER(38,0) not null,
	NAME VARCHAR2(30) not null,
	VORNAME VARCHAR2(30) not null,
	PASSWORT VARCHAR2(10) null, constraint USER_PK primary key (USER_ID) ); 

-- Create new table TRANSAKTIONEN.
-- TRANSAKTIONEN : Table of transaktionen
-- 	TRANSAKTIONEN_ID : transaktionen_id partly identifies transaktionen
-- 	MARKTDATEN_ID : marktdaten_id is of transaktionen
-- 	DATUM : datum is of transaktionen
-- 	KAUF_VERKAUF : kauf_verkauf is of transaktionen
-- 	ANZAHL : anzahl is of transaktionen  
create table TRANSAKTIONEN (
	TRANSAKTIONEN_ID NUMBER(38,0) not null,
	MARKTDATEN_ID NUMBER(38,0) null,
	DATUM DATE null,
	KAUF_VERKAUF VARCHAR2(10) null,
	ANZAHL NUMBER(38,0) null, constraint TRANSAKTIONEN_PK primary key (TRANSAKTIONEN_ID) ); 

-- Create new table ANLEIHEN.
-- ANLEIHEN : Table of anleihen
-- 	WP_ID : wp_id partly identifies anleihen
-- 	WKN : wkn identifies anleihen
-- 	ISIN : isin is of anleihen
-- 	NAME : name is of anleihen
-- 	EMITTENTEN_ID : emittenten_id is of anleihen
-- 	LAUFZEITBEGIN : laufzeitbegin is of anleihen
-- 	LAUFZEITENDE : laufzeitende is of anleihen
-- 	KUPON : kupon is of anleihen
-- 	KUPONFREQUENZ_ID : kuponfrequenz_id is of anleihen
-- 	WAEHRUNGEN_ID : waehrungen_id is of anleihen  
create table ANLEIHEN (
	WP_ID NUMBER(38,0) not null,
	WKN VARCHAR2(50) null,
	ISIN VARCHAR2(50) null,
	NAME VARCHAR2(255) null,
	EMITTENTEN_ID NUMBER(38,0) null,
	LAUFZEITBEGIN DATE null,
	LAUFZEITENDE DATE null,
	KUPON NUMBER(38,0) null,
	KUPONFREQUENZ_ID NUMBER(38,0) null,
	WAEHRUNGEN_ID NUMBER(38,0) null, constraint ANLEIHEN_PK primary key (WP_ID) ); 

-- Create new table MARKTDATEN.
-- MARKTDATEN : Table of marktdaten
-- 	MARKTDATEN_ID : marktdaten_id partly identifies marktdaten
-- 	GATTUNGEN_ID : gattungen_id is of marktdaten
-- 	KURSTYP_ID : kurstyp_id identifies marktdaten
-- 	KURS : kurs is of marktdaten
-- 	WP_ID : wp_id is of marktdaten  
create table MARKTDATEN (
	MARKTDATEN_ID NUMBER(38,0) not null,
	GATTUNGEN_ID NUMBER(38,0) not null,
	KURSTYP_ID NUMBER(38,0) not null,
	KURS NUMBER(38,0) null,
	WP_ID NUMBER(38,0) not null, constraint MARKTDATEN_PK primary key (MARKTDATEN_ID) ); 

-- Create new table EMITTENTEN.
-- EMITTENTEN : Table of emittenten
-- 	EMITTENTEN_ID : emittenten_id identifies emittenten
-- 	EMITTENT : emittent is of emittenten  
create table EMITTENTEN (
	EMITTENTEN_ID NUMBER(38,0) not null,
	EMITTENT VARCHAR2(255) null, constraint EMITTENTEN_PK primary key (EMITTENTEN_ID) ); 

-- Create new table GATTUNGEN.
-- GATTUNGEN : Table of gattungen
-- 	GATTUNGEN_ID : gattungen_id identifies gattungen
-- 	GATTUNG : gattung is of gattungen  
create table GATTUNGEN (
	GATTUNGEN_ID NUMBER(38,0) not null,
	GATTUNG VARCHAR2(50) null, constraint GATTUNGEN_PK primary key (GATTUNGEN_ID) ); 

-- Create new table KURSTYP.
-- KURSTYP : Table of kurstyp
-- 	KURSTYP_ID : kurstyp_id identifies kurstyp
-- 	KURSTYP : kurstyp is of kurstyp  
create table KURSTYP (
	KURSTYP_ID NUMBER(38,0) not null,
	KURSTYP VARCHAR2(50) null, constraint KURSTYP_PK primary key (KURSTYP_ID) ); 

-- Create new table WAEHRUNGEN.
-- WAEHRUNGEN : Table of waehrungen
-- 	WAEHRUNGEN_ID : waehrungen_id identifies waehrungen
-- 	NAME : name is of waehrungen
-- 	KUERZEL : kuerzel is of waehrungen  
create table WAEHRUNGEN (
	WAEHRUNGEN_ID NUMBER(38,0) not null,
	NAME VARCHAR2(255) null,
	KUERZEL VARCHAR2(4) null, constraint WAEHRUNGEN_PK primary key (WAEHRUNGEN_ID) ); 

-- Create new table KUPONFREQUENZ.
-- KUPONFREQUENZ : Table of kuponfrequenz
-- 	KUPONFREQUENZ_ID : kuponfrequenz_id identifies kuponfrequenz
-- 	KUPONFREQUENZ : kuponfrequenz is of kuponfrequenz  
create table KUPONFREQUENZ (
	KUPONFREQUENZ_ID NUMBER(38,0) not null,
	KUPONFREQUENZ VARCHAR2(50) null, constraint KUPONFREQUENZ_PK primary key (KUPONFREQUENZ_ID) ); 

-- Create new table AKTIEN.
-- AKTIEN : Table of aktien
-- 	WP_ID : wp_id identifies aktien
-- 	WKN : wkn is of aktien
-- 	ISIN : isin is of aktien
-- 	NAME : name is of aktien
-- 	EMITTENTEN_ID : emittenten_id is of aktien
-- 	EMISSIONSTAG : emissionstag is of aktien
-- 	WAEHRUNGEN_ID : waehrungen_id is of aktien  
create table AKTIEN (
	WP_ID NUMBER(38,0) not null,
	WKN VARCHAR2(50) null,
	ISIN VARCHAR2(50) null,
	NAME VARCHAR2(255) null,
	EMITTENTEN_ID NUMBER(38,0) null,
	EMISSIONSTAG DATE null,
	WAEHRUNGEN_ID NUMBER(38,0) null, constraint AKTIEN_PK primary key (WP_ID) ); 

-- Add foreign key constraints to table WERTPAPIERE.
alter table WERTPAPIERE
	add constraint AKTIEN_WERTPAPIERE_FK1 foreign key (
		WP_ID)
	 references AKTIEN (
		WP_ID); 

alter table WERTPAPIERE
	add constraint ANLEIHEN_WERTPAPIERE_FK1 foreign key (
		WP_ID)
	 references ANLEIHEN (
		WP_ID); 

alter table WERTPAPIERE
	add constraint TRANSAKTIONEN_WERTPAPIERE_FK1 foreign key (
		TRANSAKTIONEN_ID)
	 references TRANSAKTIONEN (
		TRANSAKTIONEN_ID); 

alter table WERTPAPIERE
	add constraint DEPOT_WERTPAPIERE_FK1 foreign key (
		DEPOT_ID)
	 references DEPOT (
		DEPOT_ID); 

-- Add foreign key constraints to table DEPOT.
alter table DEPOT
	add constraint USER_DEPOT_FK1 foreign key (
		USER_ID)
	 references "USER" (
		USER_ID); 

-- Add foreign key constraints to table TRANSAKTIONEN.
alter table TRANSAKTIONEN
	add constraint MARKTDATEN_TRANSAKTIONEN_FK1 foreign key (
		MARKTDATEN_ID)
	 references MARKTDATEN (
		MARKTDATEN_ID); 

-- Add foreign key constraints to table ANLEIHEN.
alter table ANLEIHEN
	add constraint KUPONFREQUENZ_ANLEIHEN_FK1 foreign key (
		KUPONFREQUENZ_ID)
	 references KUPONFREQUENZ (
		KUPONFREQUENZ_ID); 

alter table ANLEIHEN
	add constraint WAEHRUNGEN_ANLEIHEN_FK1 foreign key (
		WAEHRUNGEN_ID)
	 references WAEHRUNGEN (
		WAEHRUNGEN_ID); 

alter table ANLEIHEN
	add constraint EMITTENTEN_ANLEIHEN_FK1 foreign key (
		EMITTENTEN_ID)
	 references EMITTENTEN (
		EMITTENTEN_ID); 

-- Add foreign key constraints to table MARKTDATEN.
alter table MARKTDATEN
	add constraint AKTIEN_MARKTDATEN_FK1 foreign key (
		WP_ID)
	 references AKTIEN (
		WP_ID); 

alter table MARKTDATEN
	add constraint KURSTYP_MARKTDATEN_FK1 foreign key (
		KURSTYP_ID)
	 references KURSTYP (
		KURSTYP_ID); 

alter table MARKTDATEN
	add constraint GATTUNGEN_MARKTDATEN_FK1 foreign key (
		GATTUNGEN_ID)
	 references GATTUNGEN (
		GATTUNGEN_ID); 

alter table MARKTDATEN
	add constraint ANLEIHEN_MARKTDATEN_FK1 foreign key (
		WP_ID)
	 references ANLEIHEN (
		WP_ID); 

-- Add foreign key constraints to table AKTIEN.
alter table AKTIEN
	add constraint WAEHRUNGEN_AKTIEN_FK1 foreign key (
		WAEHRUNGEN_ID)
	 references WAEHRUNGEN (
		WAEHRUNGEN_ID); 

alter table AKTIEN
	add constraint EMITTENTEN_AKTIEN_FK1 foreign key (
		EMITTENTEN_ID)
	 references EMITTENTEN (
		EMITTENTEN_ID); 


-- This is the end of the Visio Enterprise generated SQL DDL script.
