欢迎来到天天文库
浏览记录
ID:39707641
大小:483.00 KB
页数:110页
时间:2019-07-09
《数据库基础SQL语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库基础第三章SQL语言主讲人:范昭赋中山大学计算机科学系fanzhf@mail.sysu.edu.cn声明:本课件在汤娜老师课件基础上改编3.1SQL语言概况3.2SQL数据定义语言3.3SQL数据查询语言3.3.1单表查询3.3.2连接查询3.3.3嵌套查询3.3.4select的一般格式3.3.5总结3.1SQL语言概况SQL简介结构化查询语言SQL(StructuredQueryLanguage)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。目前已成为关系数据库
2、的标准语言。SQL语言的版本包括:SQL-89,SQL-92,SQL3。SQL特点SQL语言之所以能够为用户和业界所接受,成为国际标准,是因为它是一个综合的、通用的、功能极强同时又简洁易学的语言。SQL语言集数据查询(dataquery)、数据操纵(datamanipulation)、数据定义(datadefinition)和数据控制(datacontrol)功能于一体,充分体现了关系数据语言的特点和优点。3.1SQL语言概况SQL的基本概念SQL语言支持关系数据库三级模式结构。其中外模式对应于视图(View),模式对应于基本表,内模式对应于存储
3、文件。基本表是本身独立存在的表,在SQL中一个关系就对应一个表。一些基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理文件结构是任意的。视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是说数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。用户可以用SQL语言对视图和基本表进行查询。在用户眼中,视图和基本表都是关系,而存储文件对用户是透明的。3.1SQL语言概况SQL的基本功能(1)数据定义功能●基
4、本表的建立、取消与更改。●索引的建立与取消。●视图的创建与取消。(2)数据查询功能(包括数据表和视图)(3)数据更新功能●数据插入、删除、修改功能。(4)数据控制功能●数据库保护功能(安全性和完整性保护)。●事务管理功能(数据库故障恢复和并发事务处理)。SQL的其他一些功能:●与主语言的接口:SQL提供4条游标语句(见3.7节)用于解决SQL与主语言之间因数据不匹配所引起的接口问题。●存储过程:SQL还提供远程调用功能,在远程方式下客户机中的应用可通过网络调用服务器数据库中的存储过程。存储过程是一个由SQL语句所组成的过程,该过程在被应用程序调用
5、后就执行SQL的语句系列,最后将结果返回应用。存储过程可为多个应用所共享。3.1SQL语言概况3.2SQL数据定义语言3.2SQL数据定义语言定义基本表一般格式如下:CREATETABLE<表名>(<列名><数据类型>[列级完整性约束条件][,<列名><数据类型>[列级完整性约束条件]...)[,<表级完整性约束条件>];其中<表名>是所要定义的基本表的名字,它可以由一个或多个属性(列)组成。建表的同时通常还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由DBMS自动检查该操作是否违背这些完整性
6、约束条件。如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。3.2SQL数据定义语言定义基本表(续)下面我们以一个“学生-课程”数据库为例说明Sql语句的各种用法。“学生-课程”数据库中包括三个表:“学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为:Student(Sno,Sname,Ssex,Sage,Sdept)Sno“课程”表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、老师
7、(Teacher)四个属性组成,可记为:Course(Cno,Cname,Cpno,teacher)Cno“学生选课”表SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,可记为:SC(Sno,Cno,Grade)(SNO,CNO)3.2SQL数据定义语言定义基本表(续)例1:建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,Sn
8、ameCHAR(20),SsexCHAR(1),SageINT,SdeptCHAR(15));3.2SQL数据定义语言定义基本表(续)定
此文档下载收益归作者所有