Oracle表的创建与管理.ppt

上传人:小飞机 文档编号:6513619 上传时间:2023-11-08 格式:PPT 页数:45 大小:1.75MB
返回 下载 相关 举报
Oracle表的创建与管理.ppt_第1页
第1页 / 共45页
Oracle表的创建与管理.ppt_第2页
第2页 / 共45页
Oracle表的创建与管理.ppt_第3页
第3页 / 共45页
Oracle表的创建与管理.ppt_第4页
第4页 / 共45页
Oracle表的创建与管理.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《Oracle表的创建与管理.ppt》由会员分享,可在线阅读,更多相关《Oracle表的创建与管理.ppt(45页珍藏版)》请在三一办公上搜索。

1、第5章 Oracle 数据表的创建与管理,5.1 在OEM中创建和管理表5.2 运用SQL语句创建和管理表 5.3 数据完整性,5.1 在OEM中创建和管理表,5.1.1 创建数据表5.1.2 表的管理,5.1.1 创建数据表,1.使用控制台的工具箱在OEMC中,单击控制台工具箱的“创建”按钮,激活“创建”窗口,出现数据库列表。用鼠标单击数据库前的“+”,展开数据库对象类型。窗口中列出了可创建的所有数据库对象类型。其中“使用向导”表明选择此项,用户可以使用向导创建表;否则以手工方式创建表。,5.1.1 创建数据表,2.在导航器中,使用快捷菜单创建表在OEMC中,用鼠标右键单击“表”文件夹,弹出

2、的快捷菜单包括有“创建”和“使用向导创建”两个选项。“使用向导创建”的过程与使用控制台工具箱的使用向导创建完全相同。,5.1.2 表的管理,表的管理包括修改表的结构、输入表数据、修改表数据、表的数据查询、删除表等操作。1.修改表结构在OEMC树型视图中,在表文件夹下选择要进行管理的表,在右侧信息和工作区中会显示该表结构信息。,5.1.2 表的管理,一般信息的修改 对表的列进行设置、修改,例如增加列,删除列,设置列的名称、数据类型、大小、可否为空、默认值等。约束条件的修改对表的约束条件进行部分修改,如增加约束条件或删除约束条件。存储的修改 选项的修改 约束条件存储的修改,5.1.2 表的管理,2

3、.编辑表数据在OEMC树型视图中,鼠标右键单击欲要进行数据输入、修改、查询、删除操作的表,从快捷菜单中选择“查看/编辑目录”,出现表编辑器。通过表编辑器中可以查看、添加、更新和删除表中的数据。表编辑器右侧是电子表格,用于输入数据,相邻行为黄色和白色相间以便于区分。表编辑器下方的“应用”按钮用于确定本次输入;“还原”按钮用于取消输入,只能取消没有“应用”过的数据;“显示SQL”按钮是在没有点击“应用”按钮之前,显示本次输入操作的SQL语句。,5.1.2 表的管理,表编辑器的左侧是5个模式按钮,从上到下依次为:“更新表模式”:可以执行查看表、更新列、输入和修改数据、添加和删除行等操作。“图形化选择

4、模式”:可以执行查看表中各列和各种数据类型的列表,通过选择多栏列表的标题对各列排序,显示SQL等操作。,5.1.2 表的管理,“自由SQL模式”:可以执行插入、删除、更新和选择等操作。“空闲SQL历史记录”:只用在空闲SQL模式,并只显示输入内容的历史记录。“报告”:显示“为SQL日志生成报告”对话框,可以在该对话框中摘录信息,并以HTML或TXT等格式保存相应信息。,5.2 运用SQL语句创建和管理表,5.2.1 创建数据表5.2.2 数据表的管理5.2.3 向数据表中插入数据5.2.4 在数据表中删除数据5.2.5 对数据表中数据进行更新,5.2.1 创建数据表,CREATE TABLE

5、table_name(column1_name datatype DEFAULT expression column1_constraint|table_constraint,column2_name datatype DEFAULT expression column2_constraint|table_constraint),5.2.1 创建数据表,CLUSTER cluster_name(column1_name,column2_name)PCTFREE n PCTUSED n INITRANS n MAXTRANS n RECOVERABLE|UNRECOVERABLE TABLESP

6、ACE tablespace ENABLE|DISABLE AS subquery CACHE|NO CACHE STORAGE n,5.2.1 创建数据表,每个变量的具体含义table_name:将要创建的表的名称column_name:列的名字datatype:列中列的数据类型。expression:如果有的话,是列的DEFAULT值。这些值在INSERT省略该列的值时被使用。column1_constraint:column2_constraint将完整性限制定义为列定义的一部分。cluster_name:簇名,要在此处创建表的聚簇。n:任意正整数值。subquery:一个将要用来定义新

7、表的SQL SELECT语句,将由子查询返回的记录插入到建立的表中。,5.2.1 创建数据表,每个变量的具体含义PCTFREE表示块内预留的自由空间百分数;PCTUSED表块内已使用空间的最小百分数;CACHE指明该表经常被存取;INITRANS指定表的每一个数据块中分配的事务项初值;MAXTRANS指定可同时修改表的数据块的最大事务数;RECOVERABLE指定该表可恢复;,5.2.1 创建数据表,UNRECOVERABLE指定该表不可恢复;TABLESPACE指出当前定义的表放置在哪个表空间中。STORAGE子句用来控制分配给表的存储空间大小,以及当需要增长时如何使用空间。如果不指定存储子

8、句,该表使用缺省的存储参数。缺省情况下,表在创建时使用5个Oracle块,当需要增长时再分配5个Oracle块,以后每当增长存储空间时就分配比上一个区间大50%的附加空间,这样,表每次需要增长时都会要求越来越多的存储空间。,5.2.2 数据表的管理,1.修改表ALTER TABLE table_name ADD(column_name datatype DEFAULT expressioncolumn_constraint,n)MODIFY(datatypeDEFAULT expressioncolumn_constraint,n)STORAGE storage_clause DROP dro

9、p_clause,5.2.2 数据表的管理,其中:table_name:修改数据表的名称。ADD:增加一个列。MODIFY:修改已有列的定义。STORAGE:修改数据表的存储特征。DROP:从表中删除列或约束。,5.2.2 数据表的管理,2.删除表删除表的操作过程是在OEMC左面树型视图中选择要删除的表,单击鼠标右键,从快捷菜单中选择“移去”选项,则完成对该表的删除操作。删除一个表的SQL命令一般语法如下:DROP TABLE table_name CASCADE CONSTRAINTS,5.2.2 数据表的管理,DROP TABLE命令用于删除一个表和表中的所有行。参数CASCADE CON

10、STRAINTS表明所有指向本表的外部键将被删除掉。当删除一个表时,下面的对象也随之被删掉:表的索引、指向表的其他表的外键、表的触发器、表中的分区、角色和用户的权限、加在表上的约束条件。,5.2.2 数据表的管理,3.查询表信息通过DESCRIBE命令查看所创建的表结构信息,例如,查看教师信息表的命令为:DESCRIBE teacher_info;通过USER_TABLES字典查看用户表。一旦表被定义之后,其信息都被装在系统的数据字典之中。而数据字典中也就是一个个的表。例如USER_TABLES中是所有用户定义的表信息;USER_TAB_COLUMNS中是用户表的所有列信息;USER_CONS

11、TRAINTS表中是用户表的所有约束信息;USER_INDEX是用户表的索引信息;USER_TRIGGERS是用户触发器信息。,5.2.3 向数据表中插入数据,向数据表中插入数据采用INSERT语句,它有两种格式:采用VALUES子句由VALUES子句为各列提供指定数据。它的语法格式为:INSERT INTO table_name column_name1,column_name2 VALUES(constant1,constant2,);,5.2.3 向数据表中插入数据,其中,在INTO子句可以只将有值的列罗列出来,而不必将所有的列都列出来。如果DEFAULT VALUE被预先定义了,那么被

12、忽略的列的值将被置为DEFAULT VALUE。如果没有预先定义DEFAULT VALUE,那么对于INTO子句没有出现的属性列,新记录在这些列上将取空值。当值表(constant1,constant2,)中的值类型和表中的列的值类型完全匹配时,列的全部列表(column_name,column_name)可以被忽略。,5.2.3 向数据表中插入数据,采用子查询方式采用子查询方式为表提供插入数据,INSERT语句将子查询返回的结果集合数据插入到指定表中。它的语法格式为:INSERT INTO table_name column_name,column_name derived_tableder

13、ived_table是一个由SELECT语句查询所得到的结果集。利用该参数,可把一个表中的部分数据插入到表table_name中。,5.2.4 在数据表中删除数据,DELETE语句可以从指定表中删除符合条件的记录。DELETE语句格式为:DELETE FROM table_name|view_nameWHERE condition;该语句的功能为从table_name|view_name指定的表或视图删除满足condition查询条件的记录,若省略condition查询条件,则表示删除所有的行。,5.2.5 对数据表中数据进行更新,1.基本更新语句UPDATE table_name|view_

14、nameSET column_name=expression,nWHERE condition;该语句的功能是在table_name|view_name指定的表或视图中,对满足condition条件的记录,用expression表达式的值更新column_name列名所指定的列值。若省略WHERE子句中condition条件,语句将对表中的每一行进行更新。,5.2.5 对数据表中数据进行更新,2.使用子查询进行更新UPDATE table_name1|view_name1SET(column1_name,column2_name,)=(SELECT column_name1,column_na

15、me2,FROM table_name2|view_name2WHERE condition2)WHERE condition1,5.2.5 对数据表中数据进行更新,该语句的功能是用表table_name2或视图view_name2中满足条件(condition2)的列值(column_name1,column_name2,),去更新表table_name1或视图view_name1中满足条件(condition1)的列值(column1_name,column2_name,)。,5.3 数据完整性,5.3.1 数据完整性的分类5.3.2 约束的状态5.3.3 列完整性的实现5.3.4 行完整

16、性的实现5.3.5 参照完整性的实现,5.3.1 数据完整性的分类,数据的完整性是指数据库中的数据在逻辑上的一致性和准确性。一般地。可以把数据完整性分成3种类型:列完整性、行完整性和参照完整性。1.列完整性指定一个数据集对某一个列是否有效并确定是否允许为空值。,5.3.1 数据完整性的分类,2.行完整性要求表中的每一行有一个唯一的标识符,这个标识符就是主关键字。3.参照完整性参照完整性保证主表中的数据与从表(被参照表)中数据的一致性。,5.3.2 约束的状态,完整性约束有4种状态:禁止的非校验状态。这种状态表示该约束是不起作用的,即使该约束定义依然存储在数据字典中。禁止的校验状态。这种状态表示

17、对约束列的任何修改都是禁止的。这时,该约束上的索引都被删除,约束也被禁止。但是,这时仍然可以向表中有效地添加数据,即使是这些数据与约束有冲突也没有关系。,5.3.2 约束的状态,允许的非校验状态或强制状态。该状态可以向表中添加数据,但是与约束有冲突的数据不能添加。如果表中已存在的数据与约束冲突,这些数据依然可以存在。允许的校验状态。该状态表示约束处于正常的状态。这时,表中所有的数据,无论是已有的还是新添加的,都必须满足约束条件。,5.3.3 列完整性的实现,Oracle 9i可以通过CHECK约束实现列完整性。CHECK约束实际上是字段(列)输入内容的验证规则,表示一个字段的输入内容必须满足C

18、HECK约束的条件,若不满足,则数据无法正常输入。通过OEMC创建与删除CHECK约束请参见教材。利用SQL语句在创建表时创建CHECK约束。,5.3.3 列完整性的实现,CREATE TABLE table_name(column_name datatype NOT NULL|NULLDEFAULT constraint_expressionCONSTRAINT check_name CHECK(check_expression,n),5.3.3 列完整性的实现,利用SQL语句在修改表创建CHECK约束。ALTER TABLE table_name ADD(CONSTRAINT check_

19、name CHECK(check_expression)CHECK约束的删除可在OEM中进行,也可以利用SQL命令删除CHECK约束。ALTER TABLE table_name DROP CONSTRAIMT check_name,5.3.4 行完整性的实现,1.利用OEMC创建和删除PRIMARY KEY或UNIQUE约束利用OEMC创建和删除PRIMAY KEY或UNIQUE约束的操作过程同利用OEMOEMC创建和删除CHECK约束基本相同,唯一的区别是在选择约束类型时选择PRIMAY KEY或UNIQUE约束。2.利用SQL语句创建和删除PRIMAY KEY及UNIQUEN约束,5.3

20、.4 行完整性的实现,创建表的同时创建PRIMAY KEY或UNIQUE约束。CREATE TABLE table_name(column_name datatype CONSTRAINT constraint_name NOT NULL PRIMARY KEY|UNIQUE.n),5.3.4 行完整性的实现,利用修改表创建PRIMAY KEY或UNIQUE约束。ALTER TABLE table_name ADD(CONSTRAINT constraint_name PRIMARY KEY(column_name,.n)说明:这是创建PRIMAY KEY约束,ADD CONSTRAINT表示

21、对table_name表增加一个约束,约束名由constraint_name指定,约束类型为PRIMARY KEY。索引字段由column_name参数指定,可包含一列或多列。,5.3.4 行完整性的实现,ALTER TABLE table_name ADD(CONSTRAINT constraint_name UNIQUE(column_name.n)删除PRIMARY KEY 或UNIQUE约束。ALTER TABLE table_name DROP CONSTRAINT constraint_name,.n;,5.3.5 参照完整性的实现,对两个相关联的表(主表与从表)进行数据插入和删除

22、操作时,通过参照完整性保证它们之间数据的一致性。利用FOREIGN KEY定义从表的外键,FOREIGN KEY约束定义主表中的主键(不允许为空),可实现主表与从表之间的参照完整性。定义表间参照关系,可先定义主键,再对从表定义外键约束(根据查询的需要可先对从表的该列创建索引)。,5.3.5 参照完整性的实现,建表时同时定义外键约束。CREATE TABLE table_name(column_name datatype FOREIGN KEY REFERENCE ref_table(ref_column),n 通过修改表定义外键约束。ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY(column,.n)REFERENCES ref_table(ref_column,.n),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号