--
-- Each row in acs_rel_types
represents a type of
-- relationship between objects. For example, the following DML
-- statement:
--
-- insert into acs_rel_types
-- (rel_type,
-- object_type_one, role_one, min_n_rels_one, max_n_rels_one,
-- object_type_two, role_two, min_n_rels_two, max_n_rels_two)
-- values
-- ('employment',
-- 'person', 'employee', 0, null,
-- 'company', 'employer', 0, null)
--
-- defines an "employment" relationship type that can be expressed in
-- in natural language as:
--
-- A person may be the employee of zero or more companies, and a company
-- may be the employer of zero or more people.
--
--
CREATE TABLE acs_rel_types (
rel_type varchar(1000) PRIMARY KEY NOT NULL,
object_type_one varchar(1000) NOT NULL,
role_one varchar(100),
min_n_rels_one integer DEFAULT 0 NOT NULL,
max_n_rels_one integer,
object_type_two varchar(1000) NOT NULL,
role_two varchar(100),
min_n_rels_two integer DEFAULT 0 NOT NULL,
max_n_rels_two integer,
composable_p bool DEFAULT true NOT NULL,
CONSTRAINT acs_rel_types_role_2_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_max_n_1_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_role_1_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_rel_type_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_pk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_obj_type_2_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_max_n_2_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_obj_type_1_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_n_rels_two_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_n_rels_one_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_min_n_2_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_min_n_1_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_role_1_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_max_n_1_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_max_n_2_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_min_n_1_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_min_n_2_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_n_rels_one_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_n_rels_two_ck REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_obj_type_1_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_obj_type_2_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_pk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_rel_type_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_role_2_fk REFERENCES acs_rel_roles (),
CONSTRAINT acs_rel_types_n_rels_two_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_role_2_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_role_1_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_rel_type_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_pk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_obj_type_2_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_obj_type_1_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_n_rels_one_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_min_n_2_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_min_n_1_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_max_n_2_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_max_n_1_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_role_1_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_role_2_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_rel_type_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_pk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_obj_type_2_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_obj_type_1_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_n_rels_two_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_n_rels_one_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_min_n_2_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_min_n_1_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_max_n_2_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_max_n_1_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_role_2_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_role_1_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_rel_type_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_pk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_obj_type_2_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_obj_type_1_fk REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_n_rels_two_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_n_rels_one_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_min_n_2_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_min_n_1_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_max_n_2_ck REFERENCES acs_object_types (),
CONSTRAINT acs_rel_types_max_n_1_ck REFERENCES acs_object_types ()
);
CREATE INDEX acs_rel_types_objtypeone_idx ON acs_rel_types (object_type_one);
CREATE INDEX acs_rel_types_objtypetwo_idx ON acs_rel_types (object_type_two);
CREATE INDEX acs_rel_types_role_one_idx ON acs_rel_types (role_one);
CREATE INDEX acs_rel_types_role_two_idx ON acs_rel_types (role_two);
CREATE TRIGGER RI_ConstraintTrigger_c_340514 AFTER INSERT FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_ins (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_340515 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_340519 AFTER INSERT FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_ins (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_340520 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340537 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340538 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_342472 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_342473 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_342502 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_cascade_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_342503 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_342522 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_cascade_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_342523 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_342872 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_342873 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_1610571 AFTER INSERT FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_ins (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_1610572 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_1610576 AFTER INSERT FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_ins (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_1610577 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_1610581 AFTER INSERT FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_ins (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_1610582 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_upd (disabled)
-- Tables with foreign keys that refer to acs_rel_types:
--acs_rels(acs_rel_types_max_n_1_ck)
--acs_rels(acs_rel_types_max_n_2_ck)
--acs_rels(acs_rel_types_min_n_1_ck)
--acs_rels(acs_rel_types_min_n_2_ck)
--acs_rels(acs_rel_types_n_rels_one_ck)
--acs_rels(acs_rel_types_n_rels_two_ck)
--acs_rels(acs_rel_types_obj_type_1_fk)
--acs_rels(acs_rel_types_obj_type_2_fk)
--acs_rels(acs_rel_types_pk)
--acs_rels(acs_rel_types_rel_type_fk)
--acs_rels(acs_rel_types_role_1_fk)
--acs_rels(acs_rel_types_role_2_fk)
--group_element_index(acs_rel_types_max_n_1_ck)
--group_element_index(acs_rel_types_max_n_2_ck)
--group_element_index(acs_rel_types_min_n_1_ck)
--group_element_index(acs_rel_types_min_n_2_ck)
--group_element_index(acs_rel_types_n_rels_one_ck)
--group_element_index(acs_rel_types_n_rels_two_ck)
--group_element_index(acs_rel_types_obj_type_1_fk)
--group_element_index(acs_rel_types_obj_type_2_fk)
--group_element_index(acs_rel_types_pk)
--group_element_index(acs_rel_types_rel_type_fk)
--group_element_index(acs_rel_types_role_1_fk)
--group_element_index(acs_rel_types_role_2_fk)
--group_rels(acs_rel_types_max_n_1_ck)
--group_rels(acs_rel_types_max_n_2_ck)
--group_rels(acs_rel_types_min_n_1_ck)
--group_rels(acs_rel_types_min_n_2_ck)
--group_rels(acs_rel_types_n_rels_one_ck)
--group_rels(acs_rel_types_n_rels_two_ck)
--group_rels(acs_rel_types_obj_type_1_fk)
--group_rels(acs_rel_types_obj_type_2_fk)
--group_rels(acs_rel_types_pk)
--group_rels(acs_rel_types_rel_type_fk)
--group_rels(acs_rel_types_role_1_fk)
--group_rels(acs_rel_types_role_2_fk)
--group_type_rels(acs_rel_types_max_n_1_ck)
--group_type_rels(acs_rel_types_max_n_2_ck)
--group_type_rels(acs_rel_types_min_n_1_ck)
--group_type_rels(acs_rel_types_min_n_2_ck)
--group_type_rels(acs_rel_types_n_rels_one_ck)
--group_type_rels(acs_rel_types_n_rels_two_ck)
--group_type_rels(acs_rel_types_obj_type_1_fk)
--group_type_rels(acs_rel_types_obj_type_2_fk)
--group_type_rels(acs_rel_types_pk)
--group_type_rels(acs_rel_types_rel_type_fk)
--group_type_rels(acs_rel_types_role_1_fk)
--group_type_rels(acs_rel_types_role_2_fk)
--rel_segments(acs_rel_types_max_n_1_ck)
--rel_segments(acs_rel_types_max_n_2_ck)
--rel_segments(acs_rel_types_min_n_1_ck)
--rel_segments(acs_rel_types_min_n_2_ck)
--rel_segments(acs_rel_types_n_rels_one_ck)
--rel_segments(acs_rel_types_n_rels_two_ck)
--rel_segments(acs_rel_types_obj_type_1_fk)
--rel_segments(acs_rel_types_obj_type_2_fk)
--rel_segments(acs_rel_types_pk)
--rel_segments(acs_rel_types_rel_type_fk)
--rel_segments(acs_rel_types_role_1_fk)
--rel_segments(acs_rel_types_role_2_fk)
-- Table size: 8,192 bytes
-- Table rows: 9
Tables: