第三章SQL语言3.1-3.4.ppt
- 文档编号:2716102
- 上传时间:2022-11-09
- 格式:PPT
- 页数:166
- 大小:1.36MB
第三章SQL语言3.1-3.4.ppt
《第三章SQL语言3.1-3.4.ppt》由会员分享,可在线阅读,更多相关《第三章SQL语言3.1-3.4.ppt(166页珍藏版)》请在冰豆网上搜索。
数据库系统原理数据库系统原理授课教师:
吴岩授课教师:
吴岩2第三章第三章SQLSQL语言语言学习要求学习要求掌握关系数据掌握关系数据库标准准语言言SQL的数据定的数据定义、数据操数据操纵、数据、数据查询和数据控制和数据控制语句;掌握句;掌握视图的基本概念及定的基本概念及定义、查询和更新。
和更新。
3第三章第三章SQLSQL语言语言3.1SQL概述概述3.2学生学生-课程数据课程数据库库3.3数据定义数据定义3.4数据查询数据查询3.5数据操纵数据操纵3.6视图视图3.7数据控制数据控制4第一节第一节SQL概概述述SQL语言的产生与发展语言的产生与发展SQL语言的基本概念语言的基本概念SQL语言的特点语言的特点第三章第三章SQLSQL语言语言5第三章第三章SQLSQL语言语言5一、一、SQL的产生与发展的产生与发展SQL语言语言(StructuredQueryLanguage)1975年由年由Boyce和和Chamberlin提出提出1975年年1979年年IBM公公司司在在SystemR原原型型系系统上实现统上实现是是关关系系数数据据库库的的标标准准语语言言,是是数数据据库库领领域域中中一一个主流语言个主流语言6SQL的产生与发展的产生与发展(续续)SQL标准标准SQL-86第一个第一个SQL标准标准由由美美国国国国家家标标准准局局的的数数据据库库委委员员会会(AmericanNationalStandardInstitute,简简称称ANSI)公布)公布1987年年国国际际标标准准化化组组织织(InternationalOrganizationforStandardization,简简称称ISO)通过通过第三章第三章SQLSQL语言语言7SQL的产生与发展的产生与发展(续续)标准标准大致页数大致页数发布日期发布日期SQL/861986年年10月月SQL/89120页页1989年年SQL/92622页页1992年年SQL/991700页页1999年年SQL/20033600页页2003年年8二、二、SQL语言的基本概念语言的基本概念图3.1SQL对关系数据库模式的支持SQL语言支持关系数据库三级模式结构语言支持关系数据库三级模式结构SQL视图视图11视图视图22基本表基本表11基本表基本表22基本表基本表44基本表基本表33存储文件存储文件11存储文件存储文件22外模式外模式模模式式内模式内模式第三章第三章SQLSQL语言语言9SQL语言的基本概念(续)语言的基本概念(续)l用户用用户用SQL语言对语言对基本表基本表和和视图视图进行操作。
进行操作。
l基本表基本表本身独立存在的表本身独立存在的表,一个关系对应一个表一个关系对应一个表一个(或多个)基本表对应一个存储文件一个(或多个)基本表对应一个存储文件一个表可以带若干索引一个表可以带若干索引,索引也存放在存储文件中索引也存放在存储文件中l存储文件存储文件存储文件的逻辑结构组成了关系数据库的内模式存储文件的逻辑结构组成了关系数据库的内模式存储文件的物理结构存储文件的物理结构对用户是透明的对用户是透明的l视图视图从一个或几个基本表或视图导出的表从一个或几个基本表或视图导出的表是虚表是虚表,只存放视图的定义而不存放对应数据只存放视图的定义而不存放对应数据第三章第三章SQLSQL语言语言10三、三、SQL的特点的特点综合统一综合统一2.高度非过程化高度非过程化3.面向集合的操作方式面向集合的操作方式4.同一种语法结构提供两种使用方式同一种语法结构提供两种使用方式5.语言简捷语言简捷,易学易用易学易用第三章第三章SQLSQL语言语言11综合统一综合统一SQL语言集数据定义语言语言集数据定义语言DDL、数据查询、数据查询语言语言DQL、数据操纵语言、数据操纵语言DML、数据控制语言、数据控制语言DCL的功能于一体。
的功能于一体。
l数据定义语言数据定义语言DDL:
创建数据库中的各种对象;:
创建数据库中的各种对象;l数据查询语言数据查询语言DQL:
提供对数据库数据查询;:
提供对数据库数据查询;l数据操纵语言数据操纵语言DML:
对数据库数据插入、修改和删:
对数据库数据插入、修改和删除等基本操作;除等基本操作;l数据控制语言数据控制语言DCL:
用来授予或回收访问数据库的某:
用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,种特权,并控制数据库操纵事务发生的时间及效果,对数据库进行监视等。
对数据库进行监视等。
第三章第三章SQLSQL语言语言122.高度非过程化高度非过程化用户只提出用户只提出“做什么做什么”,而不必指明而不必指明“怎么做怎么做”存存取取路路径径的的选选择择以以及及SQL语语句句的的操操作作过过程程由由系系统统自自动动完完成成,大大大大减减轻轻了了用用户户负负担担,而且有利于提高数据独立性。
而且有利于提高数据独立性。
第三章第三章SQLSQL语言语言133.面向集合的操作方式面向集合的操作方式SQL语言采用集合操作方式语言采用集合操作方式操作对象、查找结果可以是元组的集合操作对象、查找结果可以是元组的集合一一次次插插入入、删删除除、更更新新操操作作的的对对象象可可以以是是元元组的集合。
组的集合。
非非关关系系数数据据模模型型采采用用的的是是面面向向记记录录的的操操作作方方式式,操作对象是一条记录。
操作对象是一条记录。
第三章第三章SQLSQL语言语言144.同一种语法结构提供两种使用方式同一种语法结构提供两种使用方式自含式语言自含式语言能够独立地用于联机交互的使用方式。
能够独立地用于联机交互的使用方式。
嵌入式语言嵌入式语言能能够够嵌嵌入入到到高高级级语语言言(例例如如C,C+,Java)程序中,供程序员设计程序时使用。
程序中,供程序员设计程序时使用。
两种不同使用方式下,两种不同使用方式下,SQL语言的语法结构基语言的语法结构基本一致。
本一致。
第三章第三章SQLSQL语言语言1516175.语言简捷语言简捷,易学易用易学易用SQL语言功能很强,但语言简练,核心语言功能很强,但语言简练,核心功能只用功能只用9个动词个动词。
SQL语言接近英语口语,语言接近英语口语,易学、易用。
易学、易用。
第三章第三章SQLSQL语言语言18第三章第三章关系数据库标准语言关系数据库标准语言SQL3.1SQL概述概述3.2学生学生-课程数据库课程数据库3.2数据定义数据定义3.3查询查询3.4数据更新数据更新3.5视图视图3.6数据控制数据控制第三章第三章SQLSQL语言语言19第二节第二节学生学生-课程数据库课程数据库首先定首先定义个学生个学生-课程模式程模式S-T。
学生。
学生-课程数据程数据库中包括以下三个表:
中包括以下三个表:
学生表:
学生表:
Student(Sno,Sname,Ssex,Sage,Sdept)课程表:
程表:
Course(Cno,Cname,Cpno,Ccredit)学生学生选课表:
表:
SC(Sno,Cno,Grade)各表中的数据示例如下:
各表中的数据示例如下:
Student第三章第三章SQLSQL语言语言学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sdept201015121李勇李勇男男20CS201015122刘晨刘晨女女19CS201015123王敏王敏女女18MA201015124张利张利男男19IS20学生学生-课程数据库基本表课程数据库基本表CourseSC第三章第三章SQLSQL语言语言课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Ccredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27C语言语言64学号学号Sno课程号课程号Cno成绩成绩Grade20101512119220101512128520101512138820101512229020101512238021第三章第三章关系数据库标准语言关系数据库标准语言SQL3.1SQL概述概述3.2学生学生-课程数据库课程数据库3.3数据定义数据定义3.4查询查询3.5数据更新数据更新3.6视图视图3.7数据控制数据控制第三章第三章SQLSQL语言语言22第三节第三节数据定义数据定义l概述概述l数据类型数据类型l模式的定义与删除模式的定义与删除l表的定义、修改与删除表的定义、修改与删除l索引的建立与删除索引的建立与删除第三章第三章SQLSQL语言语言23一、概述一、概述SQL的数据定义功能的数据定义功能定义表定义表创建表创建表删除表删除表修改表定义修改表定义第三章第三章SQLSQL语言语言定义视图定义视图创建视图创建视图删除视图删除视图修改视图(删除修改视图(删除+创建)创建)定义索引定义索引创建索引创建索引删除索引删除索引修改索引(删除修改索引(删除+创建)创建)24SQL的数据定义语句的数据定义语句操作对象操作对象操作方式操作方式创建创建删除删除修改修改表表CREATTABLEDROPTABLEALTERTABLE视图视图CREATVIEWDROPVIEW索引索引CREATINDEXDROPINDEX第三章第三章SQLSQL语言语言25二、数据类型二、数据类型在在SQL中域的概念用数据类型来实现。
中域的概念用数据类型来实现。
属性选用哪种数据类型从两个方面来考虑:
属性选用哪种数据类型从两个方面来考虑:
取值范围取值范围做哪些运算做哪些运算第三章第三章SQLSQL语言语言数据类型数据类型含义含义CHAR(n)长度度为n的定的定长字符串字符串VARCHAR(n)最大最大长度度为n的的变长字符串字符串INT长整数整数SMALLINT短整数短整数NUMERIC定点数,由定点数,由p位数字位数字组成,小数后面有成,小数后面有d位数字位数字DOUBLEPRECISION取决于机器精度的双精度浮点数取决于机器精度的双精度浮点数FLOAT(n)浮点数,精度至少浮点数,精度至少为n位数字位数字DATE日期,包含年、月、日,格式日期,包含年、月、日,格式为YYYY-MM-DDTIME时间,包含一日的,包含一日的时、分、秒,格式、分、秒,格式为HH:
MM:
SS26数据类型数据类型不不同同的的数数据据库库系系统统支支持持的的数数据据类类型型不不完完全全相相同。
同。
IBMDB2SQL支持的数据类型支持的数据类型SMALLINT半字长二进制整数半字长二进制整数.INTEGER或或INT全字长二进制整数全字长二进制整数.DECIMAL(p,q)或或DEC(p,q)压压缩缩十十进进制制数数,共共p位位,其其中中小小数数点点后后有有q位位.0qp15,q=0时可以省略不写时可以省略不写.FLOAT双字长浮点数双字长浮点数.第三章第三章SQLSQL语言语言27三三、基本表的定义、删除与修改、基本表的定义、删除与修改1、定义基本表、定义基本表语句格式语句格式CREATETABLE(,););:
所要定义的基本表的名字所要定义的基本表的名字:
组成该表的各个属性(列)组成该表的各个属性(列):
涉涉及及相相应应属属性性列列的的完完整整性性约约束束条条件件:
涉及一个或多个属性列的完整性涉及一个或多个属性列的完整性约束条件约束条件第三章第三章SQLSQL语言语言28定义基本表(续)定义基本表(续)常用完整性约束常用完整性约束主码约束主码约束:
PRIMARYKEY唯一性约束唯一性约束:
UNIQUE非空值约束非空值约束:
NOTNULL参照完整性约束参照完整性约束第三章第三章SQLSQL语言语言2929例题例题【例例1】建立一个建立一个“学生学生”表表Student,它由学号它由学号Sno、姓名、姓名Sname、性别、性别Ssex、年龄、年龄Sage、所在、所在系系Sdept五个属性组成。
其中学号为主码,并且五个属性组成。
其中学号为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 SQL 语言 3.1 3.4