Documentum基本类型详解
来源:互联网 发布:如何将一个矩阵对角化 编辑:程序博客网 时间:2024/06/06 19:39
- dm_type
- ContentServe将对象类型分为标准型和特殊型两大类。大部分使用到的类型都是标准类型。
特殊类型包括以下几类:
a. 共享型(Shareable):共享对象类型一般会与轻量级对象类型联合起来使用。一个共享型类型的对象可以为多个轻量级对象共同使用。
b. 轻量级(Lightweight):轻量级对象被用来减少多个对象共享一般系统信息时的存储。共享的属性存储在一个共享型对象里,其余属性存储在轻量级对象里。轻量级类型是共享型类型的子类型。
c. 方面属性(Aspect property):方面允许任何类型的对象都可以增加属性。方面属性对象一般用来内部管理与方面相关的属性,而用户和客户端并不知道这种类型的存在。
d. 数据表:数据表是一个协作的组件,它允许用户管理结构化信息的集合。
内容服务器使用dm_type的type_category属性显示的定义的类型的种类,它包括以下值:0.标准类型,1.方面属性,2.共享型,4.轻量级,8.数据表 - DATEDIFF(date_part, date1, date2) date_part有效值为:year,month,week,day
- DATEADD(date_part, number, date) date_part有效值为:year,month,week,day
- DATEFLOOR(date_part,date) date_part有效值为:year,month,week,day
- DATETOSTRING(date,'format') 如:DATETOSTRING("r_creation_date",'dd-mon-yy')
Stores structural information about an object type in the repository
不能直接创建该对象,创建其它类型的时,Content server会自动创建一个dm_type的对象
3. ContentServer类型(type)的命名规范
dm_:(一般)代表通常应用的对象类型,例如dm_document,通常被用来存储文档。
dmr_:(只读)代表只读的对象类型,例如dmr_content,它存储了文件本身的信息。
dmi_:(内部)代表了内部对象类型,例如dmi_workitem,它存储了任务的信息。
dmc_(客户端)代表了支持客户端应用的对象类型,例如dmc_calendar对象,被协作服 务用来存储日历事件。
4.ContentServer属性命名规范
. r_:(只读)一般表示这个属性是由ContentServer管理,不能被用户或应用程序修改。例如r_object_id代表了对象的唯一ID。r_version_labe它是一个可重复的属性,不能为空,默认值由ContentServer提供,其他值由用户或客户端程序提供。
. i_: (内部)跟r_很类似,不同在于它仅限于ContentServer内部使用,一般对于用户和程序是不可见的。例如,Content Server通过i_chronicle_id(很有用)绑定了所有版本的文档到一个版本树下。
. a_: (应用程序)显示了这个属性通常由应用程序使用,可以被应用程序或用户修改。例如,文档的类型被存储在a_content_type里。这个属性帮助 webtop启动对应的桌面程序来打开文档。一般来说,其它三种格式的属性可以被视为系统的,或非应用程序的属性。
5.几个常见属性:
r_object_id:对象标识符ID,对象创建时自动增长并且唯一(详见5-17)。
i_is_replica:用来管理对象复制,决定某个对象是否是从其它内容库里复制过来的。
i_vstamp:管理对象的更新,该值用于内部支持锁定和版本,此属性基本上是用于版本控制,每次你更改保存到这个属性的值增加1,这也有助于检查对象的并发修改的对象。
一个属性值既可以是唯一值也可以为重复的。每个唯一属性只能有一个值,如object_name=’test.docx’, keywords=’John Doe’,'application’
6.dql支持的数据类型
Int/float/String/Date/ID
ID:用一个16字节字符串标识对象ID,是由系统自动分配的,用的时候要用单引号。
Date:包含TODYA,NOW,YESTERDAY,TORMORROW四个关键词
如:select * from dm_document where r_creation_date<Date(TODAY)
注意:创建type时可用的类型有:int、char(30)、string(30)、boolean、double、float
7.特殊关键字USER,只能在DQL中使用,不能在DFC方法中使用,表示当前用户
如:SELECT process_id, object_name FROM dm_workflow WHERE supervisor_name=USER
8.DQL中常用的函数:
标量函数:ASCII、UPPER、LOWER、SUBSTR等
集合函数:COUNT、MIN、MAX、AVG、SUM
Date函数:DATEFIFF、DATEADD、DATEFLOOR、DATETOSTRING
ID函数:如:SELECT * FROM "dm_document" WHERE FOLDER (ID('099af3ce800001ff'))
如:假设一个文档的属性r_createion_date的值为March 23,1996 9:30:45 am
Specifying Returns
DATEFLOOR(year,"r_creation_date") January 1, 1996 at 00:00:00
DATEFLOOR(month,"r_creation_date") March 1, 1996 at 00:00:00
DATEFLOOR(day,"r_creation_date") March 23, 1996 at 00:00:00
9.dql语句type操作
---------------------创建type
语法:CREATE TYPE type_name
[(property_def {,property_def})]
[WITH] SUPERTYPE parent_type 创建好后,返回新建类型的object_id
如:
CREATE TYPE "cus_mydoc" ( attr1 STRING(32) SPACEOPTIMIZE) SUPERTYPE "dm_document" -----------------------修改type
ALTER TYPE type_name
MODIFY (property_modifier_clause)[PUBLISH]
ALTER TYPE type_name
ADD property_def {,property_def}[PUBLISH]
如:
ALTER TYPE " cus_mydoc " ADD "monthly_total" integer
ALTER TYPE " cus_mydoc " MODIFY ("attr1" string(255))
-------------------------删除type
DROP TYPE type_name
10.dql语句object操作
-----------------------create---object
CREATE type_name OBJECT update_list
[,SETFILE 'filepath' WITH CONTENT_FORMAT='format_name']
{,SETFILE 'filepath' WITH PAGE_NO=page_number}
如:CREATE "dm_document" OBJECT
set "object_name"='testdoc',
SET "title" = 'Grant Proposal',
SET "subject" = 'Research Funding',
SETFILE 'c:\test.docx' WITH CONTENT_FORMAT='msw8',
SETFILE 'c:\test66.docx' WITH PAGE_NO=1
---------------------------update…object
UPDATE [PUBLIC]type_name [(ALL)]
[WITHIN PARTITION partition_id {,partition_id}]
OBJECT[S] update_list
[,SETFILE filepath WITH CONTENT_FORMAT=format_name]
{,SETFILE filepath WITH PAGE_NO=page_number}
[WHERE qualification]
如:UPDATE "dm_document" OBJECTS
SET "title" = 'A Cake Primer',
SET "subject" = 'cake',
INSERT "authors"[3] = 'georgette'
WHERE "r_object_id" = '090007354140004e'
-------------------delete…object
DELETE [PUBLIC]type_name[(ALL)]
[WITHIN PARTITION (partition_id {,partition_id})
OBJECT[S]
[WHERE qualification]
如:DELETE "dm_document" OBJECTS
WHERE "r_modify_date" < date('01/01/1970')
AND "owner_name" = 'joe'
11.select查询
(1)得到一个文件柜下的所有文档(包括版本)
select * from dm_document(all) where folder('/Temp',descend)
若获得文件柜下的当前版本文档:
select * from dm_document where folder('/Temp',descend)
(2).通过i_chronicle_id字段可以得到该文档的根版本,即升级前的原始版本
select r_object_id,i_chronicle_id,object_name from dm_document(all) where folder('/ProjectFile',descend)
(3).获取工作流attachements
select r_component_id,r_component_name from dmi_wf_attachment where r_workflow_id='4d0003e880001229'
(4).返回前10条数据
select * from dm_document enable(return_top 10)
(5).获取工作流信息
select task_name,task_state,* from dmi_queue_item where router_id=’workflowId’
(6).测试NULL和默认值NULLDATE、NULLSTRING、NULLINT、NULLID,注册表用NULL
select * from dm_user where user_address is nullstring
(7)返回指定组的用户成员
select user_name from dm_user where user_group_name='admingroup'
(8).查询属于一个虚拟文档的所有components
Select * from dm_sysobject IN DOCUMENT ID(‘object_id’) DESCEND
- Documentum基本类型详解
- C++基本内置类型详解
- Documentum基础知识
- Documentum 中编号标识和type类型的对应关系表(基础)
- Documentum 中编号标识和type类型的对应关系表(基础)
- java 基本类型详解 及 常见问题
- 【第2篇】TypeScript - 基本类型详解
- C++基本类型(内置类型)与字面值常量详解
- 在js中基本类型与引用类型的详解
- ES6-JS 基本类型和引用类型详解
- Python基本语法_基本数据类型_序列类型详解
- EMC Documentum 组件概述
- What is Documentum
- 再探DOCUMENTUM SESSION MANAGER
- Documentum Performance Tips
- Registered Tables in Documentum
- java基本类型、数组、集合对应的包装类详解
- Java基础之基本类型转换知识点详解
- 交叉编译protobuf
- Android第三个签名漏洞#9950697分析
- 分享一下本人的PR提升经验
- Linux 上的几个命令 dd, mv, rename
- 记录发布app
- Documentum基本类型详解
- Exception: `curl-config' not found -- please install the libcurl development files
- Flex动态组装GridColumn和获取自定义Object的属性
- android rom制作之bootimg的详细介绍和使用
- 善于经营的站长才是好站长
- T420i 简单拆机 (只拆两个螺丝清灰)
- ubuntu下设置静态ip 问题
- 10570 - Meeting with Aliens(枚举 贪心 数论)
- jQuery判断获得的对象是否存在的方法