DB2数据库对象基础知识.doc

DB2数据库对象基础知识.doc

ID:58061191

大小:654.50 KB

页数:17页

时间:2020-04-21

DB2数据库对象基础知识.doc_第1页
DB2数据库对象基础知识.doc_第2页
DB2数据库对象基础知识.doc_第3页
DB2数据库对象基础知识.doc_第4页
DB2数据库对象基础知识.doc_第5页
资源描述:

《DB2数据库对象基础知识.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理,勿做商业用途2数据库对象基本数据库对象数据库对象是一个数据库的构造块()。2提供了不同类型的数据库对象来存储和表示不同信息。通过使用数据定义语言(),可以创建、修改和删除数据库对象。要操纵数据库对象,可以使用数据操纵语言(),例如、、和语句。常用的数据库对象有:表用户定义数据类型约束视图索引除了教程里介绍的一些数据库对象外,还有一些其他的对象,很多开发人员在开发2应用程序时会发现这些对象比较有用。本节我们将介绍这些对象。在继续之前,有一点要注意:在下面看到的一些例子中,对象名称是以小写形式指定的。无论2在哪个平台上运行,它总是以大写形式存储名称,除非标识符的名称以双引号("

2、")括起来了。例如,下面的语句创建一个名为(小写)的表,该表的列定义与表(大写)是一样的。""别名别名()是指一个已有的表、视图的另一个名称,也叫昵称()。别名也可以作为另一个别名的昵称。与这些对象一样,别名也可以被创建或删除,可以有与之相关的注释。下面是语句的一些例子:11;11;21;可以看到,语句比较简单。可以在源对象所在的同一模式中创建别名(如第1行),或者也可以全限定别名(如第2行)。为了与2兼容,使用关键字代替也是合法的(如第3行)。17/17个人收集整理,勿做商业用途使用别名时无需专门的授权或权限。不过,需要获得与别名所引用的底层对象相关的授权。关于数据库对象权限的完整清单

3、,请参考2认证教程(请参阅参考资料)。前面已提到,我们也可以为昵称创建别名。昵称是引用位于联邦系统上的数据表或视图的数据库对象。联邦数据库支持超出了本教程的范围。在本教程系列的第2部分,,我们将学习更多有关联邦系统的知识。要为别名添加注释,可以发出以下语句:1'1'要删除一个别名,使用语句,这与所有其他数据库对象是一样的:1序列对象序列()是一种数据库对象,这种对象允许自动生成值。序列对象与标识列()不同,标识列是要与一个特定的表绑在一起的,而序列是一种全局的、独立的对象,同一个数据库中的任何表都可以使用它。标识列是序列对象的一种特例。因此,标识列的特征也适用于序列对象。下面就例释了一条

4、语句:3601020任何包括0在内的数字数据类型都可用于序列值。这些类型包括、、或。基于这些数据类型的任何用户定义独特类型()也都可以用于序列值。这进一步扩展了用户定义独特类型在应用程序中的使用。如上面的例子所示,您可以为序列对象指定起始值,从而自定义序列对象。在这个例子中,序列的第一个值是360。后续值的生成是由子句控制的。这里还支持正、负常量,以产生升序和降序值。17/17个人收集整理,勿做商业用途缺省情况下,一个序列所生成的最小值和最大值是由该序列数据类型的取值范围来界定的。例如,类型的序列值必须处在-2,147,483,647到2,147,483,647之间的范围内。在2中可以找

5、到所有数字数据类型的取值范围。为了改变这种缺省行为,可以使用和选项来为生成的值设置一个边界。如果达到了最小值或最大值,那么可以使用另一个选项,即或来规定序列值是否应该循环。注意,如果生效,则序列就可以生成重复的值。选项允许2将一些预先分配好空间的值保留在内存中,以提高性能。20是缺省的行为。关于这个选项有一点要谨记:如果在所有缓存的值被使用之前关闭2,那么任何缓存的值和未使用的值都将被丢弃。当2重新启动时,又会生成和缓存下一块的值,从而造成值之间的不连续,即值之间存在间隔。如果应用程序不允许值之间有间隔,可以考虑使用选项。如果没有使用缓存,则性能就会下降,因为要频繁地生成序列数字。每当生

6、成一个新值的时候,都会写下一条日志记录。因此,更高效的做法是根据请求来获取值,并将这些值缓存在内存中。通过语句,可以更改序列对象的特征。除了序列值的数据类型以外,上面所讨论的所有的设置都可以修改。要获得完整的语法,请参考2(请参阅参考资料)。删除一个序列对象与删除任何其他的数据库对象是一样的,不同之处是这里还要使用到一个关键字。这样可以防止在有依赖的情况下删除序列。生成和获取序列值序列是一种数据库对象,因此对序列的访问也是由权限来控制的。缺省情况下,只有序列的创建者,即和拥有该对象的权限。如果希望其他用户也能够使用序列,则需要使用下面的语句:有两种表达式可用于生成和获取序列值。用于获取下

7、一个序列值,而则用于获取上一个生成的序列值。下面的例子例释了这些表达式的使用。t1(,'');t1(,'');;t1(,'');;t1(,'');17/17个人收集整理,勿做商业用途假设我们以一个空表t1开始,的下一个序列值是1。如果禁用了,则在执行上述语句之后,t1将包含下面几行:11243(s).虽然为生成的值被回滚了,但是2并没有再次使用它。因而,下一个为生成的序列值就是4,而不是3。这个例子中的最后一条语句展示了如何使用表达

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。