大学计算机基础第四章数据库技术.ppt
第第 4 4 讲讲数据库技术基础数据库技术基础 华中科技大学华中科技大学网络与计算机中心网络与计算机中心网络与计算中心网络与计算中心目前数据处理成为目前数据处理成为计算机应用的主要方面计算机应用的主要方面我们是如何使用数据的?我们是如何使用数据的?网络与计算中心网络与计算中心3 3引例引例单击提交按钮后发生了什么?单击提交按钮后发生了什么?1.将用户的选择写入已定义好的数据库表中2.从表中读取数据,分别统计出,B,C,D选项所占比例。3.将统计结果显示在页面上n个学生答案统计到数据库中网络与计算中心网络与计算中心引例引例人数人数150人人应用程度应用程度20人没接触人没接触2人会简单程序设计人会简单程序设计教学方式教学方式120人多媒体人多媒体兴趣兴趣100人感兴趣人感兴趣向学生反馈结果任课老师了解情况2012级电子专业调查情况教务处制定教学计划n个学生答案统计到数据库中2010年年 2011年年 2012年年新生人数新生人数5418人人5520人人5350人人没接触比没接触比例例70%82%95%证书比例证书比例1%2%4%难度适中难度适中比例比例75%60%40%多媒体教多媒体教学学45%56%95%网络与计算中心网络与计算中心数据库系统技术:数据库系统技术:是数据管理技术发是数据管理技术发展的最新研究成果。展的最新研究成果。显然显然数据处理的中心问题是数据管理。数据处理的中心问题是数据管理。从这门课中我们将学到什么?从这门课中我们将学到什么?什么是数据库技术?什么是数据库技术?What?12数据库能做什么?数据库能做什么?Why?如何设计和使用数据库?如何设计和使用数据库?How?3网络与计算中心网络与计算中心1.数据库能做什么?数据库能做什么?p存储大量数据,并可以增加、删除和修改。p快速地对数据进行检索、排序、分析、汇总并报告结果。网络与计算中心网络与计算中心数据库能做什么?数据库能做什么?-高考数据分析应用实例高考数据分析应用实例p比如,大家都知道每年各省都公示一分一段一分一段数据,那么我们如何实现呢?数据的存储用各门课成绩求总分求出一分一段结果网络与计算中心网络与计算中心高考数据分析:数据的存储高考数据分析:数据的存储p数据量:2011年全国933万,湖北48.5万 Excel2003:列数最多256列 行数最多 65536行p数据库存储:关系数据库,二维表p假如每个考生的信息如下:考号、姓名、性别、类别、语文、数学、外语、综合,类别分为文理科网络与计算中心网络与计算中心高考数据分析:数据的存储高考数据分析:数据的存储所有考生的数据就构成一个二维表,如下:网络与计算中心网络与计算中心高考数据分析:求每个人的总分高考数据分析:求每个人的总分Access中可以用一条语句实现:SELECT 考号,类别,语文+数学+外语+综合 AS 总分 INTO aaaFROM 高考成绩表;网络与计算中心网络与计算中心高考数据分析:求出一分一段结果高考数据分析:求出一分一段结果p然后,在使用如下命令对上面的表进行统计。SELECT 总分,count(*)AS 人数 FROM aaa WHERE 类别=1 GROUP BY 总分 ORDER BY 总分 DESC;网络与计算中心网络与计算中心第第四章四章 数据库技术基础数据库技术基础4.1 4.1 数据库系统的基本概念数据库系统的基本概念4.2 4.2 数据模型数据模型4.3 Select4.3 Select语句的基本应用语句的基本应用4.4 ACCESS4.4 ACCESS数据库数据库Title in here3了解了解了解了解数据数据数据数据、信息处理信息处理信息处理信息处理的概念。的概念。的概念。的概念。了解了解了解了解数据库数据库数据库数据库、数据库管理系统数据库管理系统数据库管理系统数据库管理系统及其功能。及其功能。及其功能。及其功能。了解数据库系统的了解数据库系统的了解数据库系统的了解数据库系统的组成组成组成组成。4.1 数据库系统的基本概念数据库系统的基本概念网络与计算中心网络与计算中心245.78 礼貌礼貌 aBkWG 4.1.1 数据、信息和数据处理数据、信息和数据处理u 什么是数据(什么是数据(Data)?定义:描述事物的符号定义:描述事物的符号种类:数字、文字、图种类:数字、文字、图形、图像、声音形、图像、声音网络与计算中心网络与计算中心u 什么是信息(什么是信息(Information)?信息是有一定含义的、经过加工处理的、有价信息是有一定含义的、经过加工处理的、有价值的数据。值的数据。4.1.1 数据、信息和数据处理数据、信息和数据处理18是什么?是什么?数据数据信息信息表现形式载体网络与计算中心网络与计算中心4.1.1 数据、信息和数据处理数据、信息和数据处理信息:信息:1.你是:理工科学生你是:理工科学生2.你是否对计算机感兴趣:只是想上网你是否对计算机感兴趣:只是想上网3.上大学前你的计算机应用程度:会使用上大学前你的计算机应用程度:会使用一些简单的常用软件比如一些简单的常用软件比如office4.如果在学校网站上有关于教学资料,你如果在学校网站上有关于教学资料,你会去看吗?:会会去看吗?:会5.你认为大学计算机基础教学是为了:应你认为大学计算机基础教学是为了:应用用现实世界现实世界数据数据1.A2.B3.C4.A5.A信息世界信息世界计算机世界计算机世界从现实世界到计算机世界转换的过程体现了计算思维方法4.1.2 数据库系统数据库系统u 什么是数据库(什么是数据库(DataBase,DB)存放数据的仓库存放数据的仓库按一定的数据模型组织、描述长期存储;按一定的数据模型组织、描述长期存储;数据不是孤立的,是相互关联的。数据不是孤立的,是相互关联的。为多个用户共享。为多个用户共享。特点特点:“一小一小”:冗余度小。:冗余度小。“三性三性”:共享性、独立性、完整性。:共享性、独立性、完整性。网络与计算中心网络与计算中心u 什么是数据库管理系统(什么是数据库管理系统(DBMS)?部门经理:货物种类表售货员:提取某品牌货物采购人员:货物数量清单 货物入库送货员:忙得一团糟忙得一团糟谁来帮帮忙?谁来帮帮忙?仓库管理员网络与计算中心网络与计算中心4.1.2 数据库系统数据库系统u 什么是数据库管理系统(什么是数据库管理系统(DBMS)?应用程序应用程序A1A1应用程序应用程序A2A2应用程序应用程序A3A3数据库管理系统数据库管理系统DBMSDBMS数数据据库库DBMS:位于用户与:位于用户与DB之间的一层数据管理软件之间的一层数据管理软件网络与计算中心网络与计算中心4.1.2 数据库系统数据库系统u 什么是数据库系统?什么是数据库系统?由计算机平台、数据库、数据库管理系统、数据库应用系统 和用户构成。数据库数据库计计算算机机平平台台DBMS应用程序应用程序用户用户用户用户用户用户问题1:如何建立、管理数据库?问题2:如何使用数据库?网络与计算中心网络与计算中心4.1.2 数据库系统数据库系统应用程序应用程序DBMSACCESSSQL SERVERORACLEDB2SQL命令命令数据库引擎数据库引擎数据库数据库Sybase单机版单机版VBPowerbuilderDelphi网络版网络版PHPASPJSP网络与计算中心网络与计算中心4.1.3 数据库技术的发展数据库技术的发展待解决问题:待解决问题:4.2 数据模型数据模型问题问题1:如何建立、管理:如何建立、管理数据库?数据库?(理论)(理论)网络与计算中心网络与计算中心4.2.1 4.2.1 4.2.1 4.2.1 数据模型的组成要素数据模型的组成要素数据模型的组成要素数据模型的组成要素4.2.2 4.2.2 4.2.2 4.2.2 数据模型的分类数据模型的分类数据模型的分类数据模型的分类 4.2 数据模型数据模型网络与计算中心网络与计算中心数据描述事物的符号记录,数据库中存储的基本对象。数据模型(Data Model)现现实实世世界界中的事物及其间联系的一种抽抽象象表表示示,是一种形式化描述数据、数据间联系以及有关语义约束规则的方法为能实现对现实世界的模拟。数据模型应该满足能比较较真真实实地地模模拟拟现现实实世世界界、容容易易为为人人所所理理解解和便便于于在在计计算算机机上上实实现现的要求。4.2.1 数据模型的组成要素数据模型的组成要素网络与计算中心网络与计算中心 数据结构 数据操作 数据约束 张琳,女,张琳,女,19901990年年1111月月1010日出日出生于湖北恩施,身高生于湖北恩施,身高1 1米米6262,体重,体重54kg54kg,于,于20102010年年9 9月进入华中科技月进入华中科技大学学习,所属院系计算机学院,大学学习,所属院系计算机学院,所属专业计算机应用,所属班级所属专业计算机应用,所属班级10011001班班 李志杰,男,李志杰,男,19911991年年5 5月月1818日日出生于北京,于出生于北京,于20102010年年9 9月进入华月进入华中科技大学学习,专业班级是中科技大学学习,专业班级是10011001班。我喜欢唱歌,会英语和班。我喜欢唱歌,会英语和日语日语4.2.1 数据模型的组成要素数据模型的组成要素网络与计算中心网络与计算中心数据结构数据结构数据约束数据约束 模型中包含哪些数据类型。学生信息管理StudentScoresTeacher 指明每个记录由哪些数据项构成,并对数据项(字段)命名。每个数据项均需指明其数据类型和取值范围,保证数据完整性。网络与计算中心网络与计算中心4.2.1 数据模型的组成要素数据模型的组成要素 支持的操作及如何实现。数据结构数据结构数据结构数据结构数据约束数据约束数据操作数据操作 DBMS4.2.2 数据模型的分类数据模型的分类01101.存储器存储器 概念数据模型 逻辑数据模型 物理数据模型也称信息模型,按也称信息模型,按用户的观点建模用户的观点建模DBMSDBMS所支持的模型:所支持的模型:层次、网状、关系层次、网状、关系面向计算机物面向计算机物理表示的模型理表示的模型u计算机世界记录记录数据项数据项 文件文件数据模型数据模型u信息世界实体实体属性属性实体集实体集联系联系u现实世界事物事物特征特征全体全体关联关联转化转化抽象抽象网络与计算中心网络与计算中心实体:客观存在并可相互区分的事物。属性:实体所具有的特性。关键字:唯一标识实体的属性集。域:某个属性的取值范围。我叫张琳,我叫张琳,生于湖北恩施,生于湖北恩施,身高身高1米米62,我的学号是我的学号是1010101你猜我是你猜我是男生还是女生男生还是女生?一、概念数据模型一、概念数据模型1.概念与术语概念与术语 在进行数据库设计时,必须首先给出概念模型,它不涉及DBMS,它只描述实体的存在及联系。实体集:同型实体的集合实体型:具有相同属性的实体(具有相同的特征和性质)联系:实体之间及其内部的联系。我们是工人我们是工人我们是农民我们是农民我是老师我是老师我们是我们是学生学生我叫王涛我叫王涛我叫张琳我叫张琳我们是华科大同学我们是华科大同学多 个 实 体网络与计算中心网络与计算中心一、概念数据模型一、概念数据模型联系:各属性间的联系。实体间的联系:一对一、一对多、多对多。实体实体实体实体联系联系?:?:?班级班级关系关系班长班长111:11:n1n班级班级关系关系学生学生A学生学生N1nm1m:n课程课程关系关系学生学生A学生学生N学生学生A关系关系课程课程1课程课程M网络与计算中心网络与计算中心一、概念数据模型一、概念数据模型2.E-R图:概念模型的表示方法图:概念模型的表示方法 由美籍华裔科学家陈品山(Peter Chen)发明,是指提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。实体联系模式图(ERD,Entity Relationship Diagram)实体型实体型(Entity):用矩形表示。用矩形表示。属性属性(Attribute):用椭圆表示。:用椭圆表示。联系联系(Relationship):用菱形表示。用菱形表示。网络与计算中心网络与计算中心一、概念数据模型一、概念数据模型学生学生学生学生课程课程学习学习学号学号姓名姓名mn学生学生课程课程选修姓名学号系别课程名学时主讲老师实体联系属性mmn n学生选课信息管理系统的E-R图性别课程号成绩成绩网络与计算中心网络与计算中心一、概念数据模型一、概念数据模型354.2 数据模型数据模型二、逻辑数据模型(Logical Data Model)简称逻辑模型,是具体的简称逻辑模型,是具体的DBMSDBMS所支持的数据模型所支持的数据模型,如,如层次层次数据模型数据模型(Hierarchical Data Model)(Hierarchical Data Model)、网状网状数据模数据模型型(Network Data Model)(Network Data Model)和和关系关系数据模型(数据模型(Relation Relation Data ModelData Model)。)。逻辑数据模型既要逻辑数据模型既要面向用户面向用户,又要,又要面向系统面向系统,主要用,主要用于数据库管理系统(于数据库管理系统(DBMSDBMS)的实现。它们之间的根本区别)的实现。它们之间的根本区别在于数据之间联系的表示方式不同。在于数据之间联系的表示方式不同。364.2 数据模型数据模型u目前成熟的逻辑数据模型:面向记录的模型层次模型:以“树结构”表示数据之间的联系网状模型:以“图结构”表示数据之间的联系关系模型:以“二维表”表示数据之间的联系面向对象的模型二、逻辑数据模型(Logical Data Model)37关系模型是建立在严格的数学概念的基础上的,主要特征是用二维表格表达实体 张琳,女,张琳,女,1990年年11月月10日出生于湖北恩施,身高日出生于湖北恩施,身高1米米62,体重,体重54kg,于,于2010年年9月进入华中科技大学学习,所属院系计算机学院,月进入华中科技大学学习,所属院系计算机学院,所属专业计算机应用,所属班级所属专业计算机应用,所属班级1001班,学号班,学号1010101出生年月出生年月姓名姓名性别性别籍贯籍贯班号班号学生学生学号学号实体概念模型关系模型学号学号姓名姓名性别性别出生年月出生年月籍贯籍贯班号班号1010101张琳张琳女女1990-11-10湖北湖北1001二、逻辑数据模型二、逻辑数据模型关系模型的基本假定是所有数据都表示为数学上的关系,其主要特征是以记录组或二维数据表的形式组织数据。学号学号姓名姓名性别性别外语语种外语语种所在班级编号所在班级编号03081203010308120301张张 彦彦男男英语英语030812030308120303081203020308120302梁梁 良良男男英语英语030812030308120303081203030308120303徐徐 婧婧女女英语英语03081203030812030308120301403081203014赵苹芳赵苹芳女女英语英语0308120303081203属性属性u属性属性二维表中每一二维表中每一列列称为一个属性称为一个属性每一列有个每一列有个属性名属性名行和列的交叉位置是行和列的交叉位置是属性值属性值u域域属性的属性的取值范围取值范围二、逻辑数据模型二、逻辑数据模型关系模型是建立在严格的数学概念的基础上的,主要特征是用二维表格表达实体集合。学号学号姓名姓名性别性别外语语种外语语种所在班级编号所在班级编号03081203010308120301张张 彦彦男男英语英语030812030308120303081203020308120302梁梁 良良男男英语英语030812030308120303081203030308120303徐徐 婧婧女女英语英语03081203030812030308120301403081203014赵苹芳赵苹芳女女英语英语0308120303081203属性属性元组元组u元组元组二维表中每一二维表中每一行行称为一个元组称为一个元组在文件中对应一个在文件中对应一个记录记录二、逻辑数据模型二、逻辑数据模型40关系关系关系(Relation):一个关系对应一张二维表关系模式:对关系的描述关系名(属性1,属性2,属性n)学号学号姓名姓名性别性别外语语种外语语种班级编号班级编号03081203010308120301张张 彦彦男男英语英语030812030308120303081203020308120302梁梁 良良男男英语英语030812030308120303081203030308120303徐徐 婧婧女女英语英语03081203030812030308120301403081203014赵苹芳赵苹芳女女英语英语0308120303081203学生学生(学号,姓名,性别,外语语种,班级编号号学号,姓名,性别,外语语种,班级编号号 )二、逻辑数据模型二、逻辑数据模型二、逻辑数据模型二、逻辑数据模型41概念模型:概念模型:E-RE-R模型模型学生学生课程课程选课选课授课授课教师教师在关系模型中,在关系模型中,在关系模型中,在关系模型中,实体实体实体实体以及以及以及以及实体间的联系实体间的联系实体间的联系实体间的联系都是用都是用都是用都是用关系关系关系关系来表示来表示来表示来表示候选键关系中用来惟一标识一个元组的属性或属性组主键从候选键中指定一个用来标识元组学生关系学生关系学号姓名性别外语语种所在班级号主键是我们在设计数据库时,根据情况选定的主键主键二、逻辑数据模型二、逻辑数据模型外键如果一个关系中的属性或属性组并非该关系的主键,但它是另一个关系的主键,则称其为该关系的外键学生关系学生关系学号 姓名性别外语语种班级编号专业编号班级编号班长院系编号班级关系班级关系外键主键主键二、逻辑数据模型二、逻辑数据模型从表从表从表从表主表主表主表主表学生关系学生关系学号 姓名性别外语语种班级编号专业编号班级编号班长院系编号班级关系班级关系外键主键主键主表和从表主表:主键为从表外键从表:外键所在的表主表和从表通过外键相关联输入数据时,先输入主表数据,再输入从表数据二、逻辑数据模型二、逻辑数据模型45二、逻辑数据模型二、逻辑数据模型计算思维与数据库将关系模型转换成表结构将关系模型转换成表结构p数据库中的表 表结构 表数据p将关系模型加上每个字段的类型类型、长度长度等信息既成为表结构字段名称字段类型字段长度小数点索引类型学号文本12-主键姓名文本10-性别文本2-47关系模型的特点:关系模型的特点:每一列不可再分同一关系中属性(字段)不允许重名关系中不允许有完全相同的元组关系中交换任意两行的位置不影响数据的实际含义关系中交换任意两列的位置不影响数据的实际含义二、逻辑数据模型二、逻辑数据模型4.4.关系运算关系运算选择选择从指定的关系中从指定的关系中选择满足给定条件的元组选择满足给定条件的元组组成新的关系。组成新的关系。例题例题:从关系从关系score1中选择数学大于中选择数学大于90的元组组成关系的元组组成关系S1。二、逻辑数据模型二、逻辑数据模型4.4.关系运算关系运算投影投影从指定关系的属性集合中从指定关系的属性集合中选取若干个属性选取若干个属性组成新的关系。组成新的关系。例题例题:从关系从关系score1中选择中选择“学号学号”、“姓名姓名”、“数学数学”组成新的关系组成新的关系S2。二、逻辑数据模型二、逻辑数据模型4.4.关系运算关系运算联接联接 两个关系中的元组按指定条件两个关系中的元组按指定条件组合新的关系。组合新的关系。例题例题:将将score1和和score2按相同学号合并按相同学号合并二、逻辑数据模型二、逻辑数据模型待解决问题:待解决问题:4.4 Access数据库的建立和维护数据库的建立和维护问题问题1:如何建立、管理:如何建立、管理数据库?数据库?(操作)(操作)认识数据库开发平台认识数据库开发平台使用数据库开发平台的目的就是建立数据库,将数据库的设计方案付与实施。数据库服务器SQL ServerSQL Server、OracleOracle、SybaseSybase、MySQLMySQL等等都是大型的数据库开发平台,重点在于后端数据库的都是大型的数据库开发平台,重点在于后端数据库的管理管理桌面型数据库软件AccessAccess和和Visual FoxProVisual FoxPro适合建立小型数据库适合建立小型数据库4.4 Access数据库的建立和维护数据库的建立和维护4.4.1 Access数据库的系统结构4.4.2 建立数据库和表4.4.3 建立表之间的关系4.4.4 维护表4.4.5 查询AccessAccess的特点的特点1.具有Office系列的共同功能;2.桌面型的数据库管理系统;3.与其它数据库系统共享数据;4.提供程序设计语言接口,用于开发应用程序。AccessAccess数据库数据库1.Access的文档文件,扩展名为ACCDB2.由数据表、查询、窗体、报表、宏和模块等对象组成。3.所有对象都保存在的同一个数据库文件中。4.4.1 Access数据库的系统结构数据库的系统结构4.4.1 Access数据库的系统结构数据库的系统结构 作为一个数据库管理系统,Access通过各种数据库对象来管理信息。其数据库由数据库对象和组两部分组成。其中对象分为4种:表、查询、窗体、报表。以二维表格保存基本信息,数据库的核心。为其它对象提供数据。对具有复杂结构的数据,可以分别使用多张数据表,这些表之间可以通过相关字段建立关联。图图4-1 班级表班级表4.4.1 Access数据库的系统结构数据库的系统结构数据表由表结构和表记录两部分组成建表过程如下:用设计视图创建表结构选中表,用”打开”命令添加记录4.4.2 建立数据库和表建立数据库和表表结构包括:字段名数据类型如文本型、数字型等字段属性(1)字段大小(2)格式 (3)小数位数(4)标题 (5)有效性规则4是否是主关键字4.4.2 建立数据库和表建立数据库和表建立关系(目的:实现数据库的参照完整性)u例题:在“学生”、“成绩”和“课程”表间建立关系,“学生”表和“课程”为主表,“成绩”表为从表:“表”“关系”选择表或查询设置完整性:3个表之间的关系如图1所示建立联系后,再打开“学生”表,观察显示的结果如图2所示图1 3个表之间的关系图2 建立了表间关系后查询记录的结果4.4.3 建立表之间的关系建立表之间的关系4.4.5 查询查询查询的类型查询的类型选择查询选择查询参数查询参数查询交叉查询交叉查询操作查询操作查询特定查询特定查询例4.13 利用查询向导实现“学生基本信息”的选择查询。“创建”“查询向导”“简单查询向导”4.4.5 查询查询选定表选定表 选定字段选定字段 查询名称查询名称 4.4.查询结果查询结果 2)2)使用设计视图创建查询使用设计视图创建查询“创建”“查询设计”“显示表”条件条件:指定对该字段的查询条件字段字段:查询结果中使用 的字段。表表:该字段所在的表 或查询。排序排序:指定是否按此字段排序显示显示:确定该字段是否在结果中显示。或或:指定其它查询条件字段字段 表表 排序排序 显示显示 条件条件 或或 4.4.5 查询查询2)2)使用设计视图创建查询使用设计视图创建查询选择表选择表执行执行例例 查询查询”学生学生”的学号、姓名和籍贯的学号、姓名和籍贯4.4.5 查询查询选定查询选定查询的字段的字段 查询结果查询结果例:查询所有学生的学号、姓名和籍贯例:查询所有学生的学号、姓名和籍贯例:查询所有同学(或姓例:查询所有同学(或姓“王王”的同学)的成绩。的同学)的成绩。例:查询姓例:查询姓“王王”的同学的课程名称和相应的成绩。的同学的课程名称和相应的成绩。4.4.5 查询查询3)SQL3)SQL查询查询SQLSQL语句创建的查询语句创建的查询“创建”“查询设计”关闭“显示表”“SQLSQL视视图图”命令命令 4.4.5 查询查询或者:右键“SQL视图”输入语句输入语句 待解决问题:待解决问题:问题问题2:如何使用数据库?:如何使用数据库?4.3 结构化查询语言结构化查询语言了解了解SQLSQL语言的的定义及功能语言的的定义及功能掌握掌握SQL-SelectSQL-Select语句的基本语法语句的基本语法掌握掌握SQL-SelectSQL-Select语句的应用语句的应用4.3 结构化查询语言结构化查询语言 SQLSQL(Structured Query LanguageStructured Query Language)是关系数据库)是关系数据库的标准结构化查询语言的标准结构化查询语言 1974年:Boyce和Chamberlin提出SQL语言 1975年1979年:IBM公司在实验系统System R中实现了这种语言。1986年10月:SQL为关系数据库语言的美国标准 1987年:SQL成为关系数据库语言的国际标准4.3 结构化查询语言结构化查询语言 有四类有四类SQLSQL语句:语句:DQL(数据查询语言)用以从表中获得数据,确定数据怎样在应用程序给出。DDL(数据定义语言)用于数据库结构定义DML(数据操纵语言)用于数据处理DCL(数据控制语言)用于用户权限管理 标准的标准的SQLSQL包括包括9 9个动词个动词SelectSelect(选择)(选择)CreateCreate(建立)、(建立)、AlterAlter(修改)、(修改)、DropDrop(删除表)(删除表)InsertInsert(插入)、(插入)、UpdateUpdate(更新)、(更新)、DeleteDelete(删除记录)(删除记录)Grant Grant、RevokeRevoke(赋予和收回权限)(赋予和收回权限)SQL 功能功能动动 词词数据查询数据查询SELECT数据定义数据定义CREATE,DROP,ALTER数据操纵数据操纵INSERT,UPDATE,DELETE数据控制数据控制GRANT,REVOKE4.3 结构化查询语言结构化查询语言选择字段表排序条件4.3 结构化查询语言结构化查询语言请大家回忆:创建查询时我们处理了哪些请大家回忆:创建查询时我们处理了哪些方面的内容?方面的内容?SelectSelect的语法包括几个主要的子句,分别是的语法包括几个主要的子句,分别是SelectSelect 、FromFrom、WhereWhere和和Order by Order by 子句子句Select子句用于指定检索数据库的中哪些列From子句用于指定从哪一个表或视图中检索数据Where子句指定 查询条件,缺省将查询表中所有记录4.3.1 SELECT语句语句投影投影连接连接选择选择4.3.1 SELECT语句语句式中的符号表示式中的符号表示:l :在实际的语句中要采用需要的内容替代.l :可根据需要进行选择,也可不选.l|:多项选项中只能选其中之一.格式:格式:Select all|distinct*|From where order by asc|desc;各参数作用如下各参数作用如下:lall all :所有行,缺省值.ldistinctdistinct :禁止出现完全相同的记录.l*:所有字段.lwhere where :查询条件,缺省将查询表中所有记录.lorder by order by:排序,asc升序,desc降序,默认升序.格式:格式:Select all|distinct*|From where order by asc|desc;4.3.1 SELECT语句语句常用运算符常用运算符类型类型运算符运算符算术运算符+-*/(乘方)(整除)MOD(取余数)关系运算符 =逻辑运算符Not And Or字符运算符&模式匹配LIKE、NOT LIKE范围运算符BETWEENAND、NOT BETWEENAND4.3.1 SELECT语句语句例如:在学生表中查找女同学的全部信息,并按学号升序排列:4.3.2 SELECT语句应用语句应用关系运算:选择关系运算:选择关系运算:选择关系运算:选择SELECT *FROM 学生学生 where 性别性别=“女女”;SELECT *FROM 学生学生 where 性别性别=“女女”order by 学号学号;网络与计算中心网络与计算中心 基础教研室基础教研室第第7676/65/65页页例:在“学生”表中查询学生的“学号”、“姓名”SELECT 学号学号,姓名姓名FROM 学生学生 关系运算:投影关系运算:投影关系运算:投影关系运算:投影4.3.2 SELECT语句应用语句应用例:在“学生”表中查询班级编号为10101的学生的“学号”、“姓名”SELECT 学号,姓名FROM 学生 WHERE 班级编号=10101uu关系运算:选择关系运算:选择关系运算:选择关系运算:选择+投影投影投影投影4.3.2 SELECT语句应用语句应用例:在“学生”表中显示所有非“10101”班学生的“学号”、“姓名”和“年龄”SELECT 学号,姓名,Year(Date()-Year(出生年月)AS 年龄FROM 学生 WHERE 班级编号101014.3.2 SELECT语句应用语句应用例:在“学生”表中显示所有张姓学生的“学号”、“姓名”和“性别”SELECT 学号,姓名,性别FROM 学生WHERE 姓名 Like 张*;4.3.2 SELECT语句应用语句应用查询结果学号学号姓名姓名性别性别专业专业4051王平王平女女经管经管4052赵路赵路男男经管经管4061邱华邱华女女计算机计算机4062宁静宁静女女计算机计算机4063张宇张宇男男计算机计算机4071刘兵刘兵男男电子电子学生关系课程关系课程号课程名课程名学分学分C001高等数学高等数学6C002会计学会计学5C003管理学管理学4C004程序设计程序设计3C005数字电路数字电路4选课关系学号学号课程号课程号成绩成绩4051c001784051c002894052c002884052c00385?查询王平的选修课程及成绩姓名姓名课程名称课程名称成绩成绩王平王平高等数学高等数学78王平王平会计学会计学89SELECT 学生.学号,姓名,课程名,成绩FROM 学生,课程,成绩WHERE 学生.学号=成绩.学号 And 课程.课程编号=成绩.课程编号;多个表多个表 连接条件连接条件 关系运算:联接关系运算:联接关系运算:联接关系运算:联接4.3.2 SELECT语句应用语句应用学生和课程之间的关系是m:n,不能直接用这两个表实现,必须借助于成绩表(学生与成绩 1:n,课程与成绩 n:1).82网络与计算中心网络与计算中心 基础教研室基础教研室1.什么是数据、信息、数据管理?2.数据库系统的组成(DBS、DBMS、DB、DBAS)与基本功能。3.概念模型和常见的三种数据模型(层次、网状、关系)。4.关系模型的基本术语和关系运算(选择、投影、连接)。5.SQL-Select语句的基本应用。6.Access数据库、数据表的建立和查询。本本 章章 总总 结结