《Oracle第4章数据表操作.pptx》由会员分享,可在线阅读,更多相关《Oracle第4章数据表操作.pptx(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章 数据表操作v主编:刘志成培训专用本章学习导航本章学习导航本章学习导航本章学习导航 培训专用本章学习要点本章学习要点(1)使用)使用OEM创建、修改、查看和删除数据表。创建、修改、查看和删除数据表。(2)使用)使用SQL Developer创建、修改、查看和删除数据创建、修改、查看和删除数据表。表。(3)使用)使用PL/SQL创建、修改、查看和删除数据表。创建、修改、查看和删除数据表。(4)添加、删除和修改数据表中的)添加、删除和修改数据表中的记录记录。(5)数据完整性数据完整性概述。概述。(6)非空、默认、唯一、检查、主键和外键约束操作。)非空、默认、唯一、检查、主键和外键约束操作。(
2、7)管理)管理序列序列和和同义词同义词。建议课时:建议课时:8课时课时培训专用4.1 数据库概述 数据表基础数据表基础l数据表(数据表(Table)是数据在)是数据在Oracle数据库中的逻辑存储单元,按指定关系模式数据库中的逻辑存储单元,按指定关系模式将数据存储在对应的数据表中。将数据存储在对应的数据表中。培训专用4.1 数据库概述 OracleOracle基本数据类型基本数据类型l数据类型的作用在于指明存储数值时需要占据的内存空间大小和进行运算的依据。数据类型的作用在于指明存储数值时需要占据的内存空间大小和进行运算的依据。lOracle的数据类型分为标量(的数据类型分为标量(Scalar)
3、类型、复合()类型、复合(Composite)类型、引用)类型、引用(Reference)类型和)类型和LOB(Large Object)类型)类型4种类型种类型。培训专用4.1 数据库概述 OracleOracle基本数据类型基本数据类型(1)CHAR(n)该数据类型用于定义固定长度的字符串,其中该数据类型用于定义固定长度的字符串,其中n用于指定字符串的最大长度,用于指定字符串的最大长度,n必必须是正整数且不超过须是正整数且不超过32767。(2)VARCHAR2(n)该数据类型用于定义可变长度的字符串,其中该数据类型用于定义可变长度的字符串,其中n用于指定字符串的最大长度,用于指定字符串的
4、最大长度,n必须必须是正整数且不超过是正整数且不超过32767。(3)NUMBER(precision,scale)该数据类型用于定义固定长度的整数和浮点数,其中该数据类型用于定义固定长度的整数和浮点数,其中precision表示精度,用于表示精度,用于指定数字的总位数;指定数字的总位数;scale表示标度,用于指定小数点后的数字位数,默认值为表示标度,用于指定小数点后的数字位数,默认值为0,即,即没有小数位数。没有小数位数。培训专用4.1 数据库概述 OracleOracle基本数据类型基本数据类型(4)DATE该数据类型用于定义日期时间类型的数据,其数据长度为固定该数据类型用于定义日期时间
5、类型的数据,其数据长度为固定7个字节,分别描述个字节,分别描述年、月、日、时、分、秒。年、月、日、时、分、秒。(5)TIMESTAMP该数据类型也用于定义日期时间数据,但与该数据类型也用于定义日期时间数据,但与DATE仅显示日期不同,仅显示日期不同,TIMESTAMP类类型数据还可以显示时间和上下午标记,如型数据还可以显示时间和上下午标记,如“11-9月月-2007 11:09:32.213 AM”。(6)BOOLEAN该数据类型用于定义布尔型(逻辑型)变量,其值只能为该数据类型用于定义布尔型(逻辑型)变量,其值只能为TRUE(真)、(真)、FALSE(假)或(假)或NULL(空)。需要注意的
6、是,该数据类型是(空)。需要注意的是,该数据类型是PL/SQL数据类型,不能应用于表列。数据类型,不能应用于表列。培训专用4.1 数据库概述 方案的概念方案的概念l方案,就是一系列数据库对象的集合,是数据库中存储数据的一个方案,就是一系列数据库对象的集合,是数据库中存储数据的一个逻辑表示或描述逻辑表示或描述。lOracle 11g数据库中并不是所有的数据库对象都是方案对象,数据库中并不是所有的数据库对象都是方案对象,方案对象方案对象有表、索引、触有表、索引、触发器、数据库链接、发器、数据库链接、PL/SQL包、序列、同义词、视图、存储过程、存储函数等,包、序列、同义词、视图、存储过程、存储函数
7、等,非方案非方案对象对象有表空间、用户、角色、概要文件等。有表空间、用户、角色、概要文件等。l在在Oracle 11g数据库中,每个用户都拥有自己的方案,创建了一个用户,就创建了数据库中,每个用户都拥有自己的方案,创建了一个用户,就创建了一个同名的方案,一个同名的方案,方案与数据库用户是对应方案与数据库用户是对应的。的。l用户在数据库中创建了一个方案对象后,这个方案对象默认地属于这个用用户在数据库中创建了一个方案对象后,这个方案对象默认地属于这个用户的方案。户的方案。培训专用课堂案例1使用OEM创建GOODS表 掌握Oracle中应用OEM创建数据表的方法和基本步骤 案例学习目标案例学习目标
8、进入OEM表编辑页面、列的数据类型的选择、OEM创建表的基本步骤。案例知识要点案例知识要点 培训专用课堂案例1使用OEM创建GOODS表案例完成步骤案例完成步骤 (1)启动)启动OEM后,依次选择后,依次选择“方案方案”、“表表”。进入。进入“表表”页面页面。(2)单击)单击“创建创建”按钮,进入按钮,进入“创建表:表组织创建表:表组织”页面,页面,选择默认的选择默认的“标准(按堆组织)标准(按堆组织)”方式。方式。(3)单击)单击“继续继续”按钮,进入按钮,进入“表一般信息表一般信息”页面。指写页面。指写表名为表名为GOODS,方案为,方案为SCOTT,表空间为,表空间为TS_EBUY。并依
9、次。并依次填写填写GOODS表中的每一列的名称和数据类型表中的每一列的名称和数据类型。(4)单击)单击“确定确定”按钮,完成新表的创建。并返回到对应的方案按钮,完成新表的创建。并返回到对应的方案页面页面。教教师师演演示示讲讲解解培训专用课堂案例2使用OEM修改GOODS表 掌握Oracle中应用OEM修改数据表的方法。案例学习目标案例学习目标 进入表的编辑页面、列数据类型的修改、列的宽度的修改、添加新列、删除已有列。案例知识要点案例知识要点 培训专用课堂案例2使用OEM修改GOODS表案例完成步骤案例完成步骤 (1)启动)启动OEM后,依次选择后,依次选择“方案方案”、“表表”,进入,进入“表
10、表”页面,指定要操作的方案(如页面,指定要操作的方案(如SCOTT)后,单击)后,单击“确定确定”按钮,按钮,即显示出指定方案中包含的表即显示出指定方案中包含的表。(2)选择指定的表(如)选择指定的表(如GOODS),单击),单击“编辑编辑”按钮,进入表的按钮,进入表的编辑页面。在该页面中可以完成对表名、列名、列类型等的修改编辑页面。在该页面中可以完成对表名、列名、列类型等的修改(3)修改完成后,单击)修改完成后,单击“应用应用”按钮,保存修改结果按钮,保存修改结果。教教师师演演示示讲讲解解培训专用4.2.3 使用OEM查看和删除表 OEMOEM查看表查看表 (1)启动)启动OEM后,进入指定
11、方案(如后,进入指定方案(如SCOTT)的)的“表表”页面。页面。(2)选择要查看的表后,单击)选择要查看的表后,单击“查看查看”按钮,即可查看到表的按钮,即可查看到表的一般信息。一般信息。教师教师演示演示讲解讲解 培训专用4.2.3 使用OEM查看和删除表 OEMOEM删除表删除表 (1)在指定方案的)在指定方案的“表表”页面,选择要删除的表(如:页面,选择要删除的表(如:GOODS),单击),单击“使用选项删除使用选项删除”按钮,进入按钮,进入“确认确认”页面。页面。(2)单击)单击“是是”按钮,根据指定的选项完成对指定表的删除操作。按钮,根据指定的选项完成对指定表的删除操作。教师教师演示
12、演示讲解讲解 培训专用课堂案例3使用SQL Developer创建Users表 掌握Oracle中应用SQL Developer创建数据表的一般步骤和方法。案例学习目标案例学习目标 SQL Developer的启动、SQL Developer的登录、SQL Developer中数据类型的选择、SQL Developer中创建表的步骤、SQL Developer中数据表列的操作方法。案例知识要点案例知识要点 培训专用课堂案例3使用SQL Developer创建Users表案例完成步骤案例完成步骤 (1)启动)启动SQL Developer并建立和并建立和Oracle 11g数据库的连接,以数据库
13、的连接,以指定的方案(如方案名:指定的方案(如方案名:SCOTT,密码:,密码:123456)登录)登录SQL Developer后。在后。在SQL Developer的左边树型结构中,依次选择的左边树型结构中,依次选择“eBuy”、“Tables”,右键单击,右键单击“Tables”项,从快捷菜单中选项,从快捷菜单中选择择“New Table”教师教师演示演示讲解讲解培训专用课堂案例3使用SQL Developer创建Users表案例完成步骤案例完成步骤 (2)打开)打开“Create Table”对话框,指定新建数据表的名称对话框,指定新建数据表的名称(如(如Users);选择默认的用户方
14、案();选择默认的用户方案(SCOTT)。)。(3)添加数据表列。首先单击)添加数据表列。首先单击“Add Column”按钮,再设置按钮,再设置列的名称、数据类型、数据类型的长度、是否允许列值非空列的名称、数据类型、数据类型的长度、是否允许列值非空和该列是否为主键后,将为新表增加一个数据列。按照这种和该列是否为主键后,将为新表增加一个数据列。按照这种方法,依次为方法,依次为Users数据表添加数据列数据表添加数据列 教师教师演示演示讲解讲解培训专用课堂案例3使用SQL Developer创建Users表案例完成步骤案例完成步骤 (4)指定列数据类型。在)指定列数据类型。在SQL Develo
15、per创建表的普通状态下,创建表的普通状态下,数据列只能选择数据列只能选择VARCHAR2、CLOB、INTEGER、NUMBERt和和DATE五种数据类型,如果要使用更多的数据类型,请选中五种数据类型,如果要使用更多的数据类型,请选中Advanced复选框复选框。(5)单击)单击“确定确定”按钮,完成数据表的创建,在按钮,完成数据表的创建,在SQL Developer中的中的Tables项下将新增项下将新增Users项。项。(6)在为数据表添加数据列之后,选择)在为数据表添加数据列之后,选择“SQL”选项卡,用户可以选项卡,用户可以查看创建数据表的查看创建数据表的DDL脚本脚本。教师教师演示
16、演示讲解讲解培训专用4.3.2 使用SQL Developer修改表 修改表修改表 在在SQL Developer左边栏的左边栏的Tables项中右击需要修改的数据表,项中右击需要修改的数据表,从快捷菜单中选择从快捷菜单中选择“Edit”,将打开,将打开“Edit Table”对话框,用户可对话框,用户可以完成对数据表的修改操作。修改完成后单击以完成对数据表的修改操作。修改完成后单击“确定确定”按钮,保按钮,保存修改结果存修改结果。教师教师演示演示讲解讲解 培训专用4.3.3 使用SQL Developer查看和删除表查看表查看表 在在SQL Developer的的Tables选项中单击需要查
17、看的表,在右选项中单击需要查看的表,在右边栏内将出现该表的详细情况,包括该表所属的列、数据、边栏内将出现该表的详细情况,包括该表所属的列、数据、约束、授权和主键等各种信息约束、授权和主键等各种信息。教师教师演示演示讲解讲解 培训专用4.3.3 使用SQL Developer查看和删除表 删除表删除表 (1)删除数据表时,首先从)删除数据表时,首先从Tables项中右击需要删除的数据项中右击需要删除的数据表,然后从快捷菜单中依次选择表,然后从快捷菜单中依次选择“Table”和和“Drop”。(2)在打开的的删除对话框中,单击)在打开的的删除对话框中,单击“应用应用”按钮按钮。教教师师演演示示讲讲
18、解解 培训专用课堂案例4使用PL/SQL管理表 掌握Oracle中应用PL/SQL语句创建数据表、修改数据表、删除数据表的方法。案例学习目标案例学习目标 CREATE TABLE语句、ALTER TABLE语句、DROP TABLE语句、PL/SQL的执行。案例知识要点案例知识要点 培训专用课堂案例4使用PL/SQL管理表案例完成步骤案例完成步骤-创建数据表创建数据表教师教师演示演示讲解讲解(1)编写SQL脚本(2)运行创建CUSTOMER表的脚本 输入到SQL Developer的“Enter SQL Statement”区域,单击图标或按F5键运行脚本,执行PL/SQL语句 培训专用课堂案
19、例4使用PL/SQL管理表案例完成步骤案例完成步骤-修改数据表修改数据表教师教师演示演示讲解讲解1添加列【例4-2】考虑到需要了解商品的生产厂商的信息,要在SCOTT用户方案的GOODS 表中添加一个长度为 20 个字符,名称为g_Producer,类型为varchar的新的一列。ALTER TABLE SCOTT.GOODS ADD g_Producer varchar(20)培训专用课堂案例4使用PL/SQL管理表案例完成步骤案例完成步骤-修改数据表修改数据表教教师师演演示示讲讲解解2修改列【例4-3】考虑到出生日期的实际长度和数据操作的方便性,要将SCOTT用户方案中的GOODS表中的g
20、_ProduceDate数据类型改为char型,且宽度为10。ALTER TABLE SCOTT.GOODS MODIFY g_ProduceDate char(10)培训专用课堂案例4使用PL/SQL管理表案例完成步骤案例完成步骤-修改数据表修改数据表教师教师演示演示讲解讲解3删除列使用ALTER TABLE 语句删除列时,可以使用 DROP COLUMN关键字。【例4-4】如果不考虑商品的生产厂商信息,要在SCOTT用户方案中的GOODS表中删除已有列g_Producer。ALTER TABLE SCOTT.GOODS DROP COLUMN g_Producer使用ALTER TABLE
21、 SCOTT.GOODS CASCADE;可以删除与指定列相关联的约束 培训专用课堂案例4使用PL/SQL管理表案例完成步骤案例完成步骤-查看删除表查看删除表教师教师演示演示讲解讲解1查看表【例4-5】使用DESCRIBE命令查看用户方案SCOTT下的商品表USERS。DESCRIBE SCOTT.Users;2删除表使用PL/SQL删除表的基本语法格式为:DROP TABLE 用户方案.;【例4-6】使用DROP TABLE命令删除用户方案为SCOTT下的商品表GOODS。DROP TABLE SCOTT.GOODS;【例4-7】使用DROP TABLE命令删除用户方案SCOTT中的商品表G
22、OODS,并删除商品表的所有外键约束。DROP TABLE SCOTT.GOODSCASCADE CONSTRAINS;培训专用课堂案例5使用SQL Developer操作数据记录 掌握在SQL Developer中操作数据记录的方式。案例学习目标案例学习目标 在SQL Developer中添加数据、在SQL Developer中修改数据、在SQL Developer中删除数据。案例知识要点案例知识要点 培训专用课堂案例5使用SQL Developer操作数据记录案例完成步骤案例完成步骤 教师教师演示演示讲解讲解培训专用课堂案例6使用PL/SQL操作数据记录 学习使用PL/SQL语句插入记录、
23、修改记录和删除记录的语句。案例学习目标案例学习目标 INSERT语句插入记录、UPDATE语句修改记录、DELETE语句删除记录。案例知识要点案例知识要点 培训专用课堂案例6使用PL/SQL操作数据记录案例完成步骤案例完成步骤 教教师师演演示示讲讲解解1插入数据记录插入数据记录在在PL/SQL中,使用中,使用INSERT INTO语句实现在表中插入数语句实现在表中插入数据记录的操作,其语法格式为:据记录的操作,其语法格式为:INSERT INTO 用户方案用户方案.(,)VALUES(,);(1)插入所有列)插入所有列(2)插入指定列)插入指定列 培训专用课堂案例6使用PL/SQL操作数据记录
24、案例完成步骤案例完成步骤 教师教师演示演示讲解讲解2更新数据记录在在PL/SQL中,使用中,使用UPDATE语句实现更新表中数据记录语句实现更新表中数据记录的操作,其语法格式为:的操作,其语法格式为:UPDATE 用户方案用户方案.SET=,=WHERE 条件表达式条件表达式;(1)修改单条记录)修改单条记录(2)修改多条记录)修改多条记录 培训专用课堂案例6使用PL/SQL操作数据记录案例完成步骤案例完成步骤 教教师师演演示示讲讲解解3删除数据记录删除数据记录在在PL/SQL中,使用中,使用DELETE FROM语句实现删除表中数据语句实现删除表中数据记录的操作,其语法格式为:记录的操作,其
25、语法格式为:DELETE FROM 用户方案用户方案.WHERE 条件表达式条件表达式;(1)删除指定记录)删除指定记录(2)删除所有记录)删除所有记录 培训专用4.6.1 数据完整性概述 概述概述 数据完整性数据完整性是指数据的精确性和可靠性。它是为防止数据库中存在不符合语义是指数据的精确性和可靠性。它是为防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性主要分为据完整性主要分为4类:域完整性、实体完整性、引用完整性和用户定义完整性。类:域完整性、实体完整性、引用完整性
26、和用户定义完整性。1域完整性域完整性 域完整性是指数据库表中的列必须满足某种特定的数据类型或约束,其中约束又包括域完整性是指数据库表中的列必须满足某种特定的数据类型或约束,其中约束又包括取值范围精度等规定。表中的取值范围精度等规定。表中的CHECK、FOREIGN KEY 约束和约束和DEFAULT、NOT NULL定义都属于域完整性的范畴。定义都属于域完整性的范畴。2实体完整性体完整性 实体完整性规定表的每一行在表中是唯一的。实体表中定义的实体完整性规定表的每一行在表中是唯一的。实体表中定义的UNIQUE、PRIMARY KEY 和和IDENTITY 约束就是实体完整性的体现。约束就是实体完
27、整性的体现。培训专用4.6.1 数据完整性概述 概述概述 3引用完整性引用完整性 引用完整性是指两个表的主关键字和外关键字的数据应对应一致。它确保了有主引用完整性是指两个表的主关键字和外关键字的数据应对应一致。它确保了有主关键字的表中对应其他表的外关键字的行存在,即保证了表之间的数据的一致性,防关键字的表中对应其他表的外关键字的行存在,即保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。止了数据丢失或无意义的数据在数据库中扩散。引用完整性作用表现在如下几个方面:引用完整性作用表现在如下几个方面:l 禁止在从表中插入包含主表中不存在的关键字的数据行;禁止在从表中插入包含主表
28、中不存在的关键字的数据行;l 禁止会导致从表中的相应值孤立的主表中的外关键字值改变;禁止会导致从表中的相应值孤立的主表中的外关键字值改变;l 禁止删除在从表中有对应记录的主表记录。禁止删除在从表中有对应记录的主表记录。4用用户定定义完整性完整性 用户定义完整性指的是由用户指定的一组规则,它不属于实体完整性、用户定义完整性指的是由用户指定的一组规则,它不属于实体完整性、域完整性或引用完整性。域完整性或引用完整性。培训专用课堂案例7数据完整性与约束学习在Oracle中使用OEM和PL/SQL语句实现各类约束以实现数据完整性的方法和操作步骤。案例学习目标案例学习目标 管理NOT NULL约束、管理D
29、EFAULT约束、管理UNIQUE约束、管理CHECK约束、管理PRIMARY KEY约束、管理FOREIGN KEY约束。案例知识要点案例知识要点 培训专用课堂案例7数据完整性与约束 案例完成步骤案例完成步骤-非空约束非空约束 教教师师演演示示讲讲解解非非空空约约束束说说明明列列值值不不允允许许为为空空(NULL),当当插插入入或或修修改改数数据据时时,设设置置了了非非空空约约束束的的列列的的值值不不允允许许为为空空,它它必必须须存存在在具具体体的的值值,如如商商品品编编号号、商商品品名名称称必必须须为为非非空空。如如果果没没有有为为列列创创建建非非空空约约束束,则则该该列列默默认认为为允允
30、许许空空值值。非非空空约约束束可可以以通通过过OEM或或PL/SQL创建。创建。培训专用课堂案例7数据完整性与约束 案例完成步骤案例完成步骤-默认约束默认约束 教师教师演示演示讲解讲解 默认约束是指表中添加新行时给表中某一列指定的默认默认约束是指表中添加新行时给表中某一列指定的默认值。使用默认约束一是可以避免不允许为空值的数据错误,值。使用默认约束一是可以避免不允许为空值的数据错误,二是可以加快用户的输入速度。默认约束可以通过二是可以加快用户的输入速度。默认约束可以通过OEM或或PL/SQL创建。创建。如果创建了称为如果创建了称为“默认值默认值”的对象。当绑定到列或的对象。当绑定到列或用户定义
31、数据类型时,如果插入时没有明确提供值,默认用户定义数据类型时,如果插入时没有明确提供值,默认值便值便指定一个值指定一个值,并将其插入到对象所绑定的列中,并将其插入到对象所绑定的列中。培训专用课堂案例7数据完整性与约束 案例完成步骤案例完成步骤-默认约束默认约束 教教师师演演示示讲讲解解 默认约束是指表中添加新行时给表中某一列指定的默认值。默认约束是指表中添加新行时给表中某一列指定的默认值。使用默认约束一是可以避免不允许为空值的数据错误,二是可以使用默认约束一是可以避免不允许为空值的数据错误,二是可以加快用户的输入速度。默认约束可以通过加快用户的输入速度。默认约束可以通过OEM或或PL/SQL创
32、建。创建。c_Gender char(2)DEFAULT 女女,-性别 培训专用课堂案例7数据完整性与约束 案例完成步骤案例完成步骤-唯一约束唯一约束 教教师师演演示示讲讲解解 唯一约束通过确保在列中不输入重复值保证一列或唯一约束通过确保在列中不输入重复值保证一列或多列的实体完整性,每个唯一约束要创建一个唯一索引。多列的实体完整性,每个唯一约束要创建一个唯一索引。对于实施唯一约束的列,不允许有任意两行具有相同的索对于实施唯一约束的列,不允许有任意两行具有相同的索引值。如商品编号是唯一的,这样才能唯一地确定一种商引值。如商品编号是唯一的,这样才能唯一地确定一种商品。与主键约束不同的是,品。与主键
33、约束不同的是,Oracle允许为一个表创建多个允许为一个表创建多个唯一约束。唯一约束可以通过唯一约束。唯一约束可以通过OEM或或PL/SQL创建创建。CONSTRAINT 约束名 UNIQUE(列);培训专用课堂案例7数据完整性与约束 案例完成步骤案例完成步骤-检查约束检查约束 教师教师演示演示讲解讲解 检查约束限制输入到一列或多列中的可能值,从而保证检查约束限制输入到一列或多列中的可能值,从而保证Oracle数据库中数据的域完整性。检查约束实际上定义了一种输入验证数据库中数据的域完整性。检查约束实际上定义了一种输入验证规则,表示一个列的输入内容必须符合该列的检查约束条件,如果输入内规则,表示
34、一个列的输入内容必须符合该列的检查约束条件,如果输入内容不符合规则,则数据输入无效。如商品数量必须定义在容不符合规则,则数据输入无效。如商品数量必须定义在0,100之间,之间,输入的任何商品的数量都必须符合此规则,否则这样的数据记录不会被插输入的任何商品的数量都必须符合此规则,否则这样的数据记录不会被插入到商品表中。入到商品表中。培训专用课堂案例7数据完整性与约束 案例完成步骤案例完成步骤-主键约束主键约束 教师教师演示演示讲解讲解 主键约束主要用于实现实体完整性,对于指定了主键约束的列,主键约束主要用于实现实体完整性,对于指定了主键约束的列,要求表中的每一行有一个要求表中的每一行有一个唯一的
35、标识符唯一的标识符,这个标识符就是主键。主,这个标识符就是主键。主键约束实际上是通过创建唯一索引来保证指定列的实体完整性的。键约束实际上是通过创建唯一索引来保证指定列的实体完整性的。主键约束可以应用于表中一列或多列(复合主键)主键约束可以应用于表中一列或多列(复合主键)。培训专用课堂案例7数据完整性与约束 案例完成步骤案例完成步骤-外键约束外键约束 教师教师演示演示讲解讲解 外键约束为表中一列或多列数据提供引用完整性,它限制外键约束为表中一列或多列数据提供引用完整性,它限制插入到表中被约束列的值必须在被引用表中已经存在。实施外键插入到表中被约束列的值必须在被引用表中已经存在。实施外键约束时,要
36、求在被引用表中定义了主键约束或唯一约束。被引用约束时,要求在被引用表中定义了主键约束或唯一约束。被引用表被称为主表,主表中的主键称为引用完整性中的主键,必须引表被称为主表,主表中的主键称为引用完整性中的主键,必须引用主表进行引用完整性约束的列称为外键,外键对应的表称为外用主表进行引用完整性约束的列称为外键,外键对应的表称为外表或从表表或从表。培训专用课堂案例7数据完整性与约束 案例完成步骤案例完成步骤-外键约束外键约束 教师教师演示演示讲解讲解培训专用课堂案例8管理序列和同义词 学习在OEM中管理序列和同义词、使用PL/SQL管理序列和同义词的一般步骤和基本方法。案例学习目标案例学习目标 OE
37、M创建序列、OEM中修改序列、OEM删除序列、PL/SQL创建序列、PL/SQL修改序列、PL/SQL删除序列、OEM创建同义词、OEM修改同义词、OEM删除同义词、PL/SQL创建同义词、PL/SQL修改同义词、PL/SQL删除同义词。案例知识要点案例知识要点 培训专用课堂案例8管理序列和同义词案例完成步骤案例完成步骤-使用使用OEMOEM管理序列管理序列教教师师演演示示讲讲解解(1)进入)进入OEM后,依次选择后,依次选择“方案方案”、“序列序列”,进入,进入“序列序列”页面,单击页面,单击“创建创建”按钮,进入按钮,进入“创建序列创建序列”页面页面 培训专用课堂案例8管理序列和同义词案例
38、完成步骤案例完成步骤-使用使用PL/SQLPL/SQL管理序列管理序列教师教师演示演示讲解讲解(1)创建日志表)创建日志表LOG(2)为日志编号列)为日志编号列lg_ID创建序列,实现从创建序列,实现从1001开始自动增长,开始自动增长,增量幅度为增量幅度为1(3)使用序列。)使用序列。培训专用课堂案例8管理序列和同义词同义词概述同义词概述教师教师演示演示讲解讲解 同义词同义词(Synonym)是指向数据库中其他对象的数据库对象,是)是指向数据库中其他对象的数据库对象,是表、视图、序列、过程、函数、包、快照或其他同义词的别名。同表、视图、序列、过程、函数、包、快照或其他同义词的别名。同义词通常
39、用于对最终用户隐藏特定细节,如对象的所有权、分布式义词通常用于对最终用户隐藏特定细节,如对象的所有权、分布式对象的位置等。对象的位置等。同义词有两种形式:公共的和私有的。公共同义词为特定用户组同义词有两种形式:公共的和私有的。公共同义词为特定用户组PUBLIC所拥有,它对于数据库中的每个用户都可用;私有同义词所拥有,它对于数据库中的每个用户都可用;私有同义词在创建它的用户方案中,该用户控制谁就可以存取它,私有同义词在创建它的用户方案中,该用户控制谁就可以存取它,私有同义词在其方案中必须是唯一的。在其方案中必须是唯一的。在管理同义词前,首先以在管理同义词前,首先以SYSDBA身份登录身份登录Or
40、acle 11g,为,为SCOTT用用户分配管理同义词的权限:户分配管理同义词的权限:GRANT CREATE SYNONYM TO SCOTT;培训专用课堂案例8管理序列和同义词案例完成步骤案例完成步骤-使用使用OEMOEM管理同义词管理同义词教师教师演示演示讲解讲解(1)进入)进入OEM后,依次选择后,依次选择“方案方案”、“同义词同义词”,打开,打开“同义词同义词”操作窗口,单击操作窗口,单击“创建创建”按钮,打开按钮,打开“创建同创建同义词义词”窗口窗口 培训专用课堂案例8管理序列和同义词案例完成步骤案例完成步骤-使用使用OEMOEM管理同义词管理同义词教师教师演示演示讲解讲解(3)在
41、)在SQL*Plus的命令行提示符下输入的命令行提示符下输入SELECT*FROM SCOTT.GOODS和和SELECT*FROM SCOTT.SYN_G,得到相,得到相同的查询结果同的查询结果 培训专用课堂案例8管理序列和同义词案例完成步骤案例完成步骤-使用使用PL/SQLPL/SQL管理同义词管理同义词教教师师演演示示讲讲解解1创建同建同义词CREATE SYNONYMSCOTT.GFOR SCOTT.GOODS;2删除同除同义词DROP SYNONYM SCOTT.G;培训专用(1)创建BookData数据库中的图书类别表BookType、图书信息表BookInfo、出版社表Publi
42、sher。(2)根据BookData数据库的表的实际情况和表间关系添加指定的约束。(3)为创建的各表添加样本数据。任务任务1 1 (1)创建BookData数据库中的读者表ReaderInfo和借还表BorrowReturn。(2)根据BookData数据库的表的实际情况和表间关系添加指定的约束。(3)删除所创建的读者表ReaderInfo和借还表BorrowReturn。任务任务2 2培训专用(1)创建BookData数据库中的读者表ReaderInfo和借还表BorrowReturn。(2)根据BookData数据库的表的实际情况和表间关系添加指定的约束。(3)为创建的各表添加样本数据。任务任务3 3根据china-pub注册时输入的信息,尝试编写单击“提交”按钮时插入会员记录的PL/SQL语句。任务任务4 4培训专用演讲完毕,谢谢观看!培训专用内容总结第4章 数据表操作。课堂案例3使用SQL Developer创建Users表。课堂案例6使用PL/SQL操作数据记录。禁止删除在从表中有对应记录的主表记录。如商品编号是唯一的,这样才能唯一地确定一种商品。主键约束可以应用于表中一列或多列(复合主键)。FOR SCOTT.GOODS。演讲完毕,谢谢观看培训专用