数据库应用技术:第3章 关系数据库语言SQL_第1页
数据库应用技术:第3章 关系数据库语言SQL_第2页
数据库应用技术:第3章 关系数据库语言SQL_第3页
数据库应用技术:第3章 关系数据库语言SQL_第4页
数据库应用技术:第3章 关系数据库语言SQL_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 关系数据库语言SQL数据库原理及应用教学内容SQL的功能与特点表的基本操作SQL的数据查询SQL的视图操作第1讲 SQL的功能与特点第3章 关系数据库语言SQL主要内容SQL的产生和发展SQL的功能SQL的特点一、SQL的产生和发展 1972年,IBM公司开始研制实验型关系数据库管理系统SYSTEM R,配制的查询语言称为SQUARE(Specifying Queries As Relational Expression)语言,在语言中使用了较多的数学符号。 1974年,Boyce和Chamberlin将SQUARE修改为SEQUEL(Structured English Query

2、Language)语言。这两个语言在本质上是相同的,但后者去掉了一些数学符号,并采用英语单词表示和结构式的语法规则,看起来很像英语句子,用户比较欢迎这种形式的语言。后来SEQUEL简称为SQL(Structured Query Language),即“结构化查询语言”。一、SQL的产生和发展(续) 1986年10月,美国国家标准化协会(ANSI)发布了ANSI文件X3.135-1986数据库语言SQL,1987年6月国际标准化组织(ISO)采纳其为国际标准。“SQL86” 。 1989年10月“SQL89”; 1992年8月“SQL2(SQL92)”标准。 1999年“SQL3(SQL99)”

3、。 SQL成为国际标准后,由于各种类型的计算机和DBS都采用SQL作为其存取语言和标准接口,从而使数据库世界有可能链接为一个统一的整体,这个前景意义十分重大。二、SQL的功能1、数据定义功能:定义数据库的逻辑结构,包括基本表、视图、索引等。2、数据操作功能:数据查询和数据更新。3、数据控制功能: 包括用户授权、基本表和视图的授权、事务控制、数据完整性和安全性控制等。三、SQL的特点1、工作方式交互式命令方式:在联机终端上,通过直接输入SQL命令对数据库进行操作;嵌入式工作方式:通过嵌入到高级语言程序中实现对数据库的操作。SQL用户用户SQL用户SQL用户3用户4ViewBase tableSt

4、ore file视图V1视图V2基本表B1基本表B2基本表B3基本表B4存储文件S1存储文件S2存储文件S3存储文件S42、SQL支持数据库的三级模式结构第2节 表的基本操作第3章 关系数据库语言SQL主要内容基本表的定义基本表的修改表的撤消数据插入、修改与删除CREATE TABLE ( , , , , );不能与SQL语言中的保留字同名不能与其它表名或视图名同名是以字母开头,由字母、数字和下划线“_”组成的字符串,长度不超过30个字符。一、基本表的定义一个表可以有若干列,但至少要有一列。每一列必须有一个列名和相应的数据类型。同一表中的列名不能重名。指定基本表中属性的取值特性和范围所谓“完整

5、性约束”是为保护数据库中的数据所作的各种检查或数据应满足的约束条件。当不选择该项时,默认值为NULL,表示该列可以为空值。当选择该项时,由用户根据各属性列的数据特点和要求给出该列数据的完整性约束条件:NULL|NOT NULL|PRIMARY KEY|DEFAULT|CHECK|UNIQUE|NOT NULL UNIQUE由用户根据表中各属性列数据的特点和要求给出所在表的数据的约束条件。包括:表的主键约束子句、表的外键约束子句和表的检验约束CHECK子句。列名数据类型完整性约束字段名类型宽度小数位数主键外键NULL其它S#char9YYNC#char7YYNGRADEint0-100示例:教学

6、管理数据库系统中的学习关系SC CREATE TABLE SC (S# CHAR(9), C# CHAR(7), GRADE INT ); 列名 数据类型示例:学习关系SC的创建语句定义方式 如果表中只有一个列是主键时,可在基本表定义的处,标识相应的约束关键字,说明某个属性是主键或候选键。 例:教学管理数据库系统中的专业关系SS CREATE TABLE SS (SCODE# CHAR(5) PRIMARY KEY, SSNAME VARCHAR(30) NOT NULL);1、主键约束1、主键约束(续) 如果表的主键由一列或多列组成,在基本表定义的处,通过键约束子句说明某个特定的属性或属性集

7、构成主键或候选键。 PRIMARY KEY( ,)1、主键约束(例)例:教学管理数据库系统中的学习关系SC。 CREATE TABLE SC (S# CHAR(9), C# CHAR(7), GRADE INT, PRIMARY KEY(S#,C#);2、外键约束 外键可以在基本表定义的处,通过外键约束子句进行说明。 FOREIGN KEY() REFERENCES () 必须说明第二个关系中的参照属性为该关系的主键 出现在第一个关系的外键中的任何值也必须出现在第二个关系的相应属性中,即存在着连接这两个属性或属性集的参照完整性约束CREATE TABLE SC (S# CHAR(9), C#

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

9、RTHIN DATE NOT NULL, PLACEOFB CHAR(16), SCODE CHAR(5) NOT NULL, CLASS CHAR(5) NOT NULL);示例:教学管理数据库系统中的学生关系S3、CHECK约束(例)示例:教学管理数据库系统中的学习关系SCCREATE 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#), CHECK(GRADE BETWEEN 0

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

11、EEN 0 AND 100));4、缺省值约束(例)5、非空约束 使用关键字NOT NULL说明,用于指出某属性列不能为空值。每一个表中至少应有一个列的可选项为NOT NULL主键列已隐含可选项为NOT NULL示例:教学管理数据库系统中的学生关系SCREATE TABLE S (S# 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 CHA

12、R(5) NOT NULL);5、非空约束(例)二、基本表的修改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;CASCADE表示所有引用到该列的视图或有关约束一并删除;RESTRICT表示在没有视图

13、或有关约束引用时,该列才能被删除,否则拒绝操作。例:删除教师表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; 当一个表被撤消时,该表中的数据也一同被删除。指出哪些列需要插入数据指出要插入的列的具体值一一对应四、数据插入、修改与删除1、数据插入向表中插入一行(单元组)数据。 INSERT INTO () VALUES();可省1、数据插入示例 给学习关系SC中插入王丽丽同学(学号为 200401003)学习计算机网络课(课程号为 C403001)的成绩(89分)。 INSERT INTO SC(S#,C#,GRADE) VALUES(200401003,C403001,89); 2、数据修改 UPDATE SET , , , WHERE ;2、数据修改示例 将所有女同学的专业改为S0404 UPDATE S SET SCODES0404 WHERE SSEX女;3、数据删除

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论