Дата актуальности: 12.06.2009

FlexiObjDB
Объектно-ориентированное на предметную область 
долговременное хранилище информации.


 Таблица базы данных: OBJECTS_PROP_NUMBER

Назначение: 
  Информационная. Численные свойства объектов/процессов.

Системный (внутренний) ID-таблицы = 15
 


Список и назначение полей таблицы.

Имя поля Назначение Индекс Ссылка на 
таблицу
Формат Примечание
ID_THIS Уникальный ID строки primary    VARCHAR(40) NOT NULL  вычисляется автоматически,
генераторы: 
GEN_OBJROPN_1,
GEN_OBJROPN_2,
GEN_OBJROPN_3
ID_OWNER  ID-владельца свойства (объект или процесс) + OBJECTS_TREE VARCHAR(40) NOT NULL  Ссылка на "дерево" объектов/процессов
ID_PROP  ID-свойства из множества численных свойств  + L_PROPNUMBER_LIST VARCHAR(40) NOT NULL  Ссылка на справочник (множество численных свойств)
PROP_VAL  Значение численного свойства     DOUBLE PRECISION  
ID_UNITMEASURE  ID-единицы измерения  +  L_PROPENUM_VAL VARCHAR(40) NOT NULL  Ссылка на справочник (множество значений перечислимых свойств)
PRECIS  кол-во знаков после запятой        INTEGER  
ITS_GLOBAL Признак "глобальности" +   INTEGER  вычисляется автоматически
DATE_1  дата начала периода актуальности +   DATE  
TIME_1  время начала периода актуальности     VARCHAR(8)  
DATE_2 дата конца периода актуальности +   DATE  
TIME_2 время конца периода актуальности     VARCHAR(8)  
ID_PACKET  ID пакета импорта информации +   VARCHAR(40) NOT NULL  
IDUSER_CREATE ID пользователя, создавшего эту строку + USERS_LIST VARCHAR(40) NOT NULL  
DATE_CREATE Дата-время создания строки     DATE NOT NULL  вычисляется автоматически
IDUSER_UPDATE ID пользователя, последним изменившего эту строку + USERS_LIST VARCHAR(40) NOT NULL  
DATE_UPDATE Дата-время последнего изменения  строки     DATE NOT NULL  вычисляется автоматически 

 

CREATE TABLE OBJECTS_PROP_NUMBER (ID_THIS VARCHAR(40) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
    ID_OWNER VARCHAR(40) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
    IDUSER_CREATE VARCHAR(40) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
    DATE_CREATE DATE NOT NULL,
    IDUSER_UPDATE VARCHAR(40) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
    DATE_UPDATE DATE NOT NULL,
    ID_PROP VARCHAR(40) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
    ITS_GLOBAL INTEGER,
    DATE_1 DATE,
    TIME_1 VARCHAR(8) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
    DATE_2 DATE,
    TIME_2 VARCHAR(8) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
    PROP_VAL DOUBLE PRECISION,
    PRECIS INTEGER,
    ID_UNITMEASURE VARCHAR(40) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
    ID_PACKET VARCHAR(40) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
PRIMARY KEY (ID_THIS));


Поддержка ссылочной целостности.

Поле Master-table Detail-table Примечание
 ID_OWNER  OBJECTS_TREE.ID_THIS   в триггере BD_OBJECTSTREE 
 ID_THIS    

 OBJECTS_PROP_NUM_ATTR.ID_THIS

в триггере BD_OBJPROPNUM

 


Индексы.

CREATE INDEX OBJPROPNUM_DATE1 ON OBJECTS_PROP_NUMBER(DATE_1);
CREATE INDEX OBJPROPNUM_DATE2 ON OBJECTS_PROP_NUMBER(DATE_2);
CREATE INDEX OBJPROPNUM_ITSGLOB ON OBJECTS_PROP_NUMBER(ITS_GLOBAL);
CREATE INDEX OBJPROPN_IDOWNER ON OBJECTS_PROP_NUMBER(ID_OWNER);
CREATE INDEX OBJPROPN_IDPROP ON OBJECTS_PROP_NUMBER(ID_PROP);
CREATE INDEX OBJPROPN_IDUSR_CR ON OBJECTS_PROP_NUMBER(IDUSER_CREATE);
CREATE INDEX OBJPROPN_IDUSR_UPD ON OBJECTS_PROP_NUMBER(IDUSER_UPDATE);
CREATE INDEX OBJPROPN_IDPACKET ON OBJECTS_PROP_NUMBER(ID_PACKET);
 


Триггеры.

Перед вставкой новой строки :

 

Перед изменением  строки :

 

Перед удалением строки :

 

После вставки новой строки :

 

После изменения  строки :

 

После удаления  строки :

 


______________________________________
(c) Sergey Popov,  респ.Коми,  г.Усинск,(2009)

http://flexiobjdb.narod.ru

Используются технологии uCoz