数据库武大版3章关系数据库标准语言SQL1ppt课件.ppt
《数据库武大版3章关系数据库标准语言SQL1ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据库武大版3章关系数据库标准语言SQL1ppt课件.ppt(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库武大版3章关系数据库标准语言SQL1ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第三章第三章 关系数据库标准语言关系数据库标准语言SQL3.1SQL概述3.2数据定义3.3查询3.4数据更新3.5视图3.6数据控制3.7嵌入式SQL3.8小结23.1 SQL概述概述nSQL的特点n1.综合统一n2.高度非过程化n3.面向集合的操作方式n4.以同一种语法结构提供两种使用方法n5.语言简洁,易学易用35.语言简捷,易学易用语言简捷,易学易用43.1
2、.1 SQL:产生与发展:产生与发展n1970年,美国IBM研究中心的E.F.Codd连续发表多篇论文,提出关系模型。n1972年,IBM公司开始研制实验型关系数据库管理系统SYSTEM R,配制的查询语言称为SQUARE(Specifying Queries As Relational Expression)语言,在语言中使用了较多的数学符号。n1974年,Boyce和Chamberlain把SQUARE修改为SEQUEL(Structured English QUEry Language)语言。n后来SEQUEL简称为SQL(Structured Query Language),即“结构式
3、查询语言”,SQL的发音仍为“sequel”。nSQL已经成为一个标准,不具有具体缩写含义。53.1.1 SQL:数据库语言的标准:数据库语言的标准n1986.10ANSI:“DBLanguageSQL”n1987.6ISO:SQL86n1989.10ANSI:SQL89n1992.8ISO:SQL92,“SQL2”,600页n1999ISO:SQL99,“SQL3”,1000页63.1.1 SQL:标准的实现:标准的实现n70年代末起,成为事实的标准;n早期支持SQL的主要产品:Oracle,DB2,Sybase;nSQL成为标准后,数据库世界;nSQL向其他领域渗透;SE,AI;n具体厂商
4、的SQL实现不同:nMSSQLServer:Transact-SQL,T-SQL;nOracle:PL/SQL;73.1.1 SQL:语言的标准:语言的标准n语言组成:n词汇n语言:n自然语言:汉语,英语,法语,鸟语,狗语,n程序设计语言:n语言作用:n交流的载体;n有交流对象,交流内容n可写,可读n语法n语义n机器语言n汇编语言n高级语言n超高级语言83.1.2 SQL数据库的体系结构数据库的体系结构SQL用户用户视图视图基本表基本表存储文件存储文件外模式外模式概念模式概念模式内模式内模式用户用户1用户用户2用户用户3用户用户4视图视图1视图视图1基本表基本表1基本表基本表2基本表基本表3基
5、本表基本表4存储文件存储文件1存储文件存储文件2存储文件存储文件3存储文件存储文件493.1.2 SQL数据库的体系结构数据库的体系结构n1、关系模型与SQL标准的术语比较:n数据库模式:SQL模式(Schema),数据库(Database);n关系模式:基本表;n外/子模式:视图;n元组:行(Row);n属性:列(Column);103.1.2 SQL数据库的体系结构数据库的体系结构n2、SQL模式:已命名的数据组;构成:表,用户授权,规则,约束等;113.1.2 SQL数据库的体系结构数据库的体系结构n3、有三种类型的“二维表”:基本表,视图,导出表;n基本表:实际存储在数据库中的表,实表
6、;n视图:由基本表或其他视图选择、投影得到的虚表,该结构的定义长期在数据库中存放;n导出表:执行查询后产生的临时表;n4、用户可以用SQL语句对基本表和视图进行查询;在用户看来,无区别。n5、一个基本表可以跨越多个存储文件;一个存储文件也可以存放一个或多个基本表;123.1.2 SQL数据库的体系结构数据库的体系结构n6、SQL语句可以嵌套在宿主语言中使用;也可以在交互环境下使用;即,用户可以是应用程序,也可以是终端用户。133.1.3 SQL的组成的组成n核心SQL主要有四个部分:(1)数据定义语言,即SQL DDL,用于定义SQL模式、基本表、视图、索引等结构。(2)数据操纵语言,即SQL
7、 DML。数据操纵分成数据查询和数据更新两类。其中数据更新又分成插入、删除和修改三种操作。(3)嵌入式SQL语言的使用规定。这一部分内容涉及到SQL语句嵌入在宿主语言程序中的规则。(4)数据控制语言,即SQL DCL,这一部分包括对基本表和视图的授权、完整性规则的描述、事务控制等内容。14第三章第三章 关系数据库标准语言关系数据库标准语言SQL3.1SQL概述3.2数据定义3.3查询3.4数据更新3.5视图3.6数据控制3.7嵌入式SQL3.8小结153.2 数数 据据 定定 义义关系数据库系统支持三级模式结构,其模式、外模式和内模式中的基本对象有表、视图和索引。因此SQL的数据定义包括定义表
8、、定义视图和定义索引。163.2 数数 据据 定定 义义 173.2.1 定义、删除、修改基本表定义、删除、修改基本表定义基本表语句一般格式:CREATETABLE(,);n:所要定义的基本表的名字n:组成该表的各个属性(列)n:涉及相应属性列的完整性约束条件n:涉及一个或多个属性列的完整性约束条件18一、定义基本表一、定义基本表例1建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,Sn
9、ameCHAR(20)UNIQUE,SsexCHAR(2),SageINT,SdeptCHAR(15);19定义基本表(续)定义基本表(续)n常用完整性约束n主码约束:PRIMARYKEYn唯一性约束:UNIQUEn非空值约束:NOTNULLn参照完整性约束20定义基本表(续)定义基本表(续)21定义基本表(续)定义基本表(续)22例题例题(续)(续)n例2建立一个“学生选课”表SC,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno,Cno)为主码。nCREATETABLESC(nSnoCHAR(5),nCnoCHAR(3),nGradeint,nPrimarykey(Sno
10、,Cno);23二、修改基本表二、修改基本表ALTERTABLEADD完整性约束DROPMODIFY;n:要修改的基本表nADD子句:增加新列和新的完整性约束条件nDROP子句:删除指定的完整性约束条件nMODIFY子句:用于修改列名和数据类型24例题例题 例2向Student表增加“入学时间”列,其数据类型为日期型。ALTERTABLEStudentADDScomeDATE;n不论基本表中原来是否已有数据,新增加的列一律为空值。25语句格式(续)语句格式(续)n删除属性列直接/间接删除n把表中要保留的列及其内容复制到一个新表中n删除原表n再将新表重命名为原表名直接删除属性列:(新)例:ALT
11、ERTABLEStudentDropScome;26 例3将年龄的数据类型改为半字长整数。ALTERTABLEStudentMODIFYSageSMALLINT;n注:修改原有的列定义有可能会破坏已有数据27例题例题 例4删除学生姓名必须取唯一值的约束。ALTERTABLEStudentDROPUNIQUE(Sname);28三、删除基本表三、删除基本表 DROPTABLE;基本表定义一旦删除,表中的数据、此表上建立的索引和视图都将自动删除。29例题例题例5删除Student表DROPTABLEStudent;303.2.2 建立与删除索引建立与删除索引 n建立索引是加快查询速度的有效手段n建
12、立索引nDBA或表的属主(即建立表的人)根据需要建立n有些DBMS自动建立以下列上的索引nPRIMARYKEYnUNIQUEn维护索引nDBMS自动完成n使用索引nDBMS自动选择是否使用索引以及使用哪些索引31一、建立索引一、建立索引 n语句格式CREATEUNIQUECLUSTERINDEXON(,);n用指定要建索引的基本表名字n索引可以建立在该表的一列或多列上,各列名之间用逗号分隔n用指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASCnUNIQUE表明此索引的每一个索引值只对应唯一的数据记录nCLUSTER表示要建立的索引是聚簇索引。32例题例题 例6为学生-课程数据库
13、中的Student,Course,SC三个表建立索引。其中Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。CREATEUNIQUEINDEXStusnoONStudent(Sno);CREATEUNIQUEINDEXCoucnoONCourse(Cno);CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC);33建立索引建立索引(续)(续)n唯一值索引n对于已含重复值的属性列不能建UNIQUE索引n对某个列建立UNIQUE索引后,插入新记录时DBMS会自动检查新记录在该列上是否取了重复值。这相当于
14、增加了一个UNIQUE约束34建立索引建立索引(续)(续)n聚簇索引n建建立立聚聚簇簇索索引引后后,基基表表中中数数据据也也需需要要按按指指定定的的聚聚簇簇属属性性值值的的升升序序或或降降序序存存放放。也也即即聚聚簇簇索索引引的的索索引引项项顺顺序序与与表表中中记记录录的的物物理理顺序一致顺序一致例:CREATECLUSTERINDEXStusnameONStudent(Sname);在在Student表的表的Sname(姓名)列上建立一个聚簇索引,而(姓名)列上建立一个聚簇索引,而且且Student表中的记录表中的记录将按照将按照Sname值的升序存放值的升序存放35建立索引建立索引(续)(
15、续)n在一个基本表上最多只能建立一个聚簇索引n聚簇索引的用途:对于某些类型的查询,可以提高查询效率n聚簇索引的适用范围n很少对基表进行增删操作n很少对其中的变长列进行修改操作36二、删除索引二、删除索引 DROPINDEX;n删除索引时,系统会从数据字典中删去有关该索引的描述。例7删除Student表的Stusname索引。DROPINDEXStusname;37第三章第三章 关系数据库标准语言关系数据库标准语言SQL3.1SQL概述3.2数据定义3.3查询3.4数据更新3.5视图3.6数据控制3.7嵌入式SQL3.8小结383.3 查查 询询 3.3.1概述3.3.2单表查询3.3.3连接查
16、询3.3.4嵌套查询3.3.5集合查询3.3.6小结393.3.1 概述概述nSQL语言中最主要、最核心的部分是它的查询功能。语言中最主要、最核心的部分是它的查询功能。n在关系数据库中,查询的含义是用来描述如何从数据库中在关系数据库中,查询的含义是用来描述如何从数据库中获取所需要的数据。获取所需要的数据。n关于查询的含义要明确以下关于查询的含义要明确以下3点:点:n任何时候使用任何时候使用SQL语句与语句与SQL Server中的数据进行交互时,都是中的数据进行交互时,都是在执行一个查询。在执行一个查询。n查询可以一次性地进行,也可以保存下来,以便以后多次执行。查询可以一次性地进行,也可以保存
17、下来,以便以后多次执行。n查询是查询是DBA与与SQL Server数据库进行交互的重要手段。数据库进行交互的重要手段。403.3.1 概述概述 语句格式SELECTALL|DISTINCT,FROM,WHEREGROUPBYHAVINGORDERBYASC|DESC;41语句格式语句格式nSELECT子句:指定要显示的属性列nFROM子句:指定查询对象(基本表或视图)nWHERE子句:指定查询条件nGROUPBY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。nHAVING短语:筛选出只有满足指定条件的组nORDERBY子句:对查询结果表按指定列值的升序或降序排序42语句格式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 武大版 关系 标准 语言 SQL1ppt 课件
限制150内