oracle数据库中的表与视图

oracle数据库中的表与视图

ID:8807642

大小:54.00 KB

页数:9页

时间:2018-04-08

oracle数据库中的表与视图_第1页
oracle数据库中的表与视图_第2页
oracle数据库中的表与视图_第3页
oracle数据库中的表与视图_第4页
oracle数据库中的表与视图_第5页
资源描述:

《oracle数据库中的表与视图》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、oracle数据库中的表与视图Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。  表和视图  Oracle中表是数据存储的基本结构。ORACLE8引入了分区表和对象表,ORACLE8i引入了临时表,使表的功能更强大。视图是一个或多个表中数据的逻辑表达式。本文我们将讨论怎样创建和管理简单的表和视图。  管理表  表可以看作有行和列的电子数据表,表是关系数据库中一种拥有数据的结构。用CREATETABLE语句建立

2、表,在建立表的同时,必须定义表名,列,以及列的数据类型和大小。例如:CREATETABLEproducts  (PROD_IDNUMBER(4),   PROD_NAMEVAECHAR2(20),   STOCK_QTYNUMBER(5,3)  );  这样我们就建立了一个名为products的表,关键词CREATETABLE后紧跟的表名,然后定义了三列,同时规定了列的数据类型和大小。  在创建表的同时你可以规定表的完整性约束,也可以规定列的完整性约束,在列上普通的约束是NOTNULL,关于约束的讨论我们在以后进行。  在建立或更改表时,可以给表一个缺省值。缺

3、省值是在增加行时,增加的数据行中某一项值为null时,oracle即认为该值为缺省值。  下列数据字典视图提供表和表的列的信息:   .DBA_TABLES   .DBA_ALL_TABLES   .USER_TABLES   .USER_ALL_TABLES   .ALL_TABLES   .ALL_ALL_TABLES   .DBA_TAB_COLUMNS   .USER_TAB_COLUMNS   .ALL_TAB_COLUMNS  表的命名规则  表名标识一个表,所以应尽可能在表名中描述表,oracle中表名或列名最长可以达30个字符串。表名应该以字母

4、开始,可以在表名中包含数字、下划线、#、$等。  从其它表中建立表  可以使用查询从基于一个或多个表中建立表,表的列的数据类型和大小有查询结果决定。建立这种形式的表的查询可以选择其他表中所有的列或者只选择部分列。在CREATETABLE语句中使用关键字AS,例如:SQL>CREATETABLEempASSELECT*FROMemployeeTABLECREATEDSQL>CREATETABLEYASSELECT*FROMXWHEREno=2  需要注意的是如果查询涉及LONG数据类型,那么CREATETABLE....ASSELECT....将不会工作。  更

5、改表定义  在建立表后,有时候我们可能需要修改表,比如更改列的定义,更改缺省值,增加新列,删除列等等。ORACLE使用ALTERTABLE语句来更改表的定义  1、增加列  语法:ALTERTABLE[schema.]table_nameADDcolumn_definition  例:ALTERTABLEordersADDorder_dateDATE;TABLEALTER  对于已经存在的数据行,新列的值将是NULL.  2、更改列  语法:ALTERTABLE[schema.]table_nameMODIFYcolumn_namenew_attributes

6、;  例:ALTERTABLEordersMODITY(quantitynumber(10,3),statusvarchar2(15));  这个例子中我们修改了表orders,将STATUS列的长度增加到15,将QUANTITY列减小到10,3;  修改列的规则如下:   .可以增加字符串数据类型的列的长度,数字数据类型列的精度。   .减少列的长度时,该列应该不包含任何值,所有数据行都为NULL.   .改变数据类型时,该列的值必须是NULL.   .对于十进制数字,可以增加或减少但不能降低他的精度。  3、删除数据列  优化ORACLE数据库,唯一的方法

7、是删除列,重新建立数据库。在ORACLE8i中有很多方法删除列,你可以删除未用数据列或者可以标示该列为未用数据列然后删除。  删除数据列的语法是:ALTERTABLE[schema.]table_nameDROP{COLUMcolumn_names

8、(column_names)}[CASCADECONSTRAINS]  要注意的是在删除列时关于该列的索引和完整性约束也同时删除。注意关键字CASCADECONSTRAINS,如果删除的列是多列约束的一部分,那么这个约束条件相对于其他列也同时删除。  如果用户担心在大型数据库中删除列要花太多时间,可以先将他们标记为

9、未用数据列,标记未用数据列的语法如下:

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

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

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