数据库技术及应用基础课件_第1页
数据库技术及应用基础课件_第2页
数据库技术及应用基础课件_第3页
数据库技术及应用基础课件_第4页
数据库技术及应用基础课件_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章数据库技术及应用基础6.1基本概念6.2数据模型6.3数据库技术的发展历程与发展方向6.4常用的数据库开发平台6.5关系数据库标准语言SQL简介6.6数据库技术应用实例第6章数据库技术及应用基础6.1基本概念16.1基本概念本节要点6.1.1数据、信息和数据处理

6.1.2数据库、数据库管理系统和数据库系统6.1.3数据管理技术的发展重点难点数据、信息和数据处理三者的定义和关系数据、数据库管理系统、数据库系统的定义以及三者的区别第3章>>3.1节6.1基本概念本节要点第3章>>3.1节26.1.1数据、信息和数据处理

数据(Data)在一般意义上被认为是对客观事物特征所进行的一种抽象化、符号化的表示。信息(Information)有一定含义的、经过加工处理的、有价值的数据。数据、信息和数据处理的关系数据经过数据处理就转换成了信息。第6章>>6.1节>>6.1.16.1.1数据、信息和数据处理数据(Data)第6章>>36.1.2数据库、数据库管理系统和数据库系统1.数据库(DB,Database)数据库是长期存储在某种存储介质上的有组织的、可共享的相关数据的集合,数据具有较高的数据共享性、独立性、完整性及较低的数据冗余度。2.数据库管理系统(DBMS)数据定义数据操纵数据库的运行管理数据库的建立与维护第6章>>6.1节>>6.1.26.1.2数据库、数据库管理系统和数据库系统1.数据库(46.1.2数据库、数据库管理系统和数据库系统3.数据库系统数据库系统指在计算机系统中引进数据库技术后的整个系统。图6-1数据库系统第6章>>6.1节>>6.1.26.1.2数据库、数据库管理系统和数据库系统3.数据库系统56.1.3数据管理技术的发展数据管理技术发展经历的三个阶段:1.人工管理阶段第6章>>6.1节>>6.1.3图6-2人工管理阶段的数据处理6.1.3数据管理技术的发展数据管理技术发展经历的三个阶66.1.3数据管理技术的发展2.文件系统管理阶段3.数据库系统管理阶段第6章>>6.1节>>6.1.36.1.3数据管理技术的发展2.文件系统管理阶段第6章>>76.2数据模型本节主要内容6.2.1数据模型的基本概念6.2.2概念模型及其表示6.2.3常见的三种数据模型重点难点数据模型和概念模型的概念和表示方法画E-R图实体集之间的三种类型的联系三种基本的数据模型关系模型中的相关术语定义和基本运算第6章>>6.2节6.2数据模型本节主要内容第6章>>6.2节86.2.1数据模型的基本概念概念模型也称信息模型,是按用户的观点对数据和信息进行建模,是现实世界到信息世界的第一层抽象;基本数据模型是按计算机系统的观点对数据进行建模,是概念模型的数据化。第6章>>6.2节>>6.2.16.2.1数据模型的基本概念概念模型第6章>>6.2节>>96.2.2概念模型及其表示概念模型是用户观点对现实世界的抽象,它不涉及DBMS,它只描述实体的存在及联系。E-R图中三种基本图素(1)实体(Entity)通常是现实世界中客观存在的可以相互区分的对象、事物与过程;(2)属性(Attribute)是描述对象的某个特性;(3)联系(Relationship)是实体间的相互关系。第6章>>6.2节>>6.2.26.2.2概念模型及其表示概念模型第6章>>6.2节>>6106.2.2概念模型及其表示两个不同实体集之间三种类型的联系一对一联系(1∶1):如果对于实体集A中的每个实体,实体集B中至多有一个实体(也可以没有)与之联系,反之亦然,则称实体集A与实体集B具有一对一的联系,记为1∶1。一对多联系(1∶n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多的联系,记为1∶n。多对多联系(m∶n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中也有多个实体与之联系,则称实体集A与实体集B具有多对多的联系,记为m∶n。第6章>>6.2节>>6.2.26.2.2概念模型及其表示两个不同实体集之间三种类型的联系116.2.3常见的三种数据模型基本数据模型1.层次模型2.网状模型3.关系模型(1)关系模型的基本概念(2)关系模型的特点(3)关系模型的基本运算第6章>>6.2节>>6.2.36.2.3常见的三种数据模型基本数据模型第6章>>6.2节126.3数据库技术的发展历程和发展方向本节主要内容6.3.1数据库技术的发展历程6.3.2数据库技术的发展方向重点难点数据库技术的发展方向第6章>>6.3节6.3数据库技术的发展历程和发展方向本节主要内容第6章>>136.3.1数据库技术的发展历程数据库技术发展的三个阶段第一代的网状、层次数据库系统第二代的关系数据库系统第三代的以面向对象模型为主要特征的数据库系统第6章>>6.3节>>6.3.16.3.1数据库技术的发展历程数据库技术发展的三个阶段第6146.3.2数据库技术的发展方向数据库技术发展方向计算机硬件的发展和数据库技术的广泛使用,推动着数据库技术与系统的发展。尤其是互联网的出现,极大地改变了数据库的应用环境,向数据库领域提出了前所未有的技术挑战。这些因素的变化推动着数据库技术的进步,衍生出一批新的数据库技术,如Web数据库技术、并行数据库技术、数据仓库(DataWarehouse,DW)与联机分析处理(LineAnalyticalProcessing,OLAP)技术、数据挖掘(DataMining,DM)与商务智能技术、内容管理技术、海量数据管理技术等。这些数据库技术将促使数据库向智能化集成化方向发展。第6章>>6.3节>>6.3.26.3.2数据库技术的发展方向数据库技术发展方向第6章>>156.4常用数据库开发平台本节主要内容6.4.1认识数据库开发平台6.4.2AccessXP6.4.3SQLServer2000重点难点Access和SQLServer2000的实际应用操作第6章>>6.4节6.4常用数据库开发平台本节主要内容第6章>>6.4节166.4.1认识数据库开发平台数据库分类数据库服务器常见的有SQLServer、Oracle、Sybase、MySQL等。主要功能有:强大的数据库引擎、高度的数据安全、备份及还原、不同数据库之间的数据转换等。桌面型数据库软件最流行的桌面型数据库软件有Access和VisualFoxPro等。主要特色有:强大的窗体及报表制作能力、强化数据库的工具和易学易用的操作界面等。第6章>>6.4节>>6.4.16.4.1认识数据库开发平台数据库分类第6章>>6.4节>176.4.2AccessXP(1)AccessXP的启动单击“开始”→“程序”,选择“MicrosoftAccess”选项启动AccessXP。图6-15AccessXP的主界面第6章>>6.4节>>6.4.26.4.2AccessXP(1)AccessXP186.4.2AccessXPAccessXP的使用创建数据库对数据库进行查询,修改,删除等工作图6-19“SQL查询”窗口第6章>>6.4节>>6.4.26.4.2AccessXPAccessXP的使用图6196.4.3SQLServer20001.服务器管理SQLServer服务管理器的主要作用是用来启动数据库服务器的实时服务、暂停和停止正在运行的服务,或在暂停服务后继续服务图6-20SQLServer服务管理器窗口第6章>>6.4节>>6.4.36.4.3SQLServer20001.服务器管理图6206.4.3SQLServer20002.企业管理器企业管理器是SQLServer中最重要和最常用的管理工具,它可以完成大多数的数据库管理工作。图6-21企业管理器窗口

第6章>>6.4节>>6.4.36.4.3SQLServer20002.企业管理器图6216.4.3SQLServer20003.查询分析器SQLServer2000提供的查询管理器既可使用户交互式地输入和执行各种TransactSQL语句,方便地编写查询程序;又可迅速地查看这些语句的执行结果,来完成对数据库中数据的分析和处理。启动查询分析器的两种方法①从“开始”→“程序”→“MicrosoftSQLServer”菜单中选择“查询分析器”选项;②直接从企业管理器中单击“工具”→“SQL查询分析器”。第6章>>6.4节>>6.4.36.4.3SQLServer20003.查询分析器第226.5关系数据库标准语言SQL简介本节主要内容6.5.1SQL概述6.5.2SQL数据查询语句重点难点SQL查询语句第6章>>6.5节6.5关系数据库标准语言SQL简介本节主要内容第6章>>6236.5.1SQL概述SQL语言的定义SQL语言的全名是结构化查询语言(StructuredQueryLanguage),SQL同时集成了数据定义语言(DDL)和数据操纵语言(DML)的功能,它可以完成数据库活动中的全部工作。SQL语言的特点①非过程化语言②面向集合的操作方式③两种使用方式④SQL是一种语言标准⑤语言简洁、功能强大第6章>>6.5节>>6.5.16.5.1SQL概述SQL语言的定义第6章>>6.5节>>246.5.2SQL数据查询语句数据库查询常用格式常用格式:SELECT[ALL|DISTINCT]〈列名表〉FROM〈表名〉[,〈表名〉][WHERE〈条件表达式〉][GROUPBY〈列名1〉[HAVING〈条件表达式〉]][ORDERBY〈列名2〉[ASC|DESC]...]说明:SELECT子句指明要选取的列,完成投影运算。FROM子句指明要从哪个表中查询数据。WHERE子句指明要选择满足什么条件的记录。GROUP子句将结果按“列名1”的值进行分组,若带有HAVING短语,则只有满足指定条件的组才予以输出。ORDER子句将结果表按“列名2”的值升序(降序)排序,选项ASC为升序,DESC为降序,默认为升序。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句数据库查询常用格式第6章>>6256.5.2SQL数据查询语句1.简单查询(1)查询全部列【例6.4】查询全体学生的详细情况。

SELECT*FROMstudent;(2)查询部分列【例6.5】查询全体学生的姓名和学号。

SELECTSname,SnoFROMstudent;(3)查询计算列的值【例6.6】查询学生的姓名和年龄

SELECTSname,year(date())year(BirthDate)FROMstudent;第6章>>6.5节>>6.5.26.5.2SQL数据查询语句1.简单查询第6章>>6.5节266.5.2SQL数据查询语句(4)为返回结果定制别名【例6.7】将上例添上“年龄”别名SELECTSname,year(date())year(BirthDate)AS年龄FROMstudent;(5)查询指定列的唯一值【例6.8】从该数据库中查询出所有专业的名称

SELECTDISTINCTspecFROMstudent;注:与DISTINCT功能相对应的是ALL关键字,ALL关键字允许重复数据集合的出现。默认情况下,SELECT语句总是用ALL关键字进行查询的。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(4)为返回结果定制别名第6章276.5.2SQL数据查询语句2.条件查询(1)使用比较运算符【例6.9】查询公共管理专业所有学生的学号和姓名。SELECTSno,SnamefromstudentwhereSpec=‘公共管理’;(2)使用多重条件查询【例6.10】查询所有“计算机”专业的女生姓名。SELECTSnameFROMstudentWHERESpec=‘计算机’ANDSex=no;【例6.11】查询所有“计算机”或“公共管理”专业的学生姓名。SELECTSnameFROMstudentWHERESpec=‘计算机’ORSpec=‘公共管理’;第6章>>6.5节>>6.5.26.5.2SQL数据查询语句2.条件查询第6章>>6.5节286.5.2SQL数据查询语句(3)使用LIKE的查询格式:〈列名〉[NOT]LIKE‘〈字符串常量〉’其中,列名的数据类型必须是字符串类型,字符串常量除了可包含普通字符外,还可包括以下两个通配符:*:表示任意多个字符或汉字。?:表示任意一个字符或汉字。【例6.12】查询所有姓“林”的学生信息。

SELECT*FROMstudentWHERESnameLIKE‘林*’;第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(3)使用LIKE的查询第6章296.5.2SQL数据查询语句(4)使用BETWEEN(或NOTBETWEEN)的查询格式:〈列名〉[NOT]BETWEEN〈值1〉AND〈值2〉【例6.14】查询出生日期在1980~1983年之间的学生信息。

SELECT*FROMstudentWHEREbirthdateBETWEEN#1980-1-1#AND#1982-12-31#注:①日期前后须加上“#”符号;②使用BETWEEN有包括边界值,该条件还可以表达为:birthdate>=#1980-1-1#ANDbirthdate<=#1982-12-31#或year(birthdate)BETWEEN1980AND1982第6章>>6.5节>>6.5.16.5.2SQL数据查询语句(4)使用BETWEEN(或N306.5.2SQL数据查询语句(5)使用谓词IN(或NOTIN)的查询格式:〈列名〉[NOT]IN(〈值1〉,〈值2〉,...,〈值n〉)【例6.15】查询计算机专业和公共管理专业的学生信息。

SELECT*FROMstudentWHERESpecIN(‘计算机’,‘公共管理’);注:IN谓词实际上是多个OR运算符的缩写,可以改用OR来连接多个条件。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(5)使用谓词IN(或NOT316.5.2SQL数据查询语句(6)涉及空值的查询格式:〈列名〉IS[NOT]NULL【例6.16】查询“成绩”字段值为空的学生的学号。

SELECTDISTINCTSnoFROMscoreWHEREGradeISNULL;注:①可能有的学生没参加两门课程以上的考试,所以用DISTINCT去掉重复行;②条件不能写成:“列名=NULL”;③在Access中,null就是空,空与非空的条件是Isnull或Isnotnull,此二者可使用在任意类型的字段。④空值作为未知的值来考虑,应区别于“空字符串”和数值0。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(6)涉及空值的查询第6章>>326.5.2SQL数据查询语句(7)使用统计函数【例6.17】统计课程号为“C1”的平均成绩(列标题为“平均成绩”)。

SELECTAVG(Grade)AS平均成绩FROMscoreWHERECno=‘C1’;【例6.18】统计Student表中的男生数

SELECTCOUNT(*)FROMstudentWHERESex=yes第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(7)使用统计函数第6章>>6336.5.2SQL数据查询语句常用的统计函数函数功能SUM(字段名)求指定字段值的总和AVG(字段名)求指定字段值的平均MIN(字段名)求指定字段值的最小值MAX(字段名)求指定字段值的最大值COUNT(字段名)或COUNT(*)统计记录个数第6章>>6.5节>>6.5.26.5.2SQL数据查询语句常用的统计函数函数功能SUM(346.5.2SQL数据查询语句3.自然连接查询若查询涉及两个以上的表且目标列中去掉相同的字段名,则称为自然连接查询。【例6.19】查询选修了课程号为“C1”的学生学号、姓名和成绩。

SELECTStudent.Sno,Sname,GradeFROMStudent,ScoreWHEREStudent.Sno=Score.SnoANDCno=‘C1’;注:如果字段名在各个表中是唯一的,可以把字段名前的表名去掉,否则就必须加上表名作为前缀,以免引起混淆。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句3.自然连接查询第6章>>6.356.5.2SQL数据查询语句4.分组查询【例6.20】统计Student表中各专业(计算机专业除外)的男生数。SELECTSpec,count(*)FROMstudentWHERESex=yesGROUPBYSpecHAVINGSpec<>‘计算机’注:①对于分组查询而言,WHERE子句指定参加分组的条件,而HAVING子句指定的是分组后作为查询结果输出的条件。②SELECT子句中的列名表项,要么是统计函数,要么必须出现在GROUPBY子句中,否则会出现语法错误。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句4.分组查询第6章>>6.5节366.5.2SQL数据查询语句5.排序【例6.21】将上例查询结果按专业降序排列。SELECTSpec,count(*)FROMstudentWHERESex=yesGROUPBYSpecORDERBYSpecDESC6.更新查询UPDATE语句的一般格式为:UPDATE<表名>SET<列名1>=<表达式1>[,〈列名2〉=〈表达式2〉]…[WHERE<条件>]【例6.22】将student表所有记录专业名称“公共管理”改为“工商管理”。UPDATEstudentSETSpec=‘工商管理’WHERESpec=‘公共管理’第6章>>6.5节>>6.5.26.5.2SQL数据查询语句5.排序第6章>>6.5节>>376.6数据库技术应用实例本节主要内容6.6.1学生成绩管理数据库的设计6.6.2学生成绩管理数据库的实施重点难点对整个数据库的设计和实践操作第6章>>6.6节6.6数据库技术应用实例本节主要内容第6章>>6.6节386.6.1学生成绩管理数据库的设计1.概念结构的设计通过对学生成绩管理数据库的需求分析,设计出总体E-R图模型。2.逻辑结构的设计将E-R模型转换为关系模型将E-R模型转换为关系模型遵循的规则E-R图中的每个实体都应转换为一个关系,实体的属性直接作为该关系的属性,实体的主键直接作为该关系的主键。E-R图中的每个联系都应转换为一个关系,联系的属性(若有的话)直接作为该关系的属性,与该联系相连的两个实体的主键作为该关系的属性。第6章>>6.6节>>6.6.16.6.1学生成绩管理数据库的设计1.概念结构的设计第6章396.6.2学生成绩管理数据库的实施1.使用AccessXP创建学生成绩管理数据库创建一个名为“学生成绩管理”数据库的步骤如下:(1)在本地硬盘的E盘中创建一个新文件夹,名为“学生成绩管理”。(2)启动AccessXP,在E盘的“学生成绩管理”文件夹下创建名为“学生成绩管理”的空数据库。第6章>>6.6节>>6.6.26.6.2学生成绩管理数据库的实施1.使用Access406.6.2学生成绩管理数据库的实施2.创建三个数据表并录入数据在“学生成绩管理”数据库中创建三个数据表,分别名为“student”、“course”和“score”。三个数据表的表结构分别如表6-1、表6-2和表6-3所示。图6-27表设计窗口第6章>>6.6节>>6.6.26.6.2学生成绩管理数据库的实施2.创建三个数据表并录416.6.2学生成绩管理数据库的实施3.创建表间关联对上述三个数据表之间创建表间关联的步骤如下:(1)单击数据库工具栏上的关系按钮,系统出现“显示表”对话框,如图6-29所示。图6-29“关系”窗口中的显示表第6章>>6.6节>>6.6.26.6.2学生成绩管理数据库的实施3.创建表间关联图6-2426.6.2学生成绩管理数据库的实施(2)在“显示表”对话框中,依次选中“student”、“score”和“course”表,并单击“添加”按钮,将这三个数据表加入到关系窗口中,如图6-30所示。图6-30添加表之后的“关系”对话框第6章>>6.6节>>6.6.26.6.2学生成绩管理数据库的实施(2)在“显示表”对话框436.6.2学生成绩管理数据库的实施(3)设置三个表间关系,方法如下:用鼠标选中“student”表中的“Sno”字段,将其拖到“score”表中的“Sno”字段上,并释放鼠标左键,系统弹出“编辑关系”对话框,如图6-31所示。在该对话框中依次选中“实施参照完整性”复选框、“及联更新相关字段”复选框和“及联删除相关记录”复选框,并单击“创建”按钮,就在“student”表和“score”表之间创建了一个“一对多”的关系。用同样方法可创建“course”表和“score”表之间关于“Cno”字段的“一对多”的关系。创建后的关系窗口如图6-32所示。保存该关系窗口。4.使用SQL语言查询数据库内容关于使用SQL查询数据库内容可参阅6.5.2节第6章>>6.6节>>6.6.26.6.2学生成绩管理数据库的实施(3)设置三个表间关系,44作业课本P2992.试述数据库、数据库管理系统、数据库系统在概念上有何不同?5.试述如何用E-R图描述院系学生成绩管理数据库?8.解释下列术语:关系、元组、属性、域、关键字、主键、外键。作业课本P29945出版时间:2008年8月定价:随书赠送出版时间:2008年8月定价:随书赠送46谢谢大家!谢谢大家!47谢谢你的阅读知识就是财富丰富你的人生谢谢你的阅读知识就是财富48第6章数据库技术及应用基础6.1基本概念6.2数据模型6.3数据库技术的发展历程与发展方向6.4常用的数据库开发平台6.5关系数据库标准语言SQL简介6.6数据库技术应用实例第6章数据库技术及应用基础6.1基本概念496.1基本概念本节要点6.1.1数据、信息和数据处理

6.1.2数据库、数据库管理系统和数据库系统6.1.3数据管理技术的发展重点难点数据、信息和数据处理三者的定义和关系数据、数据库管理系统、数据库系统的定义以及三者的区别第3章>>3.1节6.1基本概念本节要点第3章>>3.1节506.1.1数据、信息和数据处理

数据(Data)在一般意义上被认为是对客观事物特征所进行的一种抽象化、符号化的表示。信息(Information)有一定含义的、经过加工处理的、有价值的数据。数据、信息和数据处理的关系数据经过数据处理就转换成了信息。第6章>>6.1节>>6.1.16.1.1数据、信息和数据处理数据(Data)第6章>>516.1.2数据库、数据库管理系统和数据库系统1.数据库(DB,Database)数据库是长期存储在某种存储介质上的有组织的、可共享的相关数据的集合,数据具有较高的数据共享性、独立性、完整性及较低的数据冗余度。2.数据库管理系统(DBMS)数据定义数据操纵数据库的运行管理数据库的建立与维护第6章>>6.1节>>6.1.26.1.2数据库、数据库管理系统和数据库系统1.数据库(526.1.2数据库、数据库管理系统和数据库系统3.数据库系统数据库系统指在计算机系统中引进数据库技术后的整个系统。图6-1数据库系统第6章>>6.1节>>6.1.26.1.2数据库、数据库管理系统和数据库系统3.数据库系统536.1.3数据管理技术的发展数据管理技术发展经历的三个阶段:1.人工管理阶段第6章>>6.1节>>6.1.3图6-2人工管理阶段的数据处理6.1.3数据管理技术的发展数据管理技术发展经历的三个阶546.1.3数据管理技术的发展2.文件系统管理阶段3.数据库系统管理阶段第6章>>6.1节>>6.1.36.1.3数据管理技术的发展2.文件系统管理阶段第6章>>556.2数据模型本节主要内容6.2.1数据模型的基本概念6.2.2概念模型及其表示6.2.3常见的三种数据模型重点难点数据模型和概念模型的概念和表示方法画E-R图实体集之间的三种类型的联系三种基本的数据模型关系模型中的相关术语定义和基本运算第6章>>6.2节6.2数据模型本节主要内容第6章>>6.2节566.2.1数据模型的基本概念概念模型也称信息模型,是按用户的观点对数据和信息进行建模,是现实世界到信息世界的第一层抽象;基本数据模型是按计算机系统的观点对数据进行建模,是概念模型的数据化。第6章>>6.2节>>6.2.16.2.1数据模型的基本概念概念模型第6章>>6.2节>>576.2.2概念模型及其表示概念模型是用户观点对现实世界的抽象,它不涉及DBMS,它只描述实体的存在及联系。E-R图中三种基本图素(1)实体(Entity)通常是现实世界中客观存在的可以相互区分的对象、事物与过程;(2)属性(Attribute)是描述对象的某个特性;(3)联系(Relationship)是实体间的相互关系。第6章>>6.2节>>6.2.26.2.2概念模型及其表示概念模型第6章>>6.2节>>6586.2.2概念模型及其表示两个不同实体集之间三种类型的联系一对一联系(1∶1):如果对于实体集A中的每个实体,实体集B中至多有一个实体(也可以没有)与之联系,反之亦然,则称实体集A与实体集B具有一对一的联系,记为1∶1。一对多联系(1∶n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多的联系,记为1∶n。多对多联系(m∶n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中也有多个实体与之联系,则称实体集A与实体集B具有多对多的联系,记为m∶n。第6章>>6.2节>>6.2.26.2.2概念模型及其表示两个不同实体集之间三种类型的联系596.2.3常见的三种数据模型基本数据模型1.层次模型2.网状模型3.关系模型(1)关系模型的基本概念(2)关系模型的特点(3)关系模型的基本运算第6章>>6.2节>>6.2.36.2.3常见的三种数据模型基本数据模型第6章>>6.2节606.3数据库技术的发展历程和发展方向本节主要内容6.3.1数据库技术的发展历程6.3.2数据库技术的发展方向重点难点数据库技术的发展方向第6章>>6.3节6.3数据库技术的发展历程和发展方向本节主要内容第6章>>616.3.1数据库技术的发展历程数据库技术发展的三个阶段第一代的网状、层次数据库系统第二代的关系数据库系统第三代的以面向对象模型为主要特征的数据库系统第6章>>6.3节>>6.3.16.3.1数据库技术的发展历程数据库技术发展的三个阶段第6626.3.2数据库技术的发展方向数据库技术发展方向计算机硬件的发展和数据库技术的广泛使用,推动着数据库技术与系统的发展。尤其是互联网的出现,极大地改变了数据库的应用环境,向数据库领域提出了前所未有的技术挑战。这些因素的变化推动着数据库技术的进步,衍生出一批新的数据库技术,如Web数据库技术、并行数据库技术、数据仓库(DataWarehouse,DW)与联机分析处理(LineAnalyticalProcessing,OLAP)技术、数据挖掘(DataMining,DM)与商务智能技术、内容管理技术、海量数据管理技术等。这些数据库技术将促使数据库向智能化集成化方向发展。第6章>>6.3节>>6.3.26.3.2数据库技术的发展方向数据库技术发展方向第6章>>636.4常用数据库开发平台本节主要内容6.4.1认识数据库开发平台6.4.2AccessXP6.4.3SQLServer2000重点难点Access和SQLServer2000的实际应用操作第6章>>6.4节6.4常用数据库开发平台本节主要内容第6章>>6.4节646.4.1认识数据库开发平台数据库分类数据库服务器常见的有SQLServer、Oracle、Sybase、MySQL等。主要功能有:强大的数据库引擎、高度的数据安全、备份及还原、不同数据库之间的数据转换等。桌面型数据库软件最流行的桌面型数据库软件有Access和VisualFoxPro等。主要特色有:强大的窗体及报表制作能力、强化数据库的工具和易学易用的操作界面等。第6章>>6.4节>>6.4.16.4.1认识数据库开发平台数据库分类第6章>>6.4节>656.4.2AccessXP(1)AccessXP的启动单击“开始”→“程序”,选择“MicrosoftAccess”选项启动AccessXP。图6-15AccessXP的主界面第6章>>6.4节>>6.4.26.4.2AccessXP(1)AccessXP666.4.2AccessXPAccessXP的使用创建数据库对数据库进行查询,修改,删除等工作图6-19“SQL查询”窗口第6章>>6.4节>>6.4.26.4.2AccessXPAccessXP的使用图6676.4.3SQLServer20001.服务器管理SQLServer服务管理器的主要作用是用来启动数据库服务器的实时服务、暂停和停止正在运行的服务,或在暂停服务后继续服务图6-20SQLServer服务管理器窗口第6章>>6.4节>>6.4.36.4.3SQLServer20001.服务器管理图6686.4.3SQLServer20002.企业管理器企业管理器是SQLServer中最重要和最常用的管理工具,它可以完成大多数的数据库管理工作。图6-21企业管理器窗口

第6章>>6.4节>>6.4.36.4.3SQLServer20002.企业管理器图6696.4.3SQLServer20003.查询分析器SQLServer2000提供的查询管理器既可使用户交互式地输入和执行各种TransactSQL语句,方便地编写查询程序;又可迅速地查看这些语句的执行结果,来完成对数据库中数据的分析和处理。启动查询分析器的两种方法①从“开始”→“程序”→“MicrosoftSQLServer”菜单中选择“查询分析器”选项;②直接从企业管理器中单击“工具”→“SQL查询分析器”。第6章>>6.4节>>6.4.36.4.3SQLServer20003.查询分析器第706.5关系数据库标准语言SQL简介本节主要内容6.5.1SQL概述6.5.2SQL数据查询语句重点难点SQL查询语句第6章>>6.5节6.5关系数据库标准语言SQL简介本节主要内容第6章>>6716.5.1SQL概述SQL语言的定义SQL语言的全名是结构化查询语言(StructuredQueryLanguage),SQL同时集成了数据定义语言(DDL)和数据操纵语言(DML)的功能,它可以完成数据库活动中的全部工作。SQL语言的特点①非过程化语言②面向集合的操作方式③两种使用方式④SQL是一种语言标准⑤语言简洁、功能强大第6章>>6.5节>>6.5.16.5.1SQL概述SQL语言的定义第6章>>6.5节>>726.5.2SQL数据查询语句数据库查询常用格式常用格式:SELECT[ALL|DISTINCT]〈列名表〉FROM〈表名〉[,〈表名〉][WHERE〈条件表达式〉][GROUPBY〈列名1〉[HAVING〈条件表达式〉]][ORDERBY〈列名2〉[ASC|DESC]...]说明:SELECT子句指明要选取的列,完成投影运算。FROM子句指明要从哪个表中查询数据。WHERE子句指明要选择满足什么条件的记录。GROUP子句将结果按“列名1”的值进行分组,若带有HAVING短语,则只有满足指定条件的组才予以输出。ORDER子句将结果表按“列名2”的值升序(降序)排序,选项ASC为升序,DESC为降序,默认为升序。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句数据库查询常用格式第6章>>6736.5.2SQL数据查询语句1.简单查询(1)查询全部列【例6.4】查询全体学生的详细情况。

SELECT*FROMstudent;(2)查询部分列【例6.5】查询全体学生的姓名和学号。

SELECTSname,SnoFROMstudent;(3)查询计算列的值【例6.6】查询学生的姓名和年龄

SELECTSname,year(date())year(BirthDate)FROMstudent;第6章>>6.5节>>6.5.26.5.2SQL数据查询语句1.简单查询第6章>>6.5节746.5.2SQL数据查询语句(4)为返回结果定制别名【例6.7】将上例添上“年龄”别名SELECTSname,year(date())year(BirthDate)AS年龄FROMstudent;(5)查询指定列的唯一值【例6.8】从该数据库中查询出所有专业的名称

SELECTDISTINCTspecFROMstudent;注:与DISTINCT功能相对应的是ALL关键字,ALL关键字允许重复数据集合的出现。默认情况下,SELECT语句总是用ALL关键字进行查询的。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(4)为返回结果定制别名第6章756.5.2SQL数据查询语句2.条件查询(1)使用比较运算符【例6.9】查询公共管理专业所有学生的学号和姓名。SELECTSno,SnamefromstudentwhereSpec=‘公共管理’;(2)使用多重条件查询【例6.10】查询所有“计算机”专业的女生姓名。SELECTSnameFROMstudentWHERESpec=‘计算机’ANDSex=no;【例6.11】查询所有“计算机”或“公共管理”专业的学生姓名。SELECTSnameFROMstudentWHERESpec=‘计算机’ORSpec=‘公共管理’;第6章>>6.5节>>6.5.26.5.2SQL数据查询语句2.条件查询第6章>>6.5节766.5.2SQL数据查询语句(3)使用LIKE的查询格式:〈列名〉[NOT]LIKE‘〈字符串常量〉’其中,列名的数据类型必须是字符串类型,字符串常量除了可包含普通字符外,还可包括以下两个通配符:*:表示任意多个字符或汉字。?:表示任意一个字符或汉字。【例6.12】查询所有姓“林”的学生信息。

SELECT*FROMstudentWHERESnameLIKE‘林*’;第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(3)使用LIKE的查询第6章776.5.2SQL数据查询语句(4)使用BETWEEN(或NOTBETWEEN)的查询格式:〈列名〉[NOT]BETWEEN〈值1〉AND〈值2〉【例6.14】查询出生日期在1980~1983年之间的学生信息。

SELECT*FROMstudentWHEREbirthdateBETWEEN#1980-1-1#AND#1982-12-31#注:①日期前后须加上“#”符号;②使用BETWEEN有包括边界值,该条件还可以表达为:birthdate>=#1980-1-1#ANDbirthdate<=#1982-12-31#或year(birthdate)BETWEEN1980AND1982第6章>>6.5节>>6.5.16.5.2SQL数据查询语句(4)使用BETWEEN(或N786.5.2SQL数据查询语句(5)使用谓词IN(或NOTIN)的查询格式:〈列名〉[NOT]IN(〈值1〉,〈值2〉,...,〈值n〉)【例6.15】查询计算机专业和公共管理专业的学生信息。

SELECT*FROMstudentWHERESpecIN(‘计算机’,‘公共管理’);注:IN谓词实际上是多个OR运算符的缩写,可以改用OR来连接多个条件。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(5)使用谓词IN(或NOT796.5.2SQL数据查询语句(6)涉及空值的查询格式:〈列名〉IS[NOT]NULL【例6.16】查询“成绩”字段值为空的学生的学号。

SELECTDISTINCTSnoFROMscoreWHEREGradeISNULL;注:①可能有的学生没参加两门课程以上的考试,所以用DISTINCT去掉重复行;②条件不能写成:“列名=NULL”;③在Access中,null就是空,空与非空的条件是Isnull或Isnotnull,此二者可使用在任意类型的字段。④空值作为未知的值来考虑,应区别于“空字符串”和数值0。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(6)涉及空值的查询第6章>>806.5.2SQL数据查询语句(7)使用统计函数【例6.17】统计课程号为“C1”的平均成绩(列标题为“平均成绩”)。

SELECTAVG(Grade)AS平均成绩FROMscoreWHERECno=‘C1’;【例6.18】统计Student表中的男生数

SELECTCOUNT(*)FROMstudentWHERESex=yes第6章>>6.5节>>6.5.26.5.2SQL数据查询语句(7)使用统计函数第6章>>6816.5.2SQL数据查询语句常用的统计函数函数功能SUM(字段名)求指定字段值的总和AVG(字段名)求指定字段值的平均MIN(字段名)求指定字段值的最小值MAX(字段名)求指定字段值的最大值COUNT(字段名)或COUNT(*)统计记录个数第6章>>6.5节>>6.5.26.5.2SQL数据查询语句常用的统计函数函数功能SUM(826.5.2SQL数据查询语句3.自然连接查询若查询涉及两个以上的表且目标列中去掉相同的字段名,则称为自然连接查询。【例6.19】查询选修了课程号为“C1”的学生学号、姓名和成绩。

SELECTStudent.Sno,Sname,GradeFROMStudent,ScoreWHEREStudent.Sno=Score.SnoANDCno=‘C1’;注:如果字段名在各个表中是唯一的,可以把字段名前的表名去掉,否则就必须加上表名作为前缀,以免引起混淆。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句3.自然连接查询第6章>>6.836.5.2SQL数据查询语句4.分组查询【例6.20】统计Student表中各专业(计算机专业除外)的男生数。SELECTSpec,count(*)FROMstudentWHERESex=yesGROUPBYSpecHAVINGSpec<>‘计算机’注:①对于分组查询而言,WHERE子句指定参加分组的条件,而HAVING子句指定的是分组后作为查询结果输出的条件。②SELECT子句中的列名表项,要么是统计函数,要么必须出现在GROUPBY子句中,否则会出现语法错误。第6章>>6.5节>>6.5.26.5.2SQL数据查询语句4.分组查询第6章>>6.5节846.5.2SQL数据查询语句5.排序【例6.21】将上例查询结果按专业降序排列。SELECTSpec,count(*)FROMstudentWHERESex=y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论