您好,欢迎访问三七文档
4.1表与表数据操作Oracle数据库管理24.1表与表数据操作一、表结构和数据类型二、创建和管理表空间三、界面方式操作表四、命令方式操作表Oracle数据库管理3五、界面方式操作表数据六、命令方式操作表数据七、同义词Oracle数据库管理4一、表结构和数据类型1.1表和表结构每个数据库包含若干个表。表是Oracle中最主要的数据库对象,它是用来存储数据的一种逻辑结构。表由行和列组成,因此也称之为二维表。表是在日常工作和生活中经常使用的一种表示数据及其关系的形式,表4.1就是用来表示学生情况的一个学生表。学号姓名性别出生时间专业总学分备注081101王林男1990-02-10计算机50081103王燕女1989-10-06计算机50081108林一帆男1989-08-05计算机52已提前修完一门课081202王林男1989-01-29通信工程40有一门课不及格,待补考081204马琳琳女1989-02-10通信工程42表4.1“学生”表Oracle数据库管理51.1表和表结构关系数据库使用表(即关系)来表示实体及其联系。表包含下列概念。(1)表结构:每个数据库包含了若干个表。每个表包含一组固定的列,而列由数据类型(DATATYPE)和长度(LENGTH)两部分组成,以描述该表所跟踪的实体的属性。(2)记录:每个表包含了若干行数据,它们是表的“值”,表中的一行称为一个记录,因此,表是记录的有限集合。(3)字段:每个记录由若干个数据项构成,将构成记录的每个数据项称为字段。例如表4.1中,表结构为(学号,姓名,性别,出生时间,专业,总学分,备注),包含7个字段,由5个记录组成。(4)关键字:若表中记录的某一字段或字段组合能唯一标识记录,则称该字段或字段组合为候选关键字(Candidatekey)。若一个表有多个候选关键字,则选定其中一个为主关键字(Primarykey),也称为主键。当一个表仅有唯一的一个候选关键字时,该候选关键字就是主关键字。Oracle数据库管理61.2数据类型表是真正存储各种各样数据的对象,由行和列组成。行有时也称为记录,列有时也称为字段或域。设计数据库时,要决定它包括哪些表,每个表中包含哪些列,每列的数据类型等。当创建和使用表时,需要使用不同的数据库对象,包括数据类型、约束、默认值、触发器和索引等。在表中创建列时,必须为其指定数据类型,列的数据类型决定了数据的取值、范围和存储格式。列的数据类型可以是Oracle提供的系统数据类型,主要的系统数据类型列于表4.2中。Oracle数据库管理71.3表结构设计以学生管理系统的三个表:学生表(表名为XSB)、课程表(表名为KCB)和成绩表(表名为CJB)为例介绍如何设计表的结构。学生表XSB包含的属性有学号、姓名、性别、出生时间、专业、总学分和备注。在实际开发中,应该使用英文字母来表示列名,所以这里使用属性的拼音首位字母表示列名。最后设计的XSB的表结构如表4.3所示。列名数据类型是否可空默认值说明列名含义XHchar(6)×无主键,前2位年级,中间2位班级号,后2位序号学号XMchar(8)×无姓名XBchar(2)ד男”性别CSSJdate×无出生时间ZYchar(12)√无专业ZXFnumber(2)√00≤总学分160总学分BZvarchar2(200)√无备注表4.3XSB的表结构Oracle数据库管理81.3表结构设计参照XSB表结构的设计方法,同样可以设计出其他两个表的结构,如表4.4所示的是KCB的表结构,表4.5所示的是CJB的表结构。列名数据类型是否可空默认值说明列名含义KCHchar(3)×无主键课程号KCMchar(16)×无课程名KKXQnumber(1)√1只能为1~8开课学期XSnumber(2)√0学时XFnumber(1)×0学分列名数据类型是否可空默认值说明列名含义XHchar(6)×无主键学号KCHchar(3)×无主键课程号CJnumber(2)√无成绩表4.4KCB的表结构表4.5CJB的表结构Oracle数据库管理9二、创建和管理表空间2.1界面方式创建表空间【例4.1】使用OEM创建永久性表空间MYTS。(1)“一般信息”选项页面。进入“一般信息”选项页面,在“名称”文本框中输入表空间名称MYTS。注意,只能使用数据库字符集中的字符,长度不得超过30个字符。名称在数据库中必须是唯一的。在该页面包含:区管理、类型和状态。状态选项用于设置表空间状态,状态有:读写、只读和脱机三种,这里选择“读写”,如右图4.1所示。Oracle数据库管理102.1界面方式创建表空间(2)“存储”选项页面。单击“存储”选项页面,则出现如下图4.2所示的界面。在该选项卡中进行区分配、段空间管理、压缩选项和启用事件记录设置,按默认设置。Oracle数据库管理112.2命令方式创建表空间1.创建表空间创建表空间可以使用CREATETABLESPACE语句,创建的用户必须拥有CREATETABLESPACE系统权限。在创建之前必须创建包含表空间的数据库。语法格式:CREATETABLESPACEtablespace_nameDATAFILE'path/filename'[SIZEinteger[K∣M]][REUSE][AUTOEXTEND[OFF∣ON[NEXTinteger[K∣M]][MAXSIZE[UMLIMITED∣integer[K∣M]]]][MINMUMEXTENTinteger[K|M]][DEFAULTstorage_clause][ONLINE∣OFFLINE][LOGGING∣NOLOGGING][PERMANENT∣TEMPORARY][EXTENTMANAGEMENT[DICTIONARY∣LOCAL[AUTOALLOCATE∣UNIFORM[SIZEinteger[K∣M]]]]]Oracle数据库管理122.2命令方式创建表空间创建表空间语法说明:(1)tablespace_name:要创建的表空间名称。(2)DATAFILE子句:用于为表空间创建数据文件,格式与CREATEDATABASE语句中的DATAFILE子句相同。REUSE:若文件存在,则清除该文件重建;若该文件不存在,则新建。(3)AUTOEXTEND子句:指定是否禁止或允许自动扩展数据文件。OFF禁止,ON允许。NEXT指定当需要更多盘区时分配给数据文件的磁盘空间。(4)MAXSIZEUMLIMITED∣integer[K∣M]指定允许分配给数据文件的最大磁盘空间。UMLIMITED表示无限制。(5)MINMUMEXTENT:指定最小长度,默认为OS和数据库块确定。(6)DEFAULTstorage_clause:稍后解释。(7)ONLINE:创建后,授权访问该表空间的用户立即可用该表空间。这是默认设置。(8)OFFLINE:在创建该表空间后使该表空间不可用。Oracle数据库管理132.2命令方式创建表空间创建表空间语法说明:(9)LOGGING∣NOLOGGING:指定日志属性,表示将来的表、索引等是否需要进行日志处理。默认LOGGING。(10)PERMANENT:指定表空间将用于保存永久对象。默认设置。(11)TEMPORARY子句:指定表空间将用于保存临时对象。(12)EXTENTMANAGEMENT指定指定如何管理表空间的盘区。(13DICTIONARY:指定使用字典来管理表空间,默认设置。(14)LOCAL:指定本地管理表空间。(15)AUTOALLOCATE:指定表空间由系统管理,用户不能指定盘区尺寸。(16)UNIFORM:指定使用SIZE字节的统一盘区来管理表空间。默认的SIZE为1MB。注意:如果指定了LOCAL,就不能指定DEFAULTstorage_clause和TEMPORARY。Oracle数据库管理142.2命令方式创建表空间创建表空间语法说明:(6)DEFAULTstorage_clause:为该表空间创建的全部对象指定默认的存储参数。语法格式:STORAGE(INITIALinteger[K|M]NEXTinteger[K|M]MINEXTENTSinteger|UNLIMITEDMAXEXTENTSintegerPCTINCREASEintegerFREELISTSintegerFREELISTGROUPSinteger)Oracle数据库管理152.2命令方式创建表空间DEFAULTSTORAGE语法说明:INITIALinteger[K|M]:指定对象(段)的第一个区的大小,默认值是5个数据块的大小。NEXTinteger[K|M]:指定下一个区及后续区的大小,最小值是1个数据块的大小。MINEXTENTSinteger:指定创建对象(段)时就应该分配的区的个数,默认为1。MAXEXTENTSinteger:指定可为对象分配的区的最大个数。PCTINCREASEinteger:指定第三个区及后续区在前面区的基础上增加的百分比。FREELISTSinteger:指定表、簇、索引的每个空闲列表组的空闲列表数量。FREELISTGROUPSinteger:指定表、簇、索引的空闲列表组的数量。说明:oracle11g中,该子句对于存储参数的设置只在数据字典管理表空间中有效,在本地管理的表空间中,虽然可以使用该子句,但已不再起作用。Oracle数据库管理162.2命令方式创建表空间【例4.2】创建大小为50MB的表空间TEST,禁止自动扩展数据文件。CREATETABLESPACETESTLOGGINGDATAFILE'D:\app\tao\oradata\XSCJ\TEST01.DBF'SIZE50MREUSEAUTOEXTENDOFF;结果如下所示:Oracle数据库管理172.2命令方式创建表空间【例4.3】创建表空间DATA,允许自动扩展数据文件。CREATETABLESPACEDATALOGGINGDATAFILE'D:\app\tao\oradata\XSCJ\DATA01.DBF'SIZE50MREUSEAUTOEXTENDONNEXT10MMAXSIZE200MEXTENTMANAGEMENTLOCAL;Oracle数据库管理182.2命令方式创建表空间2.管理表空间利用ALTERTABLESPACE命令可以修改现有的表空间或它的一个或多个数据文件。可以为数据库中每一个数据文件指定各自的存储扩展参数值;Oracle会在自动扩展数据文件时使用这些参数。语法格式:ALTERTABLESPACEtablespace_name[ADDDATAFILE∣TEMPFILE'path/filename'[SIZEinteger[K∣M]][REUSE][AUTOEXTEND[OFF∣ON[NEXTinteger[K∣M]]MAXSIZE[UNLIMITED∣integer[K∣M]]][RENAMEDATAFILE'path\filename',…nTO'path\re_filename',…n][DEFAULTSTORAGEstorage_clause][ONLINE∣OFFLINE[NORMAL∣TEMPORARY∣IMMEDIATE]][LOGGING∣NOLOGGING][READONLY∣WRITE][PERMANENT][TEMPORARY]Oracle数据库管理192.2命令方式创建表空间【例4.4】通过ALTERTABLESPACE命令把一个新的数据文件添加到DATA表空间,并指定了AUTOEXTENDON和MAXSIZE300M。ALTERTABLESPACEDATAADDDATAFILE'D:\app\tao\oradata\XSCJ\DATA02.DBF'SIZE50MREUSEAUTOEXTENDONNEXT50MMAXSIZE500M;修改表空间DATA属性,命令如下:ALTERTABLESPACEDATAOFFLINE;Oracle数据库管理202.2命令方式创建表空
本文标题:41表与表数据操作
链接地址:https://www.777doc.com/doc-2923777 .html