- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 表的创建和管理;7.1 表概述; 在逻辑结构上,表位于某个表空间。当创建一个表时,将同时创建一个段,专门用来存放表中的数据。在物理结构上,表中的数据都存放在数据块中,因而在数据块中存放的是一行的数据。表的结构主要由列组成,包括列名称、数据类型、数据长度、比例(针对数值型的数据)、约束等信息。
在Oracle数据库中根据不同用途有多种类型的表,如堆表、临时表、索引组织表和分区表等。;2. 临时表(Temporary Table) 临时表是一种特殊类型的表,表中的数据并不永久保存,而是???些临时数据。这些临时数据只在当前事务或当前会话中有效,当事务或会话结束时,这些临时数据将被全部删除。
3. 索引组织表(Index Organized Table) 索引组织表是一种特殊类型的表,它把表中的数据和表的索引存放在同一个段中,并以B*树的方式组织在一起,从而加快表的查询速度。在索引组织表中必须有一个主键,表中的数据按照主键进行排序,在B*树的叶块中同时存储主键列和非主键列。;Oracle数据库中表和列的命名规则如下:
● 长度30个字节之内。
● 必须以字母开头。
● 由字母、数字、_、#、$组成。
● 不能使用保留字。
● 非法的命名,可以用“”括起来。
● 一个表内列名要唯一。
● 表名在名称空间内必须唯一。
对数据库设计人员、开发和管理人员,在创建表之前都要做好表的设计工作,包括如下:
● 为表中各个字段选择合适的数据类型;
● 确定表的完整性约束类型
● 根据需求决定创建的表类型;7.1.2 表的数据类型;7;7.1.3 表的约束类型;7.2 创建表;语法中的各选项说明:
● table_name 指定要分配给该表的名称。
● column_name 指定要分配给某个列的名称。
● type 指定某个列的类型。
● constraint_def 指定对某个列的约束。
● default_exp 指定一个表达式,用来为某个列赋予默认值。
● ON COMMIT控制临时表中行的有效期。DELETE说明这些行在事务的末尾要被删除。PRESERVE说明这些行在用户会话的末尾要被删除。如果对临时表没有指定ON COMMIT选项,那么默认值是DELETE。;SQLCREATE TABLE Sys_User
2 (UserID Number Primary Key,
3 UserName Varchar2(20) NOT NULL,
4 UserType Number(1),
5 UserPwd Varchar2(40),
6 Remark Varchar2(200)
7 );
表已创建。; 表创建成功后,可以通过DESCRIBE命令查看表的描述,如图7-1所示。;【例7-2】重新创建表Sys_User,要求创建的时候指明表空间和数据块管理参数。代码如下:;例7-2中各参数的相关说明如下:
● TABLESPACE:指定将表创建在哪个表空间上,如果不指定该子句,用户将在自己的默认表空间上创建表。
● PCTFREE与PCTUSED:用于控制数据块中空闲空间的使用方法。PCTFREE和PCTUSED的值必须小于或等于100%。PCTFREE和PCTUSED之和越接近100%,数据块的利用率越高。如果执行UPDATE操作比较多,可以将PCTFREE设置的尽量大一点,推荐设置PCTFREE为20%,PCTUSED为40%。如果在一个表上执行INSERT和DELETE操作比较多,并且UPDATE操作不会增加记录的大小时,可以将PCTFREE设置的比较小,推荐设置PCTFREE为5,PCTUSED为60。; ● CACHE:用于指定将表中的数量放在数据库高速缓存中,并保留一段时间。如果在创建表是指定了该参数,那么在用户第一次访问表中的数据时,这个表将整个被读到数据库高速缓存中,并保留较长一段时间,这样用户以后再访问该表时,可直接访问数据库高速缓存中的数据,从而提高访问效率。
● LOGGING:在默认情况下,用户在表上执行DDL和DML命令时,服务器进程都会产生重做日志。如果不希望产生重做日志,可以在创建表时指定NOLOGGING子句。使用了NOLOGGING子句可以减少处理时间,由于不写重做日志,也可节约了重做日志的存储空间,同时在以并行方式向表中写入大量数据时提高了效率。但是,由于没有重做日志,当表被破坏时,将无法进行恢复。
● COMPRESS:如果使用了该子句,则一个数据块中两行完全相同的数据将被压缩为一行,并存储在数据块的开始,在数据块中本应存储这两行数据的地方只存储该行数据的应用。使用表的压缩功能可以减少表所占用的存储空间和数据库高速缓存空间,并且可以提高查询速度。;7.2.3 使用OEM工具
原创力文档


文档评论(0)