数据库及应用(第5版)整本书课件完整版电子教案(最新).ppt
《数据库及应用(第5版)整本书课件完整版电子教案(最新).ppt》由会员分享,可在线阅读,更多相关《数据库及应用(第5版)整本书课件完整版电子教案(最新).ppt(219页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库及应用(第5版)走进SQL SERVER数据库课程组学学习习目目标标【知识目标】|理解数据库、数据库管理系统、数据库系统。|初步认识示例数据库Xk以及5个用户数据表。|初步了解查询窗口和sqlcmd实用程序的使用方法。|了解SQL Server的安装方法。|【技能目标】|会启动或停止SQL Server Management Studio|会附加或分离数据库。|会使用查询窗口或sqlcmd实现简单查询。|会安装或配置SQL Server3任任 务务 陈陈 述述|公司的员工小李计划使用SQL Server开发数据库应用系统,现在首先需要在SQL Server Management Stud
2、io上快速创建一个用来实践的数据库。在SQL Server上附加示例数据库 _学生选课数据库Xk,并实现一个简单查询。45应完成的任务|相关知识:数据、数据库、数据库管理系统、数据库系统、示例数据库Xk、sqlcmd实用程序使用方法;系统安装的步骤和方法,以及系统常见的配置方法、默认实例、命名实例|项目教学单元:z任务1 体验SSMSz任务2 搭建实训环境z任务3 实现一个简单查询z任务4 分离Xk数据库z任务5 安装SQL Server6 6课程引入|【思考】1、什么是数据、数据库?2、什么是数据库管理系统、数据库系统?3、你听说过什么数据库产品?4、你知道哪些数据库系统?哪些数据库管理系统
3、?7 7SQLServer简介|SQL Server是运行于Windows操作系统的的关系型数据库管理系统(RDBMS-Relational DataBase Manage System),是用于大规模联机事务处理(OLTP)、数据仓库和电子商务应用的数据库分析平台。SQLServer简介|何为关系型数据库?|为什么SQL Server往往成为中小型企业的首选?z容易上手z兼容性好,与windows操作系统结合紧密z功能完备zz注意区分注意区分“数据库管理系统数据库管理系统”与与“数数据库据库”的这两个概念的这两个概念89 9SQLServer的版本|SQL Server主要版本:Enterp
4、rise EditionEnterprise Edition:企业企业版版Standard EditionStandard Edition:标准标准版版Business Business Intelligence Intelligence EditionEdition:商业商业智能智能版版Express EditionExpress Edition:免费学习免费学习版版每一个版本都分为每一个版本都分为6464位和位和3232位两种类型。位两种类型。本书以企业版为例进行讲解,本书绝大本书以企业版为例进行讲解,本书绝大部分内容可在部分内容可在SQL Server 2014 ExpressSQL S
5、erver 2014 Express平台上学习平台上学习。读者读者可以从微软网站免费下载可以从微软网站免费下载SQL SQL Server 2014 ExpressServer 2014 Express版版1010Client/Server结构回应回应回应回应SQLSQL请求请求请求请求ClientSQLServerSQL ServerSQL Server利用利用C/SC/S结构把工作结构把工作负载分成在负载分成在C C端端和和S S端运行的任端运行的任务务客户端:商业逻辑处理,把客户端:商业逻辑处理,把数据呈现给用户数据呈现给用户服务器端:定义数据库结构、服务器端:定义数据库结构、存储数据,
6、管理数据库,并存储数据,管理数据库,并进行多用户的并发处理进行多用户的并发处理1111三层C/S结构发送命令处理命令后请求数据返回数据处理数据后返回结果ClientApplicationServerDatabaseServer表示服务的最小商业逻辑商业逻辑数据访问和管理1212熟悉SQLServerManagement Studio|任务1:体验SSMS熟悉SQL Server Management Studio界面了解数据库引擎、数据库服务器名、两种不同的身份验证模式、了解默认实例名、命名实例名、知道如何在系统的“服务”里查看服务器名、启动和停止数据库服务器熟悉示例数据可Xk|任务2:搭建实
7、训环境在SQL Server Management Studio中附加、分离数据库Xk熟悉Xk数据库和五个数据表131414熟悉选课数据库Xk|五张用户表:Class表(班级表Course表(课程表)Student表(学生表)Department表(部门表)StuCou表(学生选课表)熟悉选课数据库Xk|五个表及之间的关系151616实现一个简单的查询|任务3:实现一个简单查询1、使用SSMStudio的查询窗口【问题】查询班级表Class的所有数据。USE Xk USE XkGOGOSELECT*FROM StudentSELECT*FROM StudentGOGO2、使用sqlcmd实用程
8、序【问题】查询所有姓“张”同学的基本信息。【问题】使用-Q参数查询所有姓“张”同学的信息。【问题】使用-h参数查询所有姓“张”的同学的信息,要求在标题之间只显示3行数据。分离数据库Xk任务4:分离Xk数据库 当数据库的数据更新后,需要及时备份数据库,此时可采用分离数据库的办法。分离Xk数据库后,会将Xk从 SQL Server 实例中删除,并将数据文件Xk.mdf和事务日志文件Xk_log.ldf保存在磁盘上。问题:保存到磁盘的什么位置?能否找出?17安装SQLServer任务5 安装SQL Server 在安装前需要考虑是否安装命名实例,名字为什么?课本以Windows 10下安装SQL S
9、erver 2014 Enterprise Edition为例介绍SQL Server 2014的安装。181919课堂总结|在本单元:|了解了数据库、数据库管理系统、数据库应用系统的概念。|了解数据库技术应用的场景。|对SQL Server有了初步的认识。|掌握了启动SSMS的方法。|熟悉了SSMS的学习和实训环境。|了解了附加或分离示例数据库Xk及数据库中的5个用户表。|会使用查询窗口或sqlcmd实用程序实现一个简单查询。课堂总结|SQL Server Management Studio开发环境|熟悉选课数据库Xk,并能够使用查询窗口和sqlcmd实用工具实现简单的查询【注意理解并区分几
10、个概念】数据库管理系统、数据库20课后任务|1、安装SQLServer|2、复习|3、完成课本上的本单元实训21 查询与统计数据数据库课程组学习目标|【知识目标】【知识目标】|掌握使用SELECT语句查询数据的方法。|掌握按需要重新排序查询结果的方法。|掌握分组或统计查询结果的方法。|【技能目标】【技能目标】|会使用SELECT语句精确查询或模糊查询数据库中的信息。|会重新排序查询结果。|会分组统计或汇总查询结果。任务陈述|小李和小张都是某校的学生,他们希望从选课数据库中查看某老师开设的选修课及某门课允许多少人选修;班主任孙老师需要查看自己班学生选修课程的情况;教务处赵老师希望查看并统计学生选
11、报选修课的情况,统计所有选修课的平均报名人数。应完成的任务|需要完成的任务:z任务1 查询单个数据表中的数据z任务2 使用聚合函数查询z任务3 分组查询结果z任务4 使用子查询 z任务5 排名查询结果z任务6 多表连接查询数据问题引入|学生在选课的时候需要了解课程相关信息,如课程名称、学分、上课时间等,所以选课系统必须提供这些查询功能,现在我们就来研究如何实现查询。|SQL(Structured Query Language)语言是用来对数据库组织、管理和检索的语言。|SQL Server数据库提供了Transact-SQL语言|我们就用Transact-SQL语言实现数据查询基本知识|实例数
12、据库分析|Transact-SQL语言查询语句的标准格式:select 列名 from 表名 where 查询条件查询单个数据表中的数据【问题21】从课程表(Course)中查询所有课程的信息。USEXkGOSELECT*FROMCourseGO【问题22】查询课程表(Course)中的课程编号、课程名称、教师、上课时间、限制选课人数和报名人数,要求显示汉字标题。【问题23】从课程表(Course)中查询课程类别的信息。问题:如何消除重复的数据行?在列名前加上DistinctDistinct。查询单个数据表中的数据【问题24】从学生表(Student)中查询所有信息,要求只显示查询结果的前6行
13、数据。【问题25】查询课程表(Course)的信息,要求给出查询结果为:课程名称 课程编号SQL Server实用技术 课程编号为:001【问题26】查询学号为“00000001”同学的姓名和班级编号。【问题27】查询报名人数少于等于25并且多于等于15人的课程信息。运算符|逻辑运算符有AND(与)、OR(或)、NOT(非)。AND(与):当给出的所有查询条件都为真时,则值为真。OR(或):当给出的所有查询条件中只要有一个查询条件为真,则值为真。NOT(非):否定其后的表达式。|算术运算符有+(加法)、-(减法)、*(乘法)、/(除法)、%(求余)运 算 符比较运算符比较运算符描述描述=等于等
14、于 大于大于=大于等于大于等于=小于等于小于等于、!=!=不等于不等于!不大于不大于!不小于不小于()()用来控制优先级用来控制优先级范围运算符用来查询在某一指定范围内的数据行,它总是和关键字AND一起使用。范围运算符有BETWEEN、NOT BETWEEN。列表运算符IN用来给出要查找的那些值的列表查询单个数据表中的数据【问题28】查询报名人数多于25人或者少于15人的课程信息。【问题29】查询课程编号分别为“004”、“007”、“013”的课程信息。【问题210】查询课程编号不为“004”、“007”、“013”的课程编号和课程名称。【问题211】查询课程表(Course)的课程信息、报
15、名人数与限选人数之比。查询单个数据表中的数据|重新排序查询结果|【问题212】查询课程信息、报名人数与限选人数之比。要求查询结果按照报名人数升序排序。|【问题213】查询课程表(Course)的教师名、课程编号、课程名,要求查询结果首先按照教师名降序排序,教师名相同时,则按照课程编号升序排序。|使用ORDER BY子句,在要排序的列名后使用关键字ASC,则指明为升序,使用DESC,则指明为降序。如果省略ASC或DESC,则系统默认为升序排序。查询单个数据表中的数据|使用LIKE进行模糊查询【问题214】在课程表(Course)中查看周二有哪些选修课,要求按上课时间排序升序查询结果。查询指定列未
16、输入值的数据查询指定列未输入值的数据行行【问题215】查询学生选课表(StuCou)中随机数为空的课程信息。通配符通配符描述描述%表示匹配表示匹配0 0个或多个长度的字符个或多个长度的字符_ _(下划线)(下划线)表示匹配任意单个字符表示匹配任意单个字符 表示匹配指定范围内的任意单个字符表示匹配指定范围内的任意单个字符表示匹配不在指定范围内的任意单个字表示匹配不在指定范围内的任意单个字符符 使使用用聚聚合合函函数数查查询询聚合函数聚合函数功能及举例功能及举例SUM(ALL|DISTINCTexpression)SUM(ALL|DISTINCTexpression)计算一组数据的和。例:查看总学
17、分:计算一组数据的和。例:查看总学分:SELECT SUM(Credit)FROM CourseSELECT SUM(Credit)FROM Course与与SELECT SUM(ALL SELECT SUM(ALL Credit)FROM CourseCredit)FROM Course作用相同,计算所有课程的学分作用相同,计算所有课程的学分和。和。SELECT SUM(DISTINCT Credit)FROM CourseSELECT SUM(DISTINCT Credit)FROM Course消除重复消除重复学分后的和。学分后的和。MIN(ALL|DISTINCTexpression)
18、MIN(ALL|DISTINCTexpression)给出一组数据的最小值。例:查看最小的学分:给出一组数据的最小值。例:查看最小的学分:SELECT MIN(Credit)FROM CourseSELECT MIN(Credit)FROM CourseMAX(ALL|DISTINCTexpression)MAX(ALL|DISTINCTexpression)给出一组数据的最大值。例:查看最大的学分:给出一组数据的最大值。例:查看最大的学分:SELECT MAX(Credit)FROM CourseSELECT MAX(Credit)FROM CourseCOUNT(COUNT(ALL|DIS
19、TINCTexpression ALL|DISTINCTexpression)|*|*)计算总行数。计算总行数。COUNT(*)COUNT(*)表示给出总行数,包括含有表示给出总行数,包括含有空值的行。空值的行。COUNT(expression)COUNT(expression)表示去掉表示去掉expressionexpression值值为空的那些行。为空的那些行。例:查看学生总数。例:查看学生总数。SELECT COUNT(*)FROM StudentSELECT COUNT(*)FROM Student表示计算表示计算StudentStudent表的总行数。表的总行数。SELECT COU
20、NT(StuNo)FROM StudentSELECT COUNT(StuNo)FROM Student表示去掉表示去掉StuNoStuNo值为空后的总行数值为空后的总行数AVG(ALL|DISTINCTexpression)AVG(ALL|DISTINCTexpression)计算一组值的平均值。例:查看平均学分计算一组值的平均值。例:查看平均学分SELECT AVG(Credit)FROM CourseSELECT AVG(Credit)FROM Course使使用用聚聚合合函函数数查查询询【问题216】统计课程表(Course)中共有多少门选修课。【问题217】查看课程表(Course)
21、中能提供多少人选修课程。【问题218】查看课程表(Course)中最少报名人数、最多报名人数和平均报名人数。分组查询结果|可用来分组查询的有GROUP BY子句、CUBE运算符、GROUP BY ALL。使用GROUP BY子句分组查询,需要使用聚合函数。在GROUP BY子句中使用CUBE运算符,会在查询结果中增加一个汇总行。CUBE运算符可用于所有的聚合函数。HAVING子句:用于对分组后的数据进行条件限定,写在GROUP BY子句之后。在HAVING子句中允许使用聚合函数。GROUP BY ALL用于显示所有的组,包括那些被WHERE排除的组。分组查询结果|【问题219】按课程类别分组统
22、计各类课程的门数。|【问题220】按课程类别分组统计各类课程的门数,并给出课程总门数。|【问题221】查看报名人数大于15的各类课程的最少报名人数和最多报名人数。|【问题222】查看报名人数大于15并且每组平均报名人数大于30的课程类别和各组的平均报名人数。|【问题223】查看课程类别为信息技术、管理的平均报名人数,并给出其他课程类别。使用子查询|子查询是返回单值的SELECT查询。子查询可以嵌在SELECT、INSERT、UPDATE或DELETE语句中,也可以用在WHERE或HAVING子句中。包括一个或更多子查询的SELECT查询称为嵌套查询。|【问题224】查询报名人数大于平均报名人数
23、的课程信息。|【问题225】查询学生选课表(StuCou)中报名状态为“报名”的课程名。|【问题226】查询已经报名选修课程的学生信息,要求显示学号和姓名。排名查询结果|SQL Server的排名函数能将查询结果按照所指定的列排出顺序,还可根据需要给出有间断的排名和没有间断的排名。排名函数请见表2-7。|【问题227】查询课程表(Course)的所有信息,要求查询结果按照报名人数排序,并且返回每一行的序号、有间断的每一行的序号、没有间断的每一行的序号,并比较执行结果。|排名函数排名函数功功 能能ROW_NUMBER()OVER()ROW_NUMBER()OVER()在查询结果中给出每行的序号,
24、其中在查询结果中给出每行的序号,其中order_by_clauseorder_by_clause为要排序的列为要排序的列RANK()OVER RANK()OVER()在查询结果中给出每行的排名,排序有可能会间在查询结果中给出每行的排名,排序有可能会间断。其中断。其中order_by_clauseorder_by_clause为要排序的列。为要排序的列。DENSE_RANK()OVER()DENSE_RANK()OVER()在查询结果中给出每行的排名,排序没有间断。在查询结果中给出每行的排名,排序没有间断。其中其中order_by_clauseorder_by_clause为要排序的列。为要排序
25、的列。多表连接查询数据|从多个表中查询数据需要建立起表与表(两个表)之间的连接,连接的类型有交叉连接、内连接和外连接。内连接又可分为相等连接、自然连接、比较连接和自连接。|交叉连接:使用CROSS JOIN子句将一个以上的表连接起来的查询称为交叉连接(Cross Join)查询,这种连接的结果为笛卡儿积。|【问题228】查询学生表(Student)和班级表(Class)的信息(使用交叉连接查询)。|请仔细观察查询结果,有什么结论?多表连接查询数据|内连接查询:只保留满足连接条件的数据行的连接称为内连接,使用JOIN子句连接两个表。|连接条件写为:主表.主键=从表.外键。表与表之间的连接条件要写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 课件 完整版 电子 教案 最新
限制150内