Top

23.6.6. UDDI Schema

---=====================
--- Business Entity Table
---=====================
create table UDDI..BUSINESS_ENTITY (
	BE_BUSINESS_KEY		varchar,
	BE_AUTHORIZED_NAME 	varchar,
	BE_OPERATOR		varchar,
	BE_NAME			varchar not null,
	BE_CREATED		datetime,
	BE_CHANGED		timestamp,
	BE_OWNER		integer,
 PRIMARY KEY (BE_BUSINESS_KEY)
)
;
---=======================
--- Business service Table
---=======================
create table UDDI..BUSINESS_SERVICE (
	BS_BUSINESS_KEY		varchar,		-- references business entity (optional)
	BS_SERVICE_KEY		varchar not null,       -- Unique Key
	BS_NAME			varchar not null,	-- Name
	BS_CREATED		datetime,
	BS_CHANGED		timestamp,
	BS_OWNER		integer,
PRIMARY KEY (BS_SERVICE_KEY)
)
;
---========================
--- Binding Templates Table
---========================
create table UDDI..BINDING_TEMPLATE (
	BT_BINDING_KEY		varchar,
	BT_SERVICE_KEY		varchar,
	BT_ACCESS_POINT		varchar,
	BT_HOSTING_REDIRECTOR	varchar,
	BT_URL_TYPE		varchar,
	BT_CREATED		datetime,
	BT_CHANGED		timestamp,
	BT_OWNER		integer,
	PRIMARY KEY (BT_BINDING_KEY)
)
;
---======================
--- tModel Table
---======================
create table UDDI..TMODEL (
	TM_TMODEL_KEY		varchar,
	TM_AUTHORIZED_NAME      varchar,
	TM_OPERATOR             varchar,
	TM_NAME                 varchar,
	TM_CREATED		datetime,
	TM_CHANGED		timestamp,
	TM_OWNER		integer,
	primary key (TM_TMODEL_KEY)
)
;
---====================
--- Descriptions Table
---====================
create table UDDI..DESCRIPTION (
	UD_DESC			varchar,	  -- Description Text
	UD_LANG			varchar,
	UD_PARENT_ID		varchar,	  -- Parent ID (references tmodel,
                                    -- businessService etc.)
	UD_TYPE			varchar		  -- ParentType (name of parent table)
)
create index DESC_PARENT on DESCRIPTION (UD_TYPE, UD_PARENT_ID)
;
--=====================================================================================
-- Discovery URL table: contains structure - holds a URL addressable discovery documents
--=====================================================================================
create table UDDI..DISCOVERY_URL (
	DU_PARENT_ID		varchar not null,	-- parent ID
	DU_PARENT_TYPE		varchar not null,	-- name of parent element
	DU_URL			varchar,		-- URI
	DU_USE_TYPE		varchar			-- UseType element
)
create index DISCOVERY_URLS_PARENT on DISCOVERY_URL (DU_PARENT_TYPE, DU_PARENT_ID)
;
--===================
-- Address line table
--===================
create table UDDI..ADDRESS_LINE (
	AL_PARENT_ID		varchar not null,    	-- Parent key
	AL_PARENT_TYPE		varchar not null,	-- name of parent element
	AL_USE_TYPE		varchar,		-- UseType element
	AL_SORT_CODE		varchar,		-- SortCode element
	AL_LINE			varchar			-- The Line content
)
create index ADDR_LINE_PARENT on ADDRESS_LINE (AL_PARENT_TYPE, AL_PARENT_ID)
;
---================
--- Contacts Table
---===============
create table UDDI..CONTACTS (
        CO_CONTACT_KEY		varchar,
	CO_BUSINESS_ID		varchar not null,   -- references business entity table by business key
	CO_USE_TYPE		varchar,		-- UseType element
	CO_PERSONAL_NAME	varchar not NULL,	-- name
	PRIMARY KEY (CO_CONTACT_KEY)
)
create index IN_BUSINESS on CONTACTS (CO_BUSINESS_ID)
;
--============
-- email table
--============
create table UDDI..EMAIL (
    EM_CONTACT_KEY     varchar not null,
    EM_ADDR            varchar,
    EM_USE_TYPE        varchar
)
create index IN_EMPARENT on EMAIL (EM_CONTACT_KEY)
;
--============
-- phone table
--============
create table UDDI..PHONE (
    PH_CONTACT_KEY     varchar not null,
    PH_PHONE           varchar,
    PH_USE_TYPE        varchar
)
create index IN_PHPARENT on PHONE (PH_CONTACT_KEY)
;
---=====================
--- Identifier Bag Table
---=====================
create table UDDI..IDENTIFIER_BAG (
	IB_PARENT_ID		varchar not null,
	IB_PARENT_TYPE		varchar not null,
	IB_TMODEL_KEY_ID	varchar,
	IB_KEY_NAME		varchar,
	IB_KEY_VALUE		varchar
)
create index IB_PARENT on IDENTIFIER_BAG (IB_PARENT_ID,IB_PARENT_TYPE)
;
---===================
--- Category Bag Table
---===================
create table UDDI..CATEGORY_BAG (
    CB_PARENT_ID		varchar not null,
    CB_PARENT_TYPE		varchar not null,
    CB_TMODEL_KEY_ID		varchar,
    CB_KEY_NAME			varchar,
    CB_KEY_VALUE		varchar
)
create index CB_PARENT on CATEGORY_BAG (CB_PARENT_ID, CB_PARENT_TYPE)
;
---===================
--- Overview Doc Table
---===================
create table UDDI..OVERVIEW_DOC (
    OV_KEY				varchar,
    OV_PARENT_ID			varchar not null,
    OV_PARENT_TYPE			varchar not null,
    OV_URL				varchar,
    PRIMARY KEY (OV_KEY)
)
create unique index PARENT_OVERVIEW_DOC on OVERVIEW_DOC (OV_PARENT_ID, OV_PARENT_TYPE)
;
---===============================
--- TModel Instance Details Table
---===============================
create table UDDI..INSTANCE_DETAIL  (
    ID_KEY  		varchar not null,
    ID_BINDING_KEY   	varchar, 		-- references btemplate(bindingkey)
    ID_TMODEL_KEY    	varchar,		-- references tmodel(tmodelkey)
    ID_PARMS  		varchar,
    primary key (ID_KEY)
)
create index IN_IDPARENT on INSTANCE_DETAIL (ID_BINDING_KEY, ID_TMODEL_KEY)
;