表格及约束

上传人:aa****6 文档编号:57300060 上传时间:2018-10-20 格式:PPT 页数:43 大小:635KB
返回 下载 相关 举报
表格及约束_第1页
第1页 / 共43页
表格及约束_第2页
第2页 / 共43页
表格及约束_第3页
第3页 / 共43页
表格及约束_第4页
第4页 / 共43页
表格及约束_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《表格及约束》由会员分享,可在线阅读,更多相关《表格及约束(43页珍藏版)》请在金锄头文库上搜索。

1、第一章 表格及数据约束,本章主要内容,1.1 前言 简介数据对象。1.2 表格概念 介绍表格的概念。1.3 数据类型 熟悉各种数据类型及其区别。1.4 表的操作 熟练掌握建表及修改表规则。1.5 数据约束掌握各种约束作用。1.6 知识点总结,1.1 前言,数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握数据库对象是学习数据库的捷径。,1.2 表格概念,数据库是由一组相关文件组成的。文件是一组相关的记录。在实际数据库中,文件被称为表,字段称为“列”,记录称为“行”。,列,行,1.3 数据类型,1.3.1

2、 数值类型 所有数字都有符号和精度。精度是除符号位以外的位数NUMBER(p,s):精度为p 且小数位数为s 的数字。 精度可介于1 与38 之间。小数位数可介于84 与127 之间。 例如: Number(4,1) 最大存储数据为: 999.9FLOAT(p) :美国国家标准协会(ANSI) 数据类型。FLOAT 数据类型是二进制精度为p 的浮点数。这种数据类型的默认精度为二进制数126 或十进制数38。INTEGER:等效于NUMBER(p,0)。,1.3.2 字符串类型,字符串是一个字节列。字符串的长度为该序列中的字节数。定长字符串:CHAR(n) n个字节的固定长度字符数据。最大大小为

3、2,000 个字节。 如果没有指定长度,那么就认为是 1 个字节注意:当你创建一个CHAR型字段,数据库将保证在这个字段中的所有数据是定义长度,如果某个数据比定义长度短,那么将用空格在数据的右边补到定义长度。如果长度大于定义长度将会触发错误信息。,1.3.2 字符串类型,变长字符串:VARCHAR(n) varchar 型数据是varchar2 型数据的快照。VARCHAR2(n)varchar2 数据类型是一种可变长度的、有最大长度的字母数字型数据。 Varchar2类型的字段长度可以达到4000字节。一个空的varchar2(2000)字段和一个空varchar2(2)字段所占用的空间是一

4、样的。注意:VARCHAR 是VARCHAR2 的同义词。工业标准的VARCHAR 类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar 列可以存储空字符串的特性改为存储NULL 值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。,1.3.2 字符串类型,变长字符串:NCHAR() 和 NVARCHAR2() NCHAR() 和 NVARCHAR2()数据类型分别与CHAR() 和 VARCHAR2()类型是相同的,

5、只不过它们用来存储NLS(National Language Support)数据。比如:某些系统中,日文数据的存储会用到这个类型.,1.3.3 日期时间型,DATE:在公元前4712 年1 月1 日至公元9999 年12 月31 日之间的有效日期。它还存储以下时间:小时、分钟和秒。TIMESTAMP:使用这种数据类型可指定日期中的年、月和日,以及时间中的小时、分钟和秒、毫秒。,1.3.4 LOB 数据类型,LOB(Large Object) 数据类型存储非结构化数据,比如二进制文件,图形文件,或其他外部文件。LOB 可以存储到4G字节大小。数据可以存储到数据库中也可以存储到外部数据文件中。L

6、OB数据类型有以下几种: 1. BLOB: 二进制数据 2. CLOB: 字符型数据 3. BFILE: 二进制文件,1.3.5 其他数据类型,NULL:是一个区分所有非空值的特殊值ROWID:数据类型是ORACLE 数据表中的一个伪列,它是数据表中每行数据内在的唯一的标识。此数据类型与数据存储的实际地址有关.,1.4 表的操作,1.4.1 表的命名规则 表名标识一个表,应尽可能在表名中描述表的功能命名规则 - 表名和列名不能超过30个字符:必须以字母开头必须只能包含 AZ, az, 09, _, $,#等必须不能和用户定义的其他对象重名必须 不能是ORACLE的保留字正确表名: studen

7、t_Info 错误表名: student_info!#,1.4 表的操作,1.4.2 表的创建 创建表语法:,CREATE TABLE 表名 (列名1 属性 默认值 是否为空 约束,列名2 属性 默认值 是否为空 约束,列名2 属性 默认值 是否为空 约束) ;,1.4 表的操作,1.4.2 表的创建创建学生表(tbl_studentinfo),CREATE TABLE tbl_studentinfo (stuno CHAR(5) NOT NULL,stuname VARCHAR2(20) NOT NULL,stubirth DATE,stusex CHAR(1) not null WITH

8、DEFAULT 0,studaddr VARCHAR2(200) ,stutel VARCHAR2(11) );,NOT NULL 子句可以用WITH DEFAULT 数值 扩充,1.4 表的操作,1.4.2 表的创建创建课程表(tbl_classinfo),CREATE TABLE tbl_classinfo(classno CHAR(3) NOT NULL,classname VARCHAR2(10) NOT NULL );,1.4 表的操作,1.4.2 表的创建 创建成绩表(tbl_scoreinfo),CREATE TABLE tbl_scoreinfo(stuno CHAR(5) N

9、OT NULL,classno CHAR(3) NOT NULL,score NUMBER(3,1) );,1.4 表的操作,1.4.2 表的创建 注意 :1. null可以为空 not null 不可为空1. 一般定义成char型字段,是因为这个字段的数据长度固定,并且实际数据查询中, char型比varchar型的效率高。,小结,数据类型创建表,CREATE TABLE tbl_classinfo(classno CHAR(3) NOT NULL,classname VARCHAR2(10) NOT NULL );,数值类型:NUMBER 字符串类型:CHAR,VARCHAR2 日期类型:

10、DATE,1.4 表的操作,1.4.3 表的删除 删除表语法 删除学生表,DROP TABLE 表名,DROP TABLE tbl_studentinfo;,1.4 表的操作,1.4.4 表的修改 字段的增加语法:增加小组负责人属性,ALTER TABLE 表名 ADD 列名 属性 约束,ALTER TABLE tbl_studentinfo ADD upstuno CHAR(5)DEFAULT NULL;,ALTER TABLE tbl_studentinfo ADD upstuno CHAR(5);,ALTER TABLE tbl_studentinfo ADD upstuno CHAR(

11、5) DEFAULT 05001;,1.4 表的操作,1.4.4 表的修改 字段的删除语法:删除电话字段,ALTER TABLE 表名 DROP COLUMN 列名,ALTER TABLE tbl_studentinfo DROP COLUMN stutel;,1.4 表的操作,1.4.4 表的修改 字段的修改语法:修改学生名的长度,ALTER TABLE 表名 MODIFY (列名 属性),ALTER TABLE tbl_studentinfo MODIFY (stuBirthDay Date not null);,1.5 数据约束,数据的完整性就是对数据的准确性和一致性的一种保证。数据完整

12、性(Data Integrity)是指数据的精确(Accuracy)和可靠性(Reliability)。,1.5.1 约束的概念及作用,约束被 ORACLE用来对数据实施业务规则,保证数据的完整性一般数据库提供了5种完整性约束: 非空约束 NOT NULL主键约束 Primary key外键约束 Foreign key唯一约束 Unique检查约束 Check,约束的创建,可以在创建一个新表时定义一个或多个约束也可以在创建表之后通过更改表来定义它们,CREATE TABLE 表名 (列名 数据类型 NOT NULL,列名 数据类型 PRIMARY KEY,列名 数据类型 UNIQUE,列名 数

13、据类型 NOT NULL REFERENCES 表名 (列名),列名 数据类型 NOT NULL CHECK (检查条件) ),创建一个新表时定义一个或多个约束,非空约束,在定义列时直接定义约束,主键约束,唯一约束,外键约束,检查约束,CREATE TABLE 表名(列名 数据类型, CONSTRAINT 约束名 PRIMARY KEY (列名),CONSTRAINT 约束名 UNIQUE (列名),CONSTRAINT 约束名 FOREIGN KEY (列名) REFERENCES 表名 (列名),CONSTRAINT 约束名 CHECK (检查条件) );,在创建表的时候用子句的方式创建约

14、束,ALTER TABLE 表名 MODIFY (列名 NOT NULL);ALTER TABLE 表名 ADD PRIMARY KEY (列名1,列名2);ALTER TABLE 表名 ADD UNIQUE (列名1,列名2, );ALTER TABLE 表名 ADD FOREIGN KEY(列名) REFERENCES 表名2 (列名2);ALTER TABLE 表名 ADD CHECK (检查条件);,在创建表之后通过更改表来定义,非空约束,主键约束,唯一约束,外键约束,检查约束,约束的删除,删除约束语法:约束定义与它们所应用的数据库相关联,并存储在数据库字典USER_CONSTRAIN

15、TS/ DBA_CONSTRAINTS中。,ALTER TABLE 表名 DROP CONSTRAINT 约束名,USER_CONSTRAINT中的约束信息,数据库目录中的约束信息,1.5 数据约束,1.5.3 主键约束确定哪些列唯一的标识了各个记录,主键不能为Null,并且数据值必须唯一 。注意:1. 一个表只能有一个主键,但是一个主键可以包含多个列;1. 在某些约束的创建过程中由于一个表只有一个此类约束,故约束名的设置可以省略。当约束名不写的时候,数据库系统会为这个约束创建一个自定义的约束名。,CREATE TABLE TBL_STUDENTINFO (STUNO CHAR(5) PRIM

16、ARY KEY );,CREATE TABLE 表名 (列名 数据类型 PRIMARY KEY ),创建主键约束的语法 一:例:学生信息表设置学生学号为主键,主键约束,CREATE TABLE 表名(列名 数据类型 ,CONSTRAINT 约束名 PRIMARY KEY (列名) );,CREATE TABLE TBL_STUDENTINFO (STUNO CHAR(5),CONSTRAINT PK_STUNO PRIMARY KEY (STUNO) );,主键约束,创建主键约束的语法 二:例:学生信息表设置学生学号为主键,ALTER TABLE 表名 ADD PRIMARY KEY (列名1,列名2);,ALTER TABLE TBL_STUDENTINFO ADD PRIMARY KEY (STUNO);,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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