设为首页 收藏本站
查看: 2066|回复: 0

[经验分享] DB2 9 基础(730 检修)认证指南,第 5 局部: 措置 DB2 工具(2)

[复制链接]

尚未签到

发表于 2016-11-19 05:58:34 | 显示全部楼层 |阅读模式
  











  数据模范榜样

  DB2 供给了一套富厚且活络的数据模范榜样。DB2 附带 INTEGER、CHAR 和 DATE 等根本数据模范榜样。它还供给了竖立用户界说的数据模范榜样(UDT)的器材,运用户能够竖立重大的非传统的数据模范榜样,从而适该当今重大的编程气候。在给定的气候下,选用哪种数据模范榜样取决于列中存储的信息的模范榜样和范畴。

  内置的数据模范榜样分为四类:数字、字符串、日期光阴和 XML。

  用户界说的数据模范榜样分为:单值模范榜样、结构化模范榜样和援用模范榜样。

  数字数据模范榜样


  如上图所示,数字数据模范榜样又可分为三类。这些模范榜样在可以存储的数字数据的范畴和精度方面有所不同。

  • 整数:SMALLINT、INTEGER 和 BIGINT 用来存储整数。例如,库存数量可以界说为 INTEGER。SMALLINT 可以在 2 个字节中存储从 -32,768 到 32,767 的整数。INTEGER 可以在 4 个字节中存储从 -2,147,483,648 到 2,147,483,647 的整数。BIGINT 可以在 8 个字节中存储从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数。
  • 小数:DECIMAL 用来存储有小数局部的数字。要界说这个数据模范榜样,需要指定精度 (p,泄漏表现总的位数)和小数位 (s,泄漏表现小数点左边的位数)。界说为 DECIMAL(10,2) 的列可以留存的金额最高可为 99999999.99。数据库中需要的存储空间托付于精度,依据公式 p/2  1 较量争论。所以 DECIMAL(10,2) 需要 10/2   1 (即 6)字节。
  • 浮点数:REAL 和 DOUBLE 用来存储数字的相似值。例如,极度小或极度大的迷信计量值可以界说为 REAL。REAL 可以界说为具有 1 到 24 位之间的长度,需要 4 字节的存储空间。DOUBLE 可以界说为具有 25 到 53 位之间的长度,需要 8 字节的存储空间。FLOAT 可以视为 REAL 或 DOUBLE 的同义词。













  字符串数据模范榜样


  如上图所示,DB2 为存储字符数据或字符串供给了几种数据模范榜样。凭据要存储的字符串的大小和字符串中的数据来选择数据模范榜样。

  下面的数据模范榜样用来存储单字节字符串:

  • CHAR 或 CHARACTER 用来存储最多 254 字节的稳固长度的字符串。例如,制造商可以给零件分配一个 8 字符长度的标识符,因此这些标识符在数据库中存储为 CHAR(8) 模范榜样的列。
  • VARCHAR 用来存储可变长度的字符串。例如,制造商用不同长度的标识符泄漏表现大量零件,因此这些标识符存储为 VARCHAR(100) 模范榜样的列。VARCHAR 列的最大长度为 32,672 字节。在数据库中,VARCHAR 数据只占用恰恰所需的空间。


  下面的数据模范榜样用来存储双字节字符串:

  • GRAPHIC 用来存储稳固长度的双字节字符串。GRAPHIC 列的最大长度是 127 个字符。
  • VARGRAPHIC 用来存储可变长度的双字节字符串。VARGRAPHIC 列的最大长度是 16,336 个字符。


  DB2 还供给了存储极度长的字符串数据的数据模范榜样。一切长字符串数据模范榜样都具有相似的特征。首先,在数据库中此数据在物理上并没有与行数据存储在一路,这意味着需要举办额定措置才干会晤此数据。长数据模范榜样的长度最大可以界说为 2GB。然则,需要的空间只是理想运用的空间。长数据模范榜样有:

  • LONG VARCHAR
  • CLOB(字符大工具)
  • LONG VARGRAPHIC
  • DBCLOB(双字节字符大工具)
  • BLOB(二进制大工具)













  日期光阴数据模范榜样

  DB2 供给了三种存储日期和光阴的数据模范榜样:

  • DATE
  • TIME
  • TIMESTAMP


  这些数据模范榜样的值在数据库中存储为一种内部格式;然则操纵递次可以将其作为字符串操纵。在检索这些数据模范榜样之临时,它被泄漏表现为字符串。在更新这些数据模范榜样时,将值包抄在引号中。

  DB2 供给了操纵日期光阴值的内置函数。例如,可以运用 DAYOFWEEK 或 DAYNAME 函数断定一个日期值是星期几。运用 DAYS 函数较量争论两个日期之间相差几多天。DB2 还供给了迥殊存放器以凭据光阴-日期时钟天生以后日期、光阴或光阴戳。例如,CURRENT DATE 前往一个泄漏表现系统上的以后日期的字符串。

  日期和光阴值的格式取决于在竖立数据库时指定的数据库国家编码。有几种可用的格式:ISO、USA、EUR 和 JIS。例如,如果数据库运用 USA 格式,那么日期值的格式是 mm/dd/yyyy。在竖立操纵递次时,可以运用 BIND 下令的 DATETIME 选项窜改格式。

  TIMESTAMP 数据模范榜样只需一种格式。字符串泄漏表现是 yyyy-mm-dd-hh.mm.ss.nnnnnn。













  XML 数据模范榜样

  DB2 供给了 XML 数据模范榜样来存储格式优越的 XML 文档。

  XML 列中的值存储为与字符串数据模范榜样差此外内部泄漏表现。要在 XML 数据模范榜样的列中存储 XML 数据,需要运用 XMLPARSE 函数对数据举办转换。可以运用 XMLSERIALIZE 函数将 XML 数据模范榜样的值转换为 XML 文档的串行化字符串值。DB2 还供给了许多其他的内置函数来操纵 XML 数据模范榜样。













  用户界说的数据模范榜样

  DB2 答理用户界说适合自己操纵递次的数据模范榜样。有三种用户界说的数据模范榜样:

  • 用户界说的单值模范榜样:基于内置模范榜样界说新的数据模范榜样。这个新模范榜样具有该内置模范榜样沟通的功用,但可以运用它确保只比较沟通模范榜样的值。例如,可以基于 DECIMAL(10,2) 界说一个加元模范榜样(CANDOL)和一个美元模范榜样(USADOL)。这两种模范榜样都基于统一种内置模范榜样,但除非操纵转换函数,不然无法比较它们。下面是竖立 CANDOL 和 USADOL UDT 的 CREATE TYPE 语句:
    CREATE DISTINCT TYPE CANDOL AS DECIMAL(10,2) WITH COMPARISONS
    CREATE DISTINCT TYPE USADOL AS DECIMAL(10,2) WITH COMPARISONS




      DB2 自动天生函数来实验根本模范榜样和单值模范榜样之间的强迫转换,还自动天生用于比较单值模范榜样实例的比较操纵符。下列语句表现了如何竖立带有 CANDOL 模范榜样列的表,以及如何运用 CANDAL 强迫转换函数向表中拔出数据:
    CREATE TABLE ITEMs (ITEMID CHAR(5), PRICE CANDOL )
    INSERT INTO ITEMs VALUES('ABC11',CANDOL(30.50) )
  • 用户界说的结构化模范榜样:竖立由几个内置模范榜样列构成的模范榜样。然后,可以在竖立表时运用这个结构化模范榜样。例如,可以竖立一种名为 ADDRESS 的结构化模范榜样,它包孕泄漏表现街道号码、街道名、都市之类的数据。然后在界说其他表(如职工表或许供给商表)时运用这种模范榜样,因为这些表也需要异常的数据。其他,结构化模范榜样还可以在层次结构中有子模范榜样。这就答理将属于某一层次结构的工具存储在数据库中。
  • 用户界说的援用模范榜样:在运用结构化模范榜样时,可以运用援用模范榜样界说对另一个表中行的援用。这些援用看起来与参照约束相似,但是,它们不强迫表间有关系。表中的援用答理用差此外方式指定盘问。


  用户界说的结构化和援用模范榜样是初级主题;这里的信息只作为对这些模范榜样的介绍。













  DB2 扩展器

  DB2 扩展器支持重大的、非传统的数据模范榜样。它们与 DB2 处事器代码分开绝断离散打包,必需布置在处事器上,并必需布置在运用那些数据模范榜样的每个数据库中。

  IBM 和自力软件供给商供给许多 DB2 扩展器。IBM 最早供给的四个扩展器用于存储音频、视频、图像和文本数据。例如,DB2 Image Extender 可用于存储一本书的封面图像,而 DB2 Text Extender 可用于存储书的注释。而今,另有其他几个扩展器可用。DB2 Spatial Extender 可以用来存储和剖析空间数据,XML Extender 用来管理 XML 数据。

  DB2 扩展器是用用户界说模范榜样和用户界说函数(UDF)的特征完成的。每个扩展器供给一个或多个 UDT、用于操纵 UDT 的 UDF 和特定的操纵递次编程接口(API),或许还供给其他器材。例如,DB2 Image Extender 包孕:

  • DB2IMAGE UDT
  • 在 db2image 列中拔出数据或从该列检索数据的 UDF
  • 凭据图像特征举办搜刮的 API


  在运用这些数据模范榜样之前,必需把扩展器支持布置在数据库中。每个扩展器的布置进程界说了数据库中所需的 UDT 和 UDF。然后,就可以在界说表时运用 UDT,在措置数据时运用 UDF。(关于 DB2 扩展器的更多信息见 本系列的第一篇教程。)

  XML 数据模范榜样是 DB2 9 中新增的,供给了用于措置 XML 文档的初级特征。运用 XML Extender 的操纵递次和数据必需迁移为运用 DB2 中的本机 XML 支持。


版权声明:
原创作品,答理转载,转载时请务必以超链接情势标明文章 原始出处 、作者信息和本声明。不然将穷究司法责任。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-302234-1-1.html 上篇帖子: DB2时间函数 实现 时间加减 下篇帖子: Sybase脚本移植到DB2中
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表