




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章关系数据库语言SQL,本章提纲:一.SQL概述(3.1)二.SQL的功能数据定义功能(3.2)数据查询功能(3.3)数据修改功能(3.4)数据控制功能(第6,7章)三.视图(3.5),目录*,3.1SQL概述3.1.1SQL产生与标准3.1.2SQL功能与组成3.1.3语句类型与数据类型3.2数据定义3.3数据查询3.4数据修改3.5视图管理,SQL的产生与标准,什么是SQL?StructuredQueryLanguage(结构化查询语言)的缩写SQL是一种数据库语言提供了对关系数据库的定义、操纵(查询和修改)、控制等功能SQL是关系数据库的标准语言主流的关系数据库管理系统软件,虽然提供的(用户与数据库交互用的)数据库语言各有不同,但都要遵循这一标准。不管是Oracle的PL/SQL,还是SQLServer的Transact-SQL,它们与标准SQL都是大同小异的。SQL的历史1974年,由Boyce和Chamber提出1975-1979年,在SystemR上实现,由IBM的SanJose研究室研制,称为Sequel,SQL的产生与标准,SQL的标准化相关组织ANSI(AmericanNationalStandardInstitute)美国国家标准协会ISO(InternationalOrganizationforStandardization)国际标准化组织相关版本SQL-86:“数据库语言SQL”,确立了SQL(击败其它竞争对手)成为关系数据库的标准语言。SQL-89:“具有完整性增强的数据库语言SQL”,增加了对完整性约束的支持,SQL的产生与标准,SQL-92(SQL-2)是SQL-89的超集,增加了许多新特性,如新的数据类型,更丰富的数据操作,更强的完整性、安全性支持等。SQL-99(SQL-3)增加了对对象模型的支持SQL-2003标志着传统关系模型到非关系模型(对象模型和XML模型)的第二次重要扩充,即本章学习的SQL,SQL的特点,SQL的特点1.综合统一性功能的统一:提供数据定义、操纵和控制功能,集DDL、DML和DCL等语言于一体。操作过程的统一:都是对关系进行操作,包括操作对象和结果2.高度非过程化用户只需提出“做什么”,而无须说明“怎么做”,不必介入具体的操作实现过程(由系统自动处理)3.面向集合的操作方式一次一集合:每次操作的对象和结果都是关系(记录集合)与之相反的是“一次一记录”:每次操作只能处理一条记录,要通过循环等手段才能处理一个记录集合,SQL的特点,4.两种使用方式,统一的语法结构自含式SQL:数据库管理系统自带,供用户与数据库联机交互使用,所以又称为联机式SQL。嵌入式SQL:嵌入到高级语言里面,供程序员用这些高级语言开发数据库应用程序时使用。5.语言简洁,易学易用,SQL规定的三级模式结构,数据库的三级模式物理模式整体数据库的物理结构描述所有数据是如何在硬盘等介质上存储的逻辑模式整体数据库的逻辑结构描述所有数据的结构及所有数据间的联系子模式部分数据库的逻辑结构描述某个特定用户能看到的那一部分数据的结构及它们之间的联系,SQL规定的三级模式结构,SQL中所规定的数据库结构(三级模式结构),SQL的数据类型,SQL-92标准中规定的数据类型char(n):长度固定为n的字符串varchar(n):可变长度的字符串,最大长度为nint:整数smallint:小整数numeric(p,q):总共不多于p位,小数点右边不多于q位的定点数real:浮点数doubleprecision:双精度浮点数float(n):精度至少为n位的浮点数date:日期(年,月,日)time:时间(小时,分,秒)interval:两个date或time类型数据之间的差,SQL的功能,SQL的功能和相应的操作语句,SQL的功能,SQL的功能和相应的操作语句,SQL的功能,SQL的功能和相应的操作语句,目录*,3.1SQL概述3.2数据定义3.2.1SQL模式定义3.2.2基本表定义3.2.3索引定义3.3数据查询3.4数据修改3.5视图管理,SQL的数据定义功能,SQL提供各种对象的定义数据库/模式SQL中,一个关系数据库(的模式)可以称为SQL模式或模式。包含为满足应用需要而建立的多个基本表、视图、索引等。关系视图索引用户域(数据类型),SQL的数据定义功能,模式的定义,新建模式格式createschema模式名authorization所有者用户名示例createschemaClass_schemaauthorizationDBA撤销模式格式dropschema模式名cascade|restrict示例dropschemaClass_dbcascade,数据库的定义,新建数据库格式createdatabase数据库名示例createdatabaseClass_db撤销数据库格式dropdatabase数据库名示例dropdatabaseClass_db,(基本表)关系的定义,新建(基本表)关系命令格式createtable关系名(属性名域default缺省值null|notnull,属性名域default缺省值null|notnull,primarykey(属性名,属性名),foreignkey(属性名,属性名)references被参照关系名(属性名,属性名),check(条件)格式:A表示A出现0或1次;A表示A出现0或1或多次,关系的属性,1或多个,关系的主码,0或1个,关系的外部码,0或多个,每一个元组(内部属性值)都必须满足的约束条件(插入或更新元组时检查),(基本表)关系的定义,例:createtableS(SNOVARCHAR(4),SNAMEPERSON-NAMEnotnull,AGESMALLINTdefault22,SEXVARCHAR(1),primarykey(SNO),check(AGE0),S,(基本表)关系的定义,例:createtableC(CNOVARCHAR(4),CNAMEVARCHAR(10)notnull,TEACHERVARCHAR(8),primarykey(CNO),),S,C,(基本表)关系的定义,例:createtableSC(SNOVARCHAR(4),CNOVARCHAR(4),SCOREINT,primarykey(SNO,CNO),foreignkey(SNO)referencesS(SNO),foreignkey(CNO)referencesC(CNO),check(SCOREISNULL)OR(SCOREBETWEEN0AND100),S,C,SC,(基本表)关系的定义,修改关系(的结构如属性等,而非内容如元组等)命令格式altertable关系名add属性名域default缺省值notnulldrop属性名modify属性名新域default新缺省值notnull例altertableSaddDEPTVARCHAR(20)notnullaltertableSCmodifyRESULTSMALLINT,(基本表)关系的定义,撤销关系命令格式droptable关系名示例droptableSCWarning!:撤销关系的定义后,关系的结构(字段)和内容(数据记录)都不再存在。相关索引,由它导出的视图也都可能被连带撤销。,索引的定义,新建索引格式createuniqueclusterindex索引名on表名(属性名,属性名,)unique表示唯一索引;cluster表示聚簇索引示例createuniqueindexindex_on_s_s#onS(S#)撤销索引格式dropindex索引名示例dropindexindex_on_s_s#,目录*,3.1SQL概述3.2数据定义3.3数据查询3.4数据修改3.5视图管理,SQL的数据查询功能,统一的查询语句:Select语句基本结构Select子句(投影)From子句(笛卡儿积)Where子句(选择)汇合基本结构汇合多个基本结构查询出的结果(集合运算)扩展基本结构增加GroupBy子句(聚集运算)增加OrderBy子句(对结果排序)嵌套子查询连接关系,Select查询的基本结构,基本结构:SelectA1,A2,AnFromR1,R2,RmWherePA1,A2,An:属性R1,R2,Rm:关系P:条件(布尔表达式)近似等价关系运算A1,A2,An(p(R1R2Rm)运算和次序From(笛卡儿积)Where(选择)Select(投影),Select子句,作用:从(From子句列出的)关系中选出指定属性近似于投影运算应用示例:S:学生关系问:所有学生的姓名和年龄?,Select姓名,年龄FromS,S,保留指定的属性,Select子句,要点属性列表中,可以用表达式来构造的新属性相当于广义投影运算例S:学生关系问:每个学生的出生年份,S,Select姓名,2013年龄FromS,Select子句,用表达式构造的新属性无属性名,但可采用以下方式命名表达式as属性名原有属性也可用如下方式重新命名旧属性名as新属性名,S,Select姓名as学生姓名,2013年龄as出生年份FromS,Select子句,要点如果列出的关系有多个,且有同名属性。则指定这些同名属性时,必须加关系名前缀:关系名.属性名。其它属性可加可不加以下SQL正确么?如正确,结果关系的属性名是什么?Select姓名,性别,成绩FromR,SSelectR.姓名,S.姓名,S.性别FromR,S,S,R,Select子句,要点在属性列表中,*号表示所有关系的所有属性,关系名.*表示某个关系的所有属性思考,下列SQL的结果包含哪些属性?,Select*FromS,R,S,R,SelectS.*,R.成绩FromS,R,思考,select子句等价于投影运算么?,Select子句,要点Select后面,属性列表前,可加上关键字all或者distinctall关键字表明结果中不消去重复元组distinct关键字表明结果中消去重复元组没说明all或distinct的情况下,默认是all,即不消去重复行,Selectall课程FromR,R,Selectdistinct课程FromR,思考,select子句等价于投影运算么?selectdistinct等价于投影。select或者selectall都未消去重复,Where子句,作用:选出满足条件的行等价于选择运算例:S:学生关系问:所有男学生的信息?,S,筛选满足条件的行,SelectFromSWhere性别=男,Where子句,在Where子句的条件中可能出现的运算符号比较运算符、=、逻辑运算符and,or,not范围运算格式1:between下界and上界(下界上界)格式2:notbetween下界and上界例1:年龄between20and23例2:年龄between23and20,Where子句,集合运算:格式1:in集合;格式2:notin集合例:姓名in小陈,小李例:姓名notin小陈,小李匹配运算格式:like匹配串;notlike匹配串是转义字符例1:姓名like陈%例2:姓名like陈_例3:内容like%100%正确%,Where子句,例:S:学生关系问:所有学生的姓名和出生年份?,S,Select姓名,2013年龄as出生年份FromS,Where子句,例:S:学生关系问:所有91年之前(不含91年)出生的学生姓名和出生年份?,S,Select姓名,2013年龄as出生年份FromSWhere出生年份1991,Select姓名,2013年龄as出生年份FromSWhere2013年龄85,OrderBy子句,格式(出现在最最后面)SelectA1,A2,AnFromR1,R2,RmWherePGroupBy属性1,属性2,Having分组限定条件QOrderBy属性1ascdesc,属性2ascdesc,OrderBy子句的作用:在Select子句得出结果后,对结果进行排序先按属性1的值,升序(asc)或降序(desc)排列,缺省是升序;属性1的值相同时,再按属性2值升序或降序排列,OrderBy子句,例R:选修关系问:从高到低列出物理课程的成绩,R,Select姓名,成绩FromSWhere课程=物理OrderBy成绩desc,总结,Select语句的运算“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF(石化)062-2023总烃浓度在线监测仪(氢火焰离子化法)校准规范
- 初中数学第1课时++有理数的乘法课件+北师大版七年级数学上册++
- 暑假培优练:交变电流(学生版)-2025人教版新高二物理暑假专项提升
- 新解读《GB-T 16950-2014地质岩心钻探钻具》
- 突破离子方程式书写正误判断中的“六大陷阱”-高考化学考点复习(解析版)
- 重庆中级课件
- 《英语演讲与辩论》课程介绍与教学大纲
- 社会科学研究方法 课件 第二章 研究的类型
- 蓝牙技术简介
- 老年人应急安全知识培训课件
- 肝脏的解剖和分段分叶
- 校外集体配餐管理制度
- 2025至2030年中国口腔喷雾剂行业市场竞争态势及发展前景研判报告
- 关于卫生院“十五五”发展规划(详细版)
- T/CECS 10163-2021纤维增强聚氨酯复合材料杆塔
- 机械设备安装施工服务承诺书范文
- 露天矿山安全培训课件
- 2025-2030全球及中国工程CAD软件行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 塔吊前臂临近高压线处理方案
- 2025浙江1月卷读后续写及满分语料10类40句 (真假小偷) 解析版
- 构音训练测试题及答案
评论
0/150
提交评论