第3章表与表数据操作讲义

上传人:今*** 文档编号:108170420 上传时间:2019-10-22 格式:PPT 页数:79 大小:5.87MB
返回 下载 相关 举报
第3章表与表数据操作讲义_第1页
第1页 / 共79页
第3章表与表数据操作讲义_第2页
第2页 / 共79页
第3章表与表数据操作讲义_第3页
第3页 / 共79页
第3章表与表数据操作讲义_第4页
第4页 / 共79页
第3章表与表数据操作讲义_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《第3章表与表数据操作讲义》由会员分享,可在线阅读,更多相关《第3章表与表数据操作讲义(79页珍藏版)》请在金锄头文库上搜索。

1、第3章 表与表数据操作,3.1 表结构和数据类型,3.1.1 表和表结构 每个数据库包含若干个表。表是Oracle中最主要的数据库对象,它是用来存储数据的一种逻辑结构。表由行和列组成,因此也称之为二维表。表是在日常工作和生活中经常使用的一种表示数据及其关系的形式,表3.1就是用来表示学生情况的一个学生表。,表3.1 “学生”表,关系数据库使用表(即关系)来表示实体及其联系。表包含下列概念。 (1)表结构:每个数据库包含了若干个表。每个表包含一组固定的列,而列由数据类型(DATATYPE)和长度(LENGTH)两部分组成,以描述该表所跟踪的实体的属性。 (2)记录:每个表包含了若干行数据,它们是

2、表的“值”,表中的一行称为一个记录,因此,表是记录的有限集合。 (3)字段:每个记录由若干个数据项构成,将构成记录的每个数据项称为字段。例如表3.1中,表结构为(学号,姓名,性别,出生时间,专业,总学分,备注),包含7个字段,由5个记录组成。 (4)关键字:若表中记录的某一字段或字段组合能唯一标识记录,则称该字段或字段组合为候选关键字(Candidate key)。若一个表有多个候选关键字,则选定其中一个为主关键字(Primary key),也称为主键。当一个表仅有唯一的一个候选关键字时,该候选关键字就是主关键字。,3.1.2 数据类型,表是真正存储各种各样数据的对象,由行和列组成。行有时也称

3、为记录,列有时也称为字段或域。设计数据库时,要决定它包括哪些表,每个表中包含哪些列,每列的数据类型等。当创建和使用表时,需要使用不同的数据库对象,包括数据类型、约束、默认值、触发器和索引等。 在表中创建列时,必须为其指定数据类型,列的数据类型决定了数据的取值、范围和存储格式。列的数据类型可以是Oracle提供的系统数据类型,主要的系统数据类型列于表3.2中。,3.1.3 表结构设计,本小节以本书所使用到的学生管理系统的三个表:学生表(表名为XSB)、课程表(表名为KCB)和成绩表(表名为CJB)为例介绍如何设计表的结构。 本书基础部分使用的学生表XSB包含的属性有学号、姓名、性别、出生时间、专

4、业、总学分和备注。在实际开发中,应该使用英文字母来表示列名,所以这里使用属性的拼音首位字母表示列名。 最后设计的XSB的表结构如表3.3所示。,表3.3 XSB的表结构,3.1.3 表结构设计,参照XSB表结构的设计方法,同样可以设计出其他两个表的结构,如表3.4所示的是KCB的表结构,表3.5所示的是CJB的表结构。,表3.4 KCB的表结构,表3.5 CJB的表结构,3.2 创建和管理表空间,表空间就像一个文件夹,是存储数据库对象的容器,如果要创建表,首先要创建能够存储表的表空间,表空间分布可以通过OEC图形界面和PL/SQL命令方式创建。 在创建数据库时,Oracle会自动地创建多个表空

5、间,如system、users等表空间。,表空间用于存储数据库用户的所有模式对象,用户可以使用这些表空间进行数据操作; 表空间是Oracle数据库中最大的逻辑存储结构,与操作系统中的数据文件相对应。 ORACLE数据库中的一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间; 在Oracle系统里,表空间和数据文件是一对不能分开的概念,也就是创建表空间时必须创建数据文件,增加数据文件时必须指定表空间。 Oracle中,一个表空间可以包含若干个数据文件,一个数据文件只能属于一个表空间。 一个表只能存放在一个表空间里,但是可以存放在这个表空间的多个数据文件中的。,3.2.1 界面方

6、式创建表空间 【例3.1】 使用OEM创建永久性表空间MYTS。 使用SYS用户登录OEM,连接身份选择“SYSDBA”,在“服务器”属性页中单击“表空间”,进入“表空间”页面,单击“创建”按钮进入“创建表空间”页面,该页面包括两个选项页面:“一般信息”和“存储”。 (1)“一般信息”选项页面。进入“一般信息”选项页面,在“名称”文本框中输入表空间名称MYTS。注意,只能使用数据库字符集中的字符,长度不得超过30个字符。名称在数据库中必须是唯一的。在该页面包含:区管理、类型和状态。,区管理是对表空间分区的管理,分本地管理和字典管理。本地管理是由使用者对表空间进行管理,是表空间管理的默认方法,字

7、典管理是由数据字典进行表空间管理。 本地管理:在Oracle8I的版本中,Oracle推出的一种全新的表空间管理方式。所谓本地化管理,就是指Oracle不再利用数据字典表来记录Oracle表空间里面的区的使用状况,而是在每个表空间的数据文件的头部加入了一个位图区,在其中记录每个区的使用状况。每当一个区被使用,或者被释放以供重新使用时,Oracle都会更新数据文件头部的这个记录,反映这个变化。 本地管理表空间与字典管理表空间相比,大大提高了管理效率和数据库性能,,表空间有三种类型:永久、临时和还原。 永久性表空间指一般存储数据的表空间;系统表空间,普通用户使用的表空间都为永久表空间;永久表空间的

8、状态有三种:读写,只读,脱机。 临时表空间一般用来排序和创建索引时使用;仅用于存放临时对象,不存放实际的数据,所以,即使出了问题,也不需要恢复,而且,也不需要备份,因此也不需要记录日志。 临时表空间只能是读写模式。 还原表空间是支持事务处理回滚的表空间,用来存放修改中数据的原数据。,大文件表空间(bigfile tablespace): 在Oracle中用户可以创建大文件表空间(bigfile tablespace)。这样Oracle数据库使用的表空间(tablespace)可以由一个单一的大文件构成,而不是若干个小数据文件。可以显著地增强Oracle数据库的存储能力。 一个小文件表空间(sm

9、allfile tablespace)最多可以包含1024个数据文件(datafile),而 一个大文件表空间中只包含一个文件,这个数据文件的最大容量是小数据文件的1024倍。大文件表空间和小文件表空间的最大容量是相同的。但是由 于每个数据库最多使用64K个数据文件,因此使用大文件表空间时数据库中表空间的极限个数是使用小文件表空间时的1024倍,使用大文件表空间时的总数据 库容量比使用小文件表空间时高出三个数量级。换言之,当一个Oracle数据库使用大文件表空间,且使用最大的数据块容量时(32K),其总容量可以达到 8EB。 在超大型数据库中使用大文件表空间减少了数据文件的数量,因此也简化了对

10、数据文件的管理工作。由于数据文件的减少,SGA中关于数据文件的信息,以及控制文件(control file)的容量也得以减小。 由于数据文件对用户透明,由此简化了数据库管理工作。,一个表空间至少有一个数据文件,单击“添加”按钮,按照第2章中为数据库添加数据文件的方法为MYTS表空间创建数据文件MYTS02.DBF,文件大小为100MB,允许以2MB的大小自动扩展,最大大小无限制。,(2)“存储”选项页面。单击“存储”选项页面,则出现如图3.2所示的界面。在该选项卡中进行区分配、段空间管理、压缩选项和启用事件记录设置。,表空间创建完成后,如果要对表空间的设置进行修改,可以在“表空间”页面中选定要

11、修改的表空间,单击“编辑”按钮进行设置。 如果要删除某个表空间,可以通过单击“删除”按钮,勾选“从存储删除相关联的数据文件”,单击“是”按钮删除。删除后,系统自动将该表空间对应的磁盘数据文件删除。若未勾选“穿存储删除相关联的数据文件”项,删除表空间实际只是从数据字典和控制文件中将该表空间的有关信息删除,并没有删除该表空间所对应的物理文件。因此,在删除表空间后,需要手动删除该表空间对应的物理文件才能释放空间。,3.2.2 命令方式创建表空间,1创建表空间 创建表空间可以使用CREATE TABLESPACE语句,创建的用户必须拥有CREATE TABLESPACE系统权限。在创建之前必须创建包含

12、表空间的数据库。 语法格式: CREATE TABLESPACE tablespace_name DATAFILE path/filename SIZE integer KM REUSE AUTOEXTEND OFFON NEXT integer KM MAXSIZE UMLIMITEDinteger KM MINMUM EXTENT integer K | M DEFAULT storage_clause ONLINEOFFLINE LOGGINGNOLOGGING PERMANENTTEMPORARY EXTENT MANAGEMENT DICTIONARYLOCAL AUTOALLOCA

13、TEUNIFORM SIZE integer KM ,【例3.2】 创建大小为50MB的表空间TEST,禁止自动扩展数据文件。 CREATE TABLESPACE TEST LOGGING DATAFILE c:oracoradataXSCJTEST01.DBF SIZE 50M REUSE AUTOEXTEND OFF; 结果如下所示:,【例3.3】 创建表空间DATA,允许自动扩展数据文件。 CREATE TABLESPACE DATA LOGGING DATAFILE c:oracoradataXSCJDATA01.DBF SIZE 50M REUSE AUTOEXTEND ON NEX

14、T 10M MAXSIZE 200M EXTENT MANAGEMENT LOCAL;,2管理表空间 利用ALTER TABLESPACE命令可以修改现有的表空间或它的一个或多个数据文件。可以为数据库中每一个数据文件指定各自的存储扩展参数值;Oracle会在自动扩展数据文件时使用这些参数。 语法格式: ALTER TABLESPACE tablespace_name ADD DATAFILETEMPFILE path/filename SIZE integer KM REUSE AUTOEXTEND OFF ON NEXT integer KM MAXSIZE UNLIMITEDinteger

15、 KM RENAME DATAFILE pathfilename,n TO pathre_filename,n DEFAULT STORAGE storage_clause ONLINEOFFLINE NORMALTEMPORARYIMMEDIATE LOGGINGNOLOGGING READ ONLYWRITE PERMANENT TEMPORARY ,【例3.4】 通过ALTER TABLESPACE命令把一个新的数据文件添加到DATA表空间,并指定了AUTOEXTEND ON和 MAXSIZE 300M。 ALTER TABLESPACE DATA ADD DATAFILE D:apptaooradataXSCJDATA02.DBF SIZE 50M REUSE AUTOEXTEND ON NEXT 50M MAXSIZE 500M; 修改表空间DATA属性,命令如下: ALTER TABLESPACE DATA OFFLINE;,3删除表空间 如果不再需要表空间和其中保存的数据,可以使用DROP TABLESPACE语句删除已经创建的表空间。 语法格式: DROP TABLESPACE tablespace INCLUDING CONTENTS AND | KEEP DATAFILES CASCADE CONSTRAINTS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号