《空间数据库第三章续Oracle的常用数据方案对象.ppt》由会员分享,可在线阅读,更多相关《空间数据库第三章续Oracle的常用数据方案对象.ppt(50页珍藏版)》请在三一办公上搜索。
1、1,2023/9/14,第三章 续 数据管理常用数据方案对象,武汉理工大学资源与环境工程学院,2023/9/14,2,.1 Oracle 9i的方案对象.1.1 数据方案对象,2023/9/14,3,.1.2 管理方案对象,2023/9/14,4,.1.3 PL/SQL编程方案对象,2023/9/14,5,2023/9/14,6,.1.4 如何查看方案对象 如图.1所示界面。列举了Oracle 9i中的21种方案对象。,2023/9/14,7,.2 Oracle 9i的数据类型 Oracle 9i共提供了16种标量数据类型,如表.4所示。,2023/9/14,8,2023/9/14,9,.3
2、Oracle 9i的数据表类型,2023/9/14,10,.4 创建数据表.1 要创建的两个数据表 研究生信息表 表名:scott.student。表结构如表所示。,2023/9/14,11,2.导师信息表 表名:scott.director。表结构如图所示。,2023/9/14,12,3.两个数据表的关系 导师信息表(scott.director)的主码“DIRECTOR_ID”是研究生信息表(scott.student)的外码。也就是说,当导师信息表的“DIRECTOR_ID”字段发生变化时,研究生信息表的字段“DIRECTOR_ID”也会随之自动发生变化。,2023/9/14,13,.2
3、 创建的步骤 1.创建导师信息表的步骤(1)如图所示界面。,2023/9/14,14,(2)出现如图所示的创建表的【一般信息】选项卡。,2023/9/14,15,(3)切换到图7.4所示的创建表的【约束条件】选项卡。,2023/9/14,16,在【类型】单元格下拉列表框中有5个选项,如表所示。,2023/9/14,17,(4)切换到左图所示的创建表的【簇列】选项卡。(5)切换到右图所示的创建表的【分区】选项卡。,2023/9/14,18,2023/9/14,19,(10)在【企业管理器】中可以查看创建的数据表,如图7.11所示。,2023/9/14,20,(11)上述步骤创建scott.dir
4、ector数据表的SQL代码如下。CREATE TABLE SCOTT.DIRECTOR(DIRECTOR_ID NUMBER(6)NOT NULL,NAME VARCHAR2(10)NOT NULL,ZHICHENG VARCHAR2(20)NOT NULL,ZHIWU VARCHAR2(20)NOT NULL,CONSTRAINT 导师编号主码 PRIMARY KEY(DIRECTOR_ID)USING INDEX TABLESPACE USERS)TABLESPACE USERS,在创建主关键字约束条件时将自动建立该字段的索引。,2023/9/14,21,(12)读者也可以在【SQL P
5、lus Worksheet】中直接执行上述SQL语言创建数据表scott.director,如图7.12所示。,3,1,2,1,1,2023/9/14,22,2.创建研究生信息表的步骤(1)与创建导师信息表一样进行操作。(2)在图所示的创建表【一般信息】选项卡中按照如下步骤进行配置。,2023/9/14,23,(3)图7.14所示为创建表的主码的【约束条件】选项卡,2023/9/14,24,(4)图示为创建表的外码的【约束条件】选项卡。,2023/9/14,25,(5)【簇列】、【分区】、【存储】和【选项】选项卡按照默认设置即可。(6)图所示的【约束条件存储】选项卡按照如下配置。,2023/9
6、/14,26,(7)系统将成功创建数据表scott.student。对应的SQL代码如下。CREATE TABLE SCOTT.STUDENT(STUDENT_ID NUMBER(8)NOT NULL,NAME VARCHAR2(10)NOT NULL,PROFESSIONAL VARCHAR2(10)NOT NULL,BIRTHDAY DATE NOT NULL,DIRECTOR_ID NUMBER(6)NOT NULL,CONSTRAINT 研究生编号主码 PRIMARY KEY(STUDENT_ID)USING INDEX TABLESPACE USERS,CONSTRAINT 导师编号
7、外码 FOREIGN KEY(DIRECTOR_ID)REFERENCES SCOTT.DIRECTOR(DIRECTOR_ID)TABLESPACE USERS,2023/9/14,27,(8)读者也可以在【SQL Plus Worksheet】中直接执行sql语句创建数据表scott.student,如图所示。,2023/9/14,28,(9)在【企业管理器】中可以查看建立的两个范例数据表,如图所示。,2023/9/14,29,.5 修改数据表结构(1)如图所示。,2023/9/14,30,(2)出现如图所示的编辑表的【一般信息】选项卡。,2023/9/14,31,.6 数据表中数据的管理
8、 下面介绍如何操作数据表中的数据。,.6.1 向数据表中插入数据 1.向导师信息表中插入数据(1)在快捷菜单中选择【表数据编辑器】选项,出现如图所示的界面。可以按照二维表格输入数据。(2)单击按钮 可以查看输入的数据对应的SQL代码。(3)数据输入完毕后,单击按钮 可以完成数据的插入。,2023/9/14,32,2023/9/14,33,(4)上述过程对应的SQL代码如下。INSERT INTO SCOTT.DIRECTOR(DIRECTOR_ID,NAME,ZHICHENG,ZHIWU)VALUES(200201,张三丰,博导,系主任);INSERT INTO SCOTT.DIRECTOR(
9、DIRECTOR_ID,NAME,ZHICHENG,ZHIWU)VALUES(200202,张翠山,硕导,室主任);INSERT INTO SCOTT.DIRECTOR(DIRECTOR_ID,NAME,ZHICHENG,ZHIWU)VALUES(200203,张无忌,硕导,所主任);INSERT INTO SCOTT.DIRECTOR(DIRECTOR_ID,NAME,ZHICHENG,ZHIWU)VALUES(200204,宋远桥,博导,系副主任);,2023/9/14,34,2.向研究生信息表中插入数据(1)对研究生信息表进行同样的数据插入操作。如图所示。,2023/9/14,35,(2
10、)字段“BIRTHDAY”是日期型字段,单击按钮,出现如图所示的界面。可以观察到这样的日期型字段数据插入格式。TO_DATE(,dd-Mon-yyyy HH:MI:SS AM)这表明日期型字段是按照“日期月份年 小时 分钟 秒”来插入的。,2023/9/14,36,2023/9/14,37,(5)上述过程对应的SQL代码如下。可以在【SQLPlus Worksheet】中直接执行sql语句完成数据的插入。INSERT INTO SCOTT.STUDENT(STUDENT_ID,NAME,PROFESSIONAL,BIRTHDAY,DIRECTOR_ID)VALUES(20020101,周芷若,
11、软件工程,TO_DATE(20-11-1976,dd-Mon-yyyy HH:MI:SS AM),200201);INSERT INTO SCOTT.STUDENT(STUDENT_ID,NAME,PROFESSIONAL,BIRTHDAY,DIRECTOR_ID)VALUES(20020102,赵敏,计算机安全,TO_DATE(7-10-1980,dd-Mon-yyyy HH:MI:SS AM),200202);,2023/9/14,38,.6.2 查询数据表的数据 1.查询导师信息表数据(1)利用【SQLPlus Worksheet】执行下列语句。select*from scott.dir
12、ector;(2)查询结果如右图所示。,2023/9/14,39,2.查询研究生信息表数据(1)利用【SQLPlus Worksheet】执行下列语句。,select*from scott.student;,2023/9/14,40,.6.3 更新数据表的数据 1.更新导师信息表数据(1)下图所示为数据表编辑器界面。在表格中直接将“DIRECTOR_ID”为“200204”的导师的“ZHIWU”由“系副主任”更改为“院长”,2023/9/14,41,(2)单击按钮,出现的更新数据的SQL语句如下。UPDATE SCOTT.DIRECTOR SET ZHIWU=院长 WHERE rowid=AA
13、AH2kAAIAAAAAyAAD,(3)rowid=AAAH2kAAIAAAAAyAAD代表什么意思?(4)Oracle 9i在创建数据表时,默认会为每个数据表建立一个隐含的字段,叫ROWID。在向数据表中插入记录时,系统将自动为每条记录分配惟一的一个ROWID号,利用这个ROWID号,可以快速定位到记录。,2023/9/14,42,2023/9/14,43,UPDATE SCOTT.DIRECTOR SET ZHIWU=院长 WHERE DIRECTOR_ID=200204;,2023/9/14,44,.6.4 删除数据表的数据(1)在图所示的表数据编辑器界面中执行下列操作。,2023/9/
14、14,45,(2)删除数据的SQL语句如下。DELETE FROM SCOTT.STUDENT WHERE STUDENT_ID=20030101;,2023/9/14,46,.7 删除数据表 数据表的删除比较简单,表删除后其占用的空间就被系统释放和回收,表的删除是无法回滚的操作。可删除的内容包括。表的定义 表中的数据 表中的索引 表中的约束条件 表上的触发器 表中的权限,.7.1 在【企业管理器】里删除表(1)如图所示。,2023/9/14,47,2023/9/14,48,(2)出现如右图所示界面。,2023/9/14,49,(3)对应上述删除数据表director的SQL代码为如下。DROP TABLE SCOTT.DIRECTOR CASCADE CONSTRAINTS;,(4)在【SQLPlus Worksheet】中执行SQL语句的结果如图所示。,2023/9/14,50,下课了,谢谢!,