收藏 分享(赏)

Chapter5SQL语言(1).ppt

上传人:精品资料 文档编号:5043012 上传时间:2019-02-02 格式:PPT 页数:42 大小:1,005KB
下载 相关 举报
Chapter5SQL语言(1).ppt_第1页
第1页 / 共42页
Chapter5SQL语言(1).ppt_第2页
第2页 / 共42页
Chapter5SQL语言(1).ppt_第3页
第3页 / 共42页
Chapter5SQL语言(1).ppt_第4页
第4页 / 共42页
Chapter5SQL语言(1).ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、第5章 关系数据库语言SQL,数据库原理及应用,教学内容,SQL的功能与特点 表的基本操作 SQL的数据查询 SQL的视图操作,第1讲 SQL的功能与特点,第5章 关系数据库语言SQL,主要内容,SQL的产生和发展 SQL的功能 SQL的特点,一、SQL的产生和发展,SQL语言的发展,Chamberlin,SEQUEL,SQL,大型数据库 Sybase INFORMIX SQL Server Oracle DB2 INGRES - 小型数据库 FoxPro Access,结构化查询语言 Structured Query Language,一、SQL的产生和发展(续),1986年10月,美国国家

2、标准化协会(ANSI)发布了ANSI文件X3.135-1986数据库语言SQL,1987年6月国际标准化组织(ISO)采纳其为国际标准。“SQL86” 。1989年10月“SQL89”;1992年8月“SQL2(SQL92)”标准。1999年“SQL3(SQL99)”。SQL成为国际标准后,由于各种类型的计算机和DBS都采用SQL作为其存取语言和标准接口,从而使数据库世界有可能链接为一个统一的整体,这个前景意义十分重大。,二、SQL的功能,1、数据定义功能:定义数据库的逻辑结构,包括基本表、视图、索引等。 2、数据操作功能:数据查询和数据更新。 3、数据控制功能:包括用户授权、基本表和视图的授

3、权、事务控制、数据完整性和安全性控制等。,三、SQL的特点,1、工作方式交互式命令方式:在联机终端上,通过直接输入SQL命令对数据库进行操作;嵌入式工作方式:通过嵌入到高级语言程序中实现对数据库的操作。,2、SQL支持数据库的三级模式结构,第2节 表的基本操作,第5章 关系数据库语言SQL,主要内容,基本表的定义 基本表的修改 表的撤消 数据插入、修改与删除,CREATE TABLE ( , ,,);,不能与SQL语言中的保留字同名 不能与其它表名或视图名同名 是以字母开头,由字母、数字和下划线“_”组成的字符串,长度不超过30个字符。,一、基本表的定义,一个表可以有若干列,但至少要有一列。

4、每一列必须有一个列名和相应的数据类型。 同一表中的列名不能重名。,指定基本表中属性的取值特性和范围,所谓“完整性约束”是为保护数据库中的数据所作的各种检查或数据应满足的约束条件。,当不选择该项时,默认值为NULL,表示该列可以为空值。 当选择该项时,由用户根据各属性列的数据特点和要求给出该列数据的完整性约束条件:NULL|NOT NULL|PRIMARY KEY|DEFAULT |CHECK|UNIQUE|NOT NULL UNIQUE,由用户根据表中各属性列数据的特点和要求给出所在表的数据的约束条件。 包括:表的主键约束子句、表的外键约束子句和表的检验约束CHECK子句。,一、基本表的定义(

5、续),数据类型,整数数据,精确数值,近似浮点数值,日期时间数据,bigint,int,smallint,tinyint,numeric和decimal,float和real,datetime与smalldatetime,字符串数据,Unicode字符串数据,二进制数据,货币数据,char、varchar、text,nchar、nvarchar与ntext,binary、varbinary、image,money与smallmoney,标记数据,timestamp和uniqueidentifier,示例:教学管理数据库系统中的学习关系SC,CREATE TABLE SC(S# CHAR(9),

6、C# CHAR(7), GRADE INT );列名 数据类型,示例:学习关系SC的创建语句,定义数据表的约束,正确性,有效性,相容性,数据的完整性,约束(Constraint)默认(Default)规则(Rule)触发器(Trigger)存储过程 (Stored Procedure),SQL Server的数据完整性机制,CONSTRAINT ,完整性约束的基本语法格式,NULL/NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,CHECK,定义数据表的约束,定义方式 如果表中只有一个列是主键时,可在基本表定义的处,标识相应的约束关键字,说明某个属性是主键或候选

7、键。例:教学管理数据库系统中的专业关系SSCREATE TABLE SS(SCODE# CHAR(5) PRIMARY KEY,SSNAME VARCHAR(30) NOT NULL);,1、主键约束,1、主键约束(续), 如果表的主键由一列或多列组成,在基本表定义的处,通过键约束子句说明某个特定的属性或属性集构成主键或候选键。PRIMARY KEY( ,),1、主键约束(例),例:教学管理数据库系统中的学习关系SC。CREATE TABLE SC(S# CHAR(9),C# CHAR(7),GRADE INT,PRIMARY KEY(S#,C#);,CONSTRAINT FOREIGN KE

8、Y REFERENCES (,),外部键,从表,主键,主表,引用,2、 FOREIGN KEY约束(外键约束),CREATE TABLE SC(S# CHAR(9),C# CHAR(7),GRADE INT,PRIMARY KEY(S#,C#),FOREIGN KEY(S#) REFERENCES S(S#),FOREIGN KEY(C#) REFERENCES C(C#);,示例:教学管理数据库系统中的学习关系SC,2、外键约束(例),3、CHECK约束,CHECK约束是用来指定某一个属性或多个属性可以满足的条件,可以在基本表定义的或进行说明CHECK(),CREATE TABLE S(S#

9、 CHAR(9) PRIMARY KEY,SNAME CHAR(10) NOT NULL,SSEX CHAR(2) CHECK(SSEX IN (男,女),SBIRTHIN DATE NOT NULL,PLACEOFB CHAR(16),SCODE CHAR(5) NOT NULL,CLASS CHAR(5) NOT NULL);,示例:教学管理数据库系统中的学生关系S,3、CHECK约束(例),示例:教学管理数据库系统中的学习关系SC,CREATE TABLE SC(S# CHAR(9),C# CHAR(7),GRADE INT,PRIMARY KEY(S#,C#),FOREIGN KEY(

10、S#) REFERENCES S(S#),FOREIGN KEY(C#) REFERENCES C(C#),CHECK(GRADE BETWEEN 0 AND 100);,3、CHECK约束(例),4、缺省值约束,用关键字DEFAULT说明,用于给所在的列设置一个缺省值,即在插入一个新记录时,如果带有DEFAULT选项的列没有数据,就将缺省值作为该列的数据。DEFAULT(),示例:教学管理数据库系统中的学习关系SC,CREATE TABLE SC(S# CHAR(9),C# CHAR(7),GRADE INT DEFAULT(0),PRIMARY KEY(S#,C#),FOREIGN KEY

11、(S#) REFERENCES S(S#),FOREIGN KEY(C#) REFERENCES C(C#),CHECK(GRADE BETWEEN 0 AND 100));,4、缺省值约束(例),5、非空约束,使用关键字NOT NULL说明,用于指出某属性列不能为空值。 每一个表中至少应有一个列的可选项为NOT NULL 主键列已隐含可选项为NOT NULL,示例:教学管理数据库系统中的学生关系S,CREATE TABLE S(S# CHAR(9) PRIMARY KEY,SNAME CHAR(10) NOT NULL,SSEX CHAR(2) CHECK(SSEX IN (男,女),SBI

12、RTHIN DATE NOT NULL,PLACEOFB CHAR(16),SCODE CHAR(5) NOT NULL,CLASS CHAR(5) NOT NULL);,5、非空约束(例),建立包含完整性定义的学生表。CREATE TABLE S( SNo CHAR(6) CONSTRAINT S_Prim PRIMARY KEY,SN CHAR(8) CONSTRAINT SN_Cons NOT NULL,Sex CHAR(2) DEFAULT 男,Age INT CONSTRAINT Age_Cons NOT NULL CONSTRAINT Age_Chk CHECK (Age BETW

13、EEN 15 AND 50),Dept CHAR(10) CONSTRAINT Dept_Cons NOT NULL),表创建实例,二、基本表的修改,1、改变表名修改表名的语句格式为:RENAME TO ;例:将SS表改名为SS1。RENAME SS TO SS1;,2、增加列,在表的最后一列后面增加新的一列:ALTER TABLE ADD ;例:给学生表新增一个属性“民族”,数据类型为CHAR(10)。ALTER TABLE S ADD nationality CHAR(10);,3、删除列,删除表中不再需要的列,格式为:ALTER TABLE DROP CASCADE|RESTRICT;C

14、ASCADE表示所有引用到该列的视图或有关约束一并删除; RESTRICT表示在没有视图或有关约束引用时,该列才能被删除,否则拒绝操作。例:删除教师表T中的出生年月。ALTER TABLE T DROP TBIRTHIN RESTRICT;,4、修改列的定义,修改列的定义,包括列的类型、长度,格式为:ALTER TABLE MODIFY ;例:将专业表SS中的专业名称列长度由30改为40。 ALTER TABLE SS MODIFY SSNAME VARCHAR(40);,三、表的撤消,将不需要的表或定义错误的表删除掉,格式为: DROP TABLE CASCADE|RESTRICT; 当一个

15、表被撤消时,该表中的数据也一同被删除。,指出哪些列需要插入数据,指出要插入的列的具体值,四、数据插入、修改与删除,1、数据插入向表中插入一行(单元组)数据。INSERT INTO ()VALUES();,可省,1、数据插入 示例,给学习关系SC中插入王丽丽同学(学号为200401003)学习计算机网络课(课程号为C403001)的成绩(89分)。INSERT INTO SC(S#,C#,GRADE)VALUES(200401003,C403001,89);,2、数据修改,UPDATE SET ,, WHERE ;,2、数据修改 示例,将所有女同学的专业改为S0404UPDATE SSET SCODES0404WHERE SSEX女;,3、数据删除,DELETE FROM WHERE ; 示例 在学生关系S中删除学号为200403001的学生信息。 DELETE FROM SWHERE S# =200403001;,小结,1、表的操作(1)表的定义 CREATE TABLE (2)表的修改 RENAME | ALTER TABLE(3)表的撤消 DROP TABLE 2、数据的操作(1)数据插入 INSERT INTO(2)数据修改 UPDATE SET(3)数据删除 DELETE FROM ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报