default

Romber

Database tables

romber_meta.classes

Purpose

This table provides a list of valid meta classes. This information is static and doesn't need a data entry page.

Definition

Source romber_meta_classes_tbl.sql

create table romber_meta.classes (
  audit_or_not                  boolean                         not null,
  max_level                     smallint                        not null
                                  check ( max_level between 0 and 3 ),
  meta_class_code_plural        romber_base.generic_code        not null,
  meta_class_code_singular      romber_base.generic_code        not null,
  meta_class_id                 romber_meta.class_id            not null
                                  default nextval ( 'romber_base.generic_id_seq' ),
  meta_class_name_plural        romber_base.generic_name        not null,
  meta_class_name_singular      romber_base.generic_name        not null,
  meta_module_id                romber_meta.module_id           not null,
  meta_package_id               romber_meta.package_id          not null,
  meta_security_model_id        romber_meta.security_model_id   not null,
  meta_table_id                 romber_meta.table_id            not null,
  min_level                     smallint                        not null
                                  check ( min_level between 0 and 3 ),
  validity_or_not               boolean                         not null,
  versions_or_not               boolean                         not null );

Constraints

Source romber_meta_classes_pk.sql

alter table romber_meta.classes
  add constraint romber_meta_classes_pk
    primary key ( meta_class_id );

Source romber_meta_classes_uk1.sql

alter table romber_meta.classes
  add constraint romber_meta_classes_uk1
    unique ( meta_class_code_singular );

Source romber_meta_classes_uk2.sql

alter table romber_meta.classes
  add constraint romber_meta_classes_uk2
    unique ( meta_class_code_plural );

Source romber_meta_classes_fk1.sql

alter table romber_meta.classes
  add constraint romber_meta_classes_fk1
    foreign key ( meta_package_id )
    references romber_meta.packages ( meta_package_id );

Source romber_meta_classes_fk2.sql

alter table romber_meta.classes
  add constraint romber_meta_classes_fk2
    foreign key ( meta_table_id )
    references romber_meta.tables ( meta_table_id );

Source romber_meta_classes_fk3.sql

alter table romber_meta.classes
  add constraint romber_meta_classes_fk3
    foreign key ( meta_module_id )
    references romber_meta.modules ( meta_module_id );

Source romber_meta_classes_fk4.sql

alter table romber_meta.classes
  add constraint romber_meta_classes_fk4
    foreign key ( meta_security_model_id )
    references romber_meta.security_models ( meta_security_model_id );

Source romber_meta_classes_ck1.sql

alter table romber_meta.classes
  add constraint romber_meta_classes_ck1
    check ( min_level <= max_level );

Load

Source romber_meta_classes_load.sql

insert into romber_meta.classes (
    audit_or_not,
    max_level,
    meta_class_code_singular,
    meta_class_code_plural,
    meta_class_id,
    meta_class_name_plural,
    meta_class_name_singular,
    meta_module_id,
    meta_package_id,
    meta_security_model_id,
    meta_table_id,
    min_level,
    validity_or_not,
    versions_or_not )
  values (
    false,
    0,
    '',
    '',
    0,
    '',
    '',
    0,
    ( select meta_package_id from romber_meta.packages where meta_package_code = 'ROMBER' ),
    0,
    0,
    0,
    false,
    false );

 

Copyright © Corpita Pty Ltd 1987 - 2024

Developed by romber.net
Page modified on 28-Apr-2023