mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 12:43:04 +02:00
git-subtree-dir: NotProgramming/EDABA-LAB git-subtree-mainline:b88865222bgit-subtree-split:cc8d63c734
235 lines
6.7 KiB
SQL
235 lines
6.7 KiB
SQL
-- Generated by Oracle SQL Developer Data Modeler 22.2.0.165.1149
|
|
-- at: 2022-11-23 12:17:07 CET
|
|
-- site: Oracle Database 11g
|
|
-- type: Oracle Database 11g
|
|
|
|
|
|
|
|
-- predefined type, no DDL - MDSYS.SDO_GEOMETRY
|
|
|
|
-- predefined type, no DDL - XMLTYPE
|
|
|
|
CREATE TABLE club (
|
|
id INTEGER NOT NULL,
|
|
budget INTEGER,
|
|
training_ground_quality INTEGER,
|
|
reputation INTEGER,
|
|
country_of_origin VARCHAR2(4000),
|
|
competition_id INTEGER,
|
|
manager_id INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE UNIQUE INDEX club__idx ON
|
|
club (
|
|
manager_id
|
|
ASC );
|
|
|
|
ALTER TABLE club ADD CONSTRAINT club_id_un UNIQUE ( id );
|
|
|
|
CREATE TABLE competition (
|
|
id INTEGER,
|
|
prize INTEGER,
|
|
country VARCHAR2(4000),
|
|
reputation INTEGER
|
|
);
|
|
|
|
ALTER TABLE competition ADD CONSTRAINT competition_id_un UNIQUE ( id );
|
|
|
|
CREATE TABLE manager (
|
|
id INTEGER,
|
|
skill INTEGER,
|
|
reputation INTEGER,
|
|
age INTEGER,
|
|
wage INTEGER,
|
|
club_id INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE UNIQUE INDEX manager__idx ON
|
|
manager (
|
|
club_id
|
|
ASC );
|
|
|
|
ALTER TABLE manager ADD CONSTRAINT manager_id_un UNIQUE ( id );
|
|
|
|
CREATE TABLE match (
|
|
id INTEGER,
|
|
score INTEGER,
|
|
rating INTEGER,
|
|
attendance INTEGER,
|
|
weather VARCHAR2(4000),
|
|
duration INTEGER,
|
|
"date" DATE,
|
|
referee_name VARCHAR2(4000),
|
|
competition_id INTEGER NOT NULL
|
|
);
|
|
|
|
ALTER TABLE match ADD CONSTRAINT match_id_un UNIQUE ( id );
|
|
|
|
CREATE TABLE player (
|
|
id INTEGER,
|
|
skill INTEGER,
|
|
position VARCHAR2(4000),
|
|
reputation INTEGER,
|
|
contract_status VARCHAR2(4000),
|
|
injuries INTEGER,
|
|
age INTEGER,
|
|
wages INTEGER,
|
|
transfer_value INTEGER,
|
|
club_id INTEGER
|
|
);
|
|
|
|
ALTER TABLE player ADD CONSTRAINT player_id_un UNIQUE ( id );
|
|
|
|
CREATE TABLE stadium (
|
|
id INTEGER NOT NULL,
|
|
capacity INTEGER,
|
|
reputation INTEGER,
|
|
location VARCHAR2(4000),
|
|
build_year INTEGER,
|
|
value FLOAT,
|
|
ticket_price FLOAT,
|
|
club_id INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE UNIQUE INDEX stadium__idx ON
|
|
stadium (
|
|
club_id
|
|
ASC );
|
|
|
|
ALTER TABLE stadium ADD CONSTRAINT stadium_id_un UNIQUE ( id );
|
|
|
|
CREATE TABLE takes_part_in (
|
|
club_id INTEGER NOT NULL,
|
|
match_id INTEGER NOT NULL
|
|
);
|
|
|
|
ALTER TABLE takes_part_in ADD CONSTRAINT takes_part_in_pk PRIMARY KEY ( club_id,
|
|
match_id );
|
|
|
|
CREATE TABLE takes_place_in (
|
|
stadium_id INTEGER NOT NULL,
|
|
competition_id INTEGER NOT NULL
|
|
);
|
|
|
|
ALTER TABLE takes_place_in ADD CONSTRAINT takes_place_in_pk PRIMARY KEY ( stadium_id,
|
|
competition_id );
|
|
|
|
ALTER TABLE club
|
|
ADD CONSTRAINT club_competition_fk FOREIGN KEY ( competition_id )
|
|
REFERENCES competition ( id );
|
|
|
|
ALTER TABLE club
|
|
ADD CONSTRAINT club_manager_fk FOREIGN KEY ( manager_id )
|
|
REFERENCES manager ( id );
|
|
|
|
ALTER TABLE manager
|
|
ADD CONSTRAINT manager_club_fk FOREIGN KEY ( club_id )
|
|
REFERENCES club ( id );
|
|
|
|
ALTER TABLE match
|
|
ADD CONSTRAINT match_competition_fk FOREIGN KEY ( competition_id )
|
|
REFERENCES competition ( id );
|
|
|
|
ALTER TABLE player
|
|
ADD CONSTRAINT player_club_fk FOREIGN KEY ( club_id )
|
|
REFERENCES club ( id );
|
|
|
|
ALTER TABLE stadium
|
|
ADD CONSTRAINT stadium_club_fk FOREIGN KEY ( club_id )
|
|
REFERENCES club ( id );
|
|
|
|
ALTER TABLE takes_part_in
|
|
ADD CONSTRAINT takes_part_in_club_fk FOREIGN KEY ( club_id )
|
|
REFERENCES club ( id );
|
|
|
|
ALTER TABLE takes_part_in
|
|
ADD CONSTRAINT takes_part_in_match_fk FOREIGN KEY ( match_id )
|
|
REFERENCES match ( id );
|
|
|
|
ALTER TABLE takes_place_in
|
|
ADD CONSTRAINT takes_place_in_competition_fk FOREIGN KEY ( competition_id )
|
|
REFERENCES competition ( id );
|
|
|
|
ALTER TABLE takes_place_in
|
|
ADD CONSTRAINT takes_place_in_stadium_fk FOREIGN KEY ( stadium_id )
|
|
REFERENCES stadium ( id );
|
|
|
|
CREATE OR REPLACE TRIGGER fknto_club BEFORE
|
|
UPDATE OF competition_id ON club
|
|
FOR EACH ROW
|
|
BEGIN
|
|
IF :old.competition_id IS NOT NULL THEN
|
|
raise_application_error(-20225, 'Non Transferable FK constraint CLUB_COMPETITION_FK on table CLUB is violated');
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE TRIGGER fknto_player BEFORE
|
|
UPDATE OF club_id ON player
|
|
FOR EACH ROW
|
|
BEGIN
|
|
IF :old.club_id IS NOT NULL THEN
|
|
raise_application_error(-20225, 'Non Transferable FK constraint PLAYER_CLUB_FK on table PLAYER is violated');
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE TRIGGER fkntm_takes_part_in BEFORE
|
|
UPDATE OF match_id ON takes_part_in
|
|
BEGIN
|
|
raise_application_error(-20225, 'Non Transferable FK constraint on table takes_part_in is violated');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE TRIGGER fkntm_takes_place_in BEFORE
|
|
UPDATE OF competition_id ON takes_place_in
|
|
BEGIN
|
|
raise_application_error(-20225, 'Non Transferable FK constraint on table takes_place_in is violated');
|
|
END;
|
|
/
|
|
|
|
|
|
|
|
-- Oracle SQL Developer Data Modeler Summary Report:
|
|
--
|
|
-- CREATE TABLE 8
|
|
-- CREATE INDEX 3
|
|
-- ALTER TABLE 18
|
|
-- CREATE VIEW 0
|
|
-- ALTER VIEW 0
|
|
-- CREATE PACKAGE 0
|
|
-- CREATE PACKAGE BODY 0
|
|
-- CREATE PROCEDURE 0
|
|
-- CREATE FUNCTION 0
|
|
-- CREATE TRIGGER 4
|
|
-- ALTER TRIGGER 0
|
|
-- CREATE COLLECTION TYPE 0
|
|
-- CREATE STRUCTURED TYPE 0
|
|
-- CREATE STRUCTURED TYPE BODY 0
|
|
-- CREATE CLUSTER 0
|
|
-- CREATE CONTEXT 0
|
|
-- CREATE DATABASE 0
|
|
-- CREATE DIMENSION 0
|
|
-- CREATE DIRECTORY 0
|
|
-- CREATE DISK GROUP 0
|
|
-- CREATE ROLE 0
|
|
-- CREATE ROLLBACK SEGMENT 0
|
|
-- CREATE SEQUENCE 0
|
|
-- CREATE MATERIALIZED VIEW 0
|
|
-- CREATE MATERIALIZED VIEW LOG 0
|
|
-- CREATE SYNONYM 0
|
|
-- CREATE TABLESPACE 0
|
|
-- CREATE USER 0
|
|
--
|
|
-- DROP TABLESPACE 0
|
|
-- DROP DATABASE 0
|
|
--
|
|
-- REDACTION POLICY 0
|
|
--
|
|
-- ORDS DROP SCHEMA 0
|
|
-- ORDS ENABLE SCHEMA 0
|
|
-- ORDS ENABLE OBJECT 0
|
|
--
|
|
-- ERRORS 0
|
|
-- WARNINGS 0
|