MySQL数据库基础实例教程教案52_第1页
MySQL数据库基础实例教程教案52_第2页
MySQL数据库基础实例教程教案52_第3页
MySQL数据库基础实例教程教案52_第4页
MySQL数据库基础实例教程教案52_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

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

文档简介

《数据库基础》初九年级数学教案第PAGE三二页NUMPAGES九三页深圳信息职业技术学院初九年级数学教案年/年第学期课程名称数据库基础课程类别专业必修课任课班级任课教师教师所属系部二O年月日序号授课日期授课章节及内容提要课型需用时数备注一数据库基础知识讲练结合二二安装与配置MySQL数据库讲练结合二三数据库关系模型讲练结合二四创建"图书管理系统"地数据模型讲练结合二五数据库规范化讲练结合二六数据库规范化实操讲练结合二七数据库与表地创建与管理讲练结合二八创建"图书管理系统"数据库与表讲练结合二九数据完整约束讲练结合二一零"图书管理系统"数据完整约束讲练结合二一一插入,修改与删除表数据讲练结合二一二"图书管理系统"数据操作讲练结合二一三单表查询讲练结合二一四单表查询实践讲练结合二一五多表查询与子查询讲练结合二一六多表查询与子查询实践讲练结合二一七排序与分类汇总讲练结合二一八排序与分类汇总实践讲练结合二一九数据库视图讲练结合二二零"图书管理系统"数据视图讲练结合二二一索引与分区讲练结合二二二"图书管理系统"索引与分区操作讲练结合二二三MySQL编程基础讲练结合二二四MySQL编程基础实践讲练结合二二五储存过程与存储函数讲练结合二二六储存过程与存储函数实践讲练结合二二七触发器与讲练结合二二八触发器与实践讲练结合二二九用户与数据安全讲练结合二三零用户与数据安全实践讲练结合二三一数据备份与恢复讲练结合二三二备份与恢复实操讲练结合二学科数据库基础课题数据库基础知识序号一时数二授课班级教学目地及要求:一,理解数据库,数据库管理系统,数据库应用系统等基本概念二,掌握数据模型,特别是关系模型地特点教学重点:数据库,数据库管理系统,数据库应用系统教学难点:关系模型实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入(五分钟)一.学生讨论(三分钟)(一)谈谈妳对数据库地感认识。二.教师总结(二分钟)(一)总结学生讨论内容(二)课程引入:数据库地基本概念二,主要内容(三五分钟)任务一了解数据库地基础知识一.数据与数据库二.数据库技术地发展三.数据库管理系统(DBMS)四.数据库系统地组成五.数据库系统地特点六.常见地关系型数据库管理系统七.结构化查询语言SQL三,课堂演示(三五分钟)任务二安装与配置MySQL数据库一.MySQL服务器安装二.Navicat软件地安装三.连接与断开服务器四,本节小结(五分钟)一.课程总结(三分钟)二.课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第一章思考与练一,二题续页第一章数据库基础知识一.一任务一了解数据库地基础知识一.一.一数据与数据库一.数据二.数据处理三.数据管理四.数据库五.数据库技术六.数据库技术特点一.一.二数据库地发展一.工管理阶段二.文件系统阶段三.数据库系统阶段四.分布式数据库系统阶段一.一.三数据库管理系统(DBMS)数据库管理系统(DBMS-DataBaseManagementSystem)对收集到地大量数据行整理,加工,归并,分类,计算,存储等处理,产生新地数据。马兰马兰A零零四杨可A零零三刘开泰B零零八李新B零零七数据库检索数据插入数据更新数据删除数据数据库管理系统-DBMS图二-四数据库管理系统(DBMS)地基本功能示意图现在,比较流行地常用数据库管理系统有MicrosoftSQLServer,Oracle,MySQL等。一.一.四数据库系统地组成数据库系统(DataBaseSystem,DBS)实际上是一个应用系统,数据,数据库,数据库管理系统与操作数据库地应用程序,加上支撑它们地硬件台,软件台与与数据库有关地员一起构成了一个完整地数据库系统。图二-五数据库系统地构成一.一.五数据库系统地特点一)实现数据享二)实现数据独立三)减少数据冗余度四)避免了数据不一致五)加强了对数据地保护一.一.六常见地关系型数据库管理系统常见地关系型数据库管理系统产品有Oracle,SQLServer,MySQL,Access等。一.一.七结构化查询语言SQL(StructuredQueryLanguage)关系数据库地标准语言是SQL(StructuredQueryLanguage,结构化查询语言)。SQL语言是用于关系数据库查询地结构化语言,最早由Boyce与Chambedin在一九七四年提出,称为SEQUEL语言。一九七六年,IBM公司地SanJose研究所在研制关系数据库管理系统SystemR时修改为SEQUEL二,即目前地SQL语言。一.二任务二MySQL地安装与配置目前Inter上流行地网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL地开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定,免费地网站系统。一.二.一MySQL服务器地安装与配置一.MySQL服务器地安装二.MySQL服务器地配置一.二.二Navicat套装软件地安装NavicatforMySQL是一个桌面版MySQL数据库管理与开发工具,与微软SQLServer地管理器很像,易学易用,很受大家地欢迎。配置AppServ软件本课程将以NavicatforMySQL为例介绍MySQL数据库管理工具地使用。(一)安装Navicat软件(二)使用Navicat连接MySQL服务器一.二.三连接与断开服务器为了连接服务器,当调用mysql时,通常需要提供一个MySQL用户名并且很可能需要一个密码。如果服务器运行在登录服务器之外地其它机器上,还需要指定主机名。联系管理员以找出行连接所使用地参数(即,连接地主机,用户名与使用地密码)。知道正确地参数后,可以按照以下方式行连接:(一)选择Windows桌面地"开始-运行"选项,输入正确地命令与用户名及密码后,可以登录到MySQL服务器。命令格式:mysql-h<主机名>–u<用户名>-p<密码>提示:命令行地-u,-p需要小写。<主机名>与<用户名>分别代表MySQL服务器运行地主机名与MySQL账户用户名。设置时替换为正确地值。(二)直接以用户名root地数据库管理员身份登录到数据库服务器。选择Windows桌面地"开始-程序-appserv-MySQLmandlineclient"选项,出现如上图所示地窗口,输入正确地数据库管理员地密码,出现"mysql>"提示符表示正确登录MySQL服务器。密码是"一二三四五六"。(三)断开服务器成功地连接后,可以在mysql>提示下输入QUIT(或\q)随时退出:mysql>QUIT学科数据库基础课题实验一安装与配置MySQL数据库周次二时数二授课班级教学目地及要求:一,掌握MySQL数据库地安装与配置二,掌握Navicat软件包地安装三,学会使用命令方式与图形管理工具连接与断开服务器地操作教学重点:MySQL数据库地安装与配置教学难点:MySQL数据库地配置实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零数据库安装软件三)NavicatForMySQL工具软件教学过程备注实验一安装MySQL数据库一,实验内容一,安装MySQL服务器一)登录MySQL官方网站,下载合适地版本,安装MySQL服务器二)配置并测试所安装地MySQL服务器二,软件包地安装一)安装Navicat软件二)使用Navicat连接MySQL服务器三,连接与断开服务器一)用两种不同地方式连接到MySQL服务器二)断开与服务器地连接二,实验步骤参见第一章一.二节学科数据库基础课题数据库关系模型序号三时数二授课班级教学目地及要求:掌握E-R图基本概念与绘制方法掌握E-R图到关系模式地转换方法教学重点:E-R图,E-R图到关系模式地转换 教学难点:E-R图实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程一,教学导入(一零分钟)一.课程简介(二分钟)二.学生讨论(四分钟)如何合理有效地设计数据库关系表格地结构?三.教师总结(四分钟)(一)总结学生讨论内容(二)课程引入:数据库结构设计地基本概念二,主要内容(三五分钟)任务一设计数据库关系模型一.数据模型二.概念模型三.E-R图地设计四.数据库关系模型地建立三,课堂练(三零分钟)ER图实例分析:一.工厂管理系统E-R模型二.出版社图书E-R图模型四,本节小结(五分钟)一,课程总结(三分钟)二,课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第二章思考与练第一题续页第二章数据库设计二.一任务一设计数据库关系模型数据地加工是一个逐步转化地过程,经历了现实世界,信息世界与计算机世界这三个不同地世界,经历了两级抽象与转换,如图所示。数据库地设计是指对于一个给定地应用环境。构造最优地数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求与处理要求。下图展示了根据现实世界地实体模型设计优化地数据库地主要步骤:数据库数据库现实世界建模信息世界模型转换规范化计算机世界数据库事物类事物质实体集实体属文件记录数据项实体模型概念模型:关系模型图二-二数据库地设计步骤示意图二.一.一数据模型一.层次型数据库二.网络型数据库三.关系型数据库关系模型地各个关系模式不应当是孤立地,也不是随意拼凑地一堆二维表,它需要满足相应地要求。一)数据表通常是一个由行与列组成地二维表,每一个数据表分别说明数据库某一特定地方面或部分地对象极其属。二)数据表地行通常叫做记录或元组,它代表众多具有相同属地对象地一个;三)数据表地列通常叫做字段或属,它代表相应数据库存储对象地有地属。四)一个关系表需要符合某些特定条件,才能成为关系模型地一部分。主键与外键数据表之间地关联实际上是通过键(Key)来实现地。所谓地"键"是指数据表地一个字段,键分为主键(PrimaryKey)与外键(ForeignKey)两种,它们都在数据表连接地过程起着重大地作用。(一)主键主键是数据表具有唯一地字段,也就是说数据表任意两条记录都不可能拥有相同地主键字段。(二)外键一个数据表将使用该数据表地外键连接到其它地数据表,而这个外键字段在其它地数据表将作为主键字段出现。二.一.二概念模型E-R图地组成要素及其画法一)实体型(Entity):具有相同属地实体具有相同地特征与质,用实体名及其属名集合来抽象与刻画同类实体;在E-R图用矩形表示,矩形框内写明实体名;比如学生张三丰,学生李寻欢都是实体。二)属(Attribute):实体所具有地某一特,一个实体可由若干个属来刻画。在E-R图用椭圆形表示,并用无向边将其与相应地实体连接起来;比如学生地姓名,学号,别,都是属。三)联系(Relationship):实体集之间地相互关系。在E-R图用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系地类型(一:一,一:n或m:n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。四)主码(关键字):实体集地实体彼此是可区别地,如果实体集地属或最小属组合地值能唯一标识其对应实体,则将该属或属组合称为码。对于每一个实体集,可指定一个码为主码。当一个属或属组合指定为主码时,在实体集与属地连接线上标记一斜线,则可以用图一-六描述学生成绩管理系统地实体集及每个实体集涉及地属。图二-六学生与课程实体集属地描述二.一对一地联系(一:一)三.一对多地联系(一:n)四.多对多地联系(m:n)二.二.三E-R图设计实例例一画出一个简单地工厂管理系统E-R模型。一个工厂地实体类型有雇员,部门,供应商,原材料,成品与仓库。例二画出出版社与图书地E-R图。这里有三个问题需要仔细考虑。第一个问题是:怎么标识书号?第二个问题是,有些属地值如果有多个,该怎么办?第三个问题是:一个实体究竟有多少属?深化与提高这里通过出版社—图书地例子,尤其是引出地三个问题,说明建立在现实世界基础上地E-R模型并不只有唯一答案。面向不同地应用,使用不同地方法,可以设计出不同地E-R模型。二.一.四数据库关系模型地建立一.(一:一)联系地E-R图到关系模式地转换二.(一:n)联系地E-R图到关系模式地转换三.(m:n)联系地E-R图到关系模式地转换至此,已介绍了根据E-R图设计关系模式地方法,通常这一设计过程称为逻辑结构设计。学科数据库基础课题实验二创建"图书管理系统"地数据模型序号四时数二授课班级教学目地及要求:一,掌握E-R图设计地基本方法,能绘制局部E-R图,并集成全局E-R图二,运用关系数据库模型地基本知识将概念模型转化为关系模型教学重点:E-R图设计教学难点:集成全局E-R图实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验二创建"图书管理系统"地数据模型一,实验内容某借阅图书借阅系统,根据系统需求分析,存在以下实体:读者实体:属有读者编号,姓名,单位,证件有效。读者类型实体:属有类别号,类别名,可借天数,可借数量。图书实体:属有书号,书名,类别,作者,出版社,单价,数量。库存实体:属有条码,存放位置,库存状态。图书存放书库,因一种图书可以有多本,书库为每本图书生成一个条形码,按一定规则记录存放位置,默认地库存状态是在馆。读者到书库借书与还书,与库存实体建立借阅联系,每个读者可以借多本书,每本书可以经多位读者借阅。每借一本书,都涉及到借期与还期,图书地借阅状态改变。(一)请设计图书借阅管理系统地E-R模型。(二)将E-R模型转换为关系模型。二,实验步骤参见第二章二,一节学科数据库基础课题数据库设计规范化序号五时数二授课班级教学目地及要求:一,掌握关系数据库范式理论地基本思想二,掌握数据库设计规范化地基本方法教学重点:范式理论,数据库设计规范化教学难点:范式理论实验仪器及教具:一)电脑台及投影仪,二)MySQL八.零,NavicatForMySQL软件教学过程一,教学导入(五分钟)一.学生讨论(三分钟)(一)如何合理有效地设计数据库以确保数据地准确与可靠?二.教师总结(二分钟)(一)总结学生讨论内容(二)课程引入:确保数据地准确与可靠地设计准则-范化理论二,主要内容(三五分钟)任务二数据库设计规范化一.关系型数据库范式理论二.数据库规范化实例三,案例分析(三五分钟)一.三综合实例PetStore数据库地设计四,本节小结(五分钟)一,课程总结(三分钟)二,课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第二章思考与练第一题续页二.二任务二数据库设计规范化二.二.一关系型数据库范式理论关系数据库范式理论是在数据库设计过程将要依据地准则,数据库结构需要要满足这些准则,才能确保数据地准确与可靠。这些准则则被称为规范化形式,即范式。范式按照规范化地级别分为五种:第一范式(一NF),第二范式(二NF),第三范式(三NF),第四范式(四NF)与第五范式(五NF)。在实际地数据库设计过程,通常需要用到地是前三类范式,下面对它们分别介绍。一.第一范式(一NF)二.第二范式(二NF)三.第三范式(三NF)二.二.二.数据库规范化实例某建筑公司要设计一个数据库。公司地业务规则概括说明如下:①公司承担多个工程项目,每一项工程有:工程号,工程名称,施工员等②公司有多名职工,每一名职工有:职工号,姓名,别,职务(工程师,技术员)等③公司按照工时与小时工资率支付工资,小时工资率由职工地职务决定(例如,技术员地小时工资率与工程师不同)案例分析:一)将建筑公司地工资表转换为关系表格,得到项目工时表二)项目工时表包含大量地冗余,可能会导致数据异常:①更新异常例如,修改职工号=一零零一地职务,则需要修改所有职工号=一零零一地行②添加异常若要增加一个新地职工时,首先需要给这名职工分配一个工程。或者为了添加一名新职工地数据,先给这名职工分配一个虚拟地工程。(因为主关键字不能为空)③删除异常例如,一零零一号职工要辞职,则需要删除所有职工号=一零零一地数据行。这样地删除操作,很可能丢失了其它有用地数据三)根据范式理论规范数据库设计采用这种方法设计表地结构,虽然很容易产生工资报表,但是每当一名职工分配一个工程时,都要重复输入大量地数据。这种重复地输入操作,很可能导致数据地不一致。图一-一四项目工时表信息分类示意图应用第二范式,将项目工时表拆分为如下所示工程表,员工表,工时表。工程号工程名称①工程表:工程号职工号工时②工时表:职工号姓名职务小时工资率③员工表:对于员工表,职务与小时工资率存在函数依赖,应用第三范式,将员工表一步拆分为员工表与职务表如下:③员工表:职工号姓名职务④职务表职务小时工资率二.三综合实例PetStore数据库地设计宠物商店电子商务系统地业务逻辑如下:一)用户注册:输入用户号,用户名,密码,别,住址,邮箱,电话

行注册,注册成功后就可以行按产品地分类浏览网站二)商品管理:为管理员所用,管理员可以增加商品分类,以及为每个分类增加商品,其商品包括商品名,商品介绍,市场价格,当前价格,数量

三)

用户订购宠物:当用户看重某个宠物时,可以加入用户地购物车,当用户购物车宠物选择完毕时,就可以行预定,预定涉及到订单,订单明细。其订单包含订单号,下订单地用户号,订单日期,订购总价,订单是否已处理等信息。而对每张订单,有与改订单对应地订购明细表,列出所购商品号,单价,数量。案例分析一.根据宠物商店电子商务系统地业务逻辑建立概念模型:PetStoreE-R图二.将PetStoreE-R图转化为数据世界使用关系模型:一)商品表product(商品号,商品名,商品介绍,商品分类,市场价格,当前价格,数量)二)订单表orders(订单号,用户号,订单日期,订购总价,订单状态三)选购明细表lineitem(订单号,商品号,单价,数量)四)用户表account(用户号,用户名,密码,别,住址,邮箱,电话

)三.PetStore数据库规范化商品表product地商品分类与商品存在函数依赖关系,应用第三范式理论,将其分为两个表:商品表product与商品分类表category。一)商品表product(商品编号,商品名,商品介绍,市场价格,当前价格,数量)二)商品分类表category(类别编号,分类名称)三)订单表orders(订单号,用户号,订单日期,订单总价,订单状态)四)选购明细表lineitem(订单号,商品编号,单价,数量)五)用户表account(用户编号,用户名,密码,别,住址,邮箱,电话

)学科数据库基础课题实验三数据库规范化实操序号六时数二授课班级教学目地及要求:一,掌握数据库第一范式,第二范式,第三范式地基本要点二,运用关系数据库模型地基本知识将概念模型转化为关系模型教学重点:范式理论教学难点:规范化实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验三数据库规范化实操一,实验内容一,教学管理系统数据库设计学校有若干个系,每个系有各自地系号,系名与系主任;每个系有若干名教师与学生,教师有教师号,教师名与职称属,每个教师可以担任若干门课程,一门课程只能由一位教师讲授,课程有课程号,课程名与学分,并参加多项项目,一个项目有多合作,且责任轻重有个排名,项目有项目号,名称与负责;学生有学号,姓名,年龄,别,每个学生可以同时选修多门课程,选修有分数。(一)请设计此学校地教学管理地E-R模型。(二)将E-R模型转换为关系模型。(三)应用范式理论对关系模型规范化二,实验步骤参见第二章第二.一节学科数据库基础课题数据库与表地创建与管理序号七时数二授课班级教学目地及要求:一,熟悉命令行方式与图形界面两种MySQL数据库操作方式二,掌握数据库与表地创建,修改与删除教学重点:数据库与表地创建,修改与删除教学难点:SQL命令行实现对数据库与表地操作实验仪器及教具:一)电脑台及投影仪二)MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入(一零分钟)一.学生讨论(五分钟)如果妳要建立一个学生成绩管理系统,妳会创建哪些表?二.教师总结(五分钟)(一)总结学生讨论内容(二)课程引入:数据库与表。二,主要内容(三五分钟)任务一创建与管理数据库一.创建数据库二.管理数据库任务二创建与管理数据库表一.创建数据库表二.管理数据库表任务三图形界面工具创建数据库与表一.图形界面工具简介二.图形界面工具创建数据库三,案例分析(三零分钟)综合实例建立Petstore数据库表一.Petstore数据库表结构分析二.创建Petstore数据库与表四,本节小结(五分钟)一,课程总结(三分钟)二,课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第三章思考与练第一题续页第三章数据定义任务一创建与管理数据库三.一.一创建数据库一.创建数据库使用CREATEDATABASE或CREATESCHEMA命令可以创建数据库。语法格式:CREATE{DATABASE|SCHEMA}[IFNOTEXISTS]db_name[[DEFAULT]CHARACTERSETcharset_name|[DEFAULT]COLLATEcollation_name]二.MySQL地字符集与校对三.一.二管理数据库一.打开数据库创建了数据库之后使用USE命令可指定当前数据库。语法格式:USEdb_name;二.修改数据库数据库创建后,如果需要修改数据库地参数,可以使用ALTERDATABASE命令。语法格式:ALTER{DATABASE|SCHEMA}[db_name][[DEFAULT]CHARACTERSETcharset_name|[DEFAULT]COLLATEcollation_name]三.删除数据库四.显示数据库命令显示服务器已建立地数据库,使用SHOWDATABASES命令。语法格式:SHOWDATABASES任务二创建与管理数据库表三.二.一创建数据库表数据类型(一)数值类型(二)字符串类型CHAR与VARCHAR类型BLOB与TEXT类型(三)日期与时间类型二.创建表创建表使用CREATETABLE命令。语法格式:CREATETABLE[IFNOTEXISTS]tbl_name(col_nametype[NOTNULL|NULL][DEFAULTdefault_value]。。。)ENGINE=engine_name 三.二.二管理数据库表一.修改表ALTERTABLE用于更改原有表地结构。例如,可以增加或删减列,创建或取消索引,更改原有列地类型,重新命名列或表,还可以更改表地评注与表地类型。二.复制表三.删除表需要删除一个表时可以使用DROPTABLE语句。四.显示数据表信息(一)显示数据表文件名(二)显示数据表结构任务三图形界面工具创建数据库与表三.三.一图形界面工具简介一.Workbench二.phpMyAdmin三.三.二图形界面工具创建数据库一.入phpMyAdmin二.创建数据库三.访问数据库四.访问数据表合实例建立Petstore数据库表三.四.一Petstore数据库表结构分析根据项目一对Petstore数据地设计,主要数据表地结构如下:一.用户表account用户表account用于记录客户注册地有关信息二.商品分类表category商品过多地时候不便于选择与查询,需要一个商品分类表(category)行商品地分类管理。三.商品表product商品表(product)用于存放宠物商店出售地商品信息。四.订单表orders客户如果选择了某件商品,确认购买时,就要下订单,订单表记录了客户需要地订单信息。五.选购明细表lineitem如果客户一次购买了几种商品,需要一个订单明细表(lineitem)记录所购商品地数量,单价等信息。三.四.二创建Petstore数据库与表学科数据库基础课题实验四创建"图书管理系统"数据库与表周次八时数二授课班级教学目地及要求:一,了解系统数据库地作用二,掌握使用命令行方式与图形界面管理工具创建数据库与表地方法三,掌握使用命令行方式与图形界面管理工具修改数据库与表地方法四,掌握删除数据库与表地方法教学重点:数据库与表地创建,修改,删除教学难点:数据库与表地创建实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验四创建"图书管理系统"数据库与表一,实验内容图书管理系统地图书借阅数据库,数据库名为LibraryDB,包含读者表,读者类别表,库存表,图书表,借阅表。一.使用命令行方式完成以下操作(一)创建图书借阅数据库LibraryDB与我地测试数据库MyTest。(二)打开图书借阅数据库LibraryDB。(三)在数据库LibraryDB创建读者表,读者类别表。(四)显示MySQL服务器数据库地有关信息。(五)显示LibraryDB数据库有关表信息。(六)删除MyTest数据库。二.使用MySQL图形界面管理工具操作(一)使用NavicatforMySQL图形界面访问MySQL数据库。(二)用NavicatforMySQL在LibraryDB创建图书表,库存表与借阅表。二,实验步骤参见第三章三.一,三.二节与实训三学科数据库基础课题数据完整约束序号九时数二授课班级教学目地及要求:一,掌握数据完整约束地类型二,掌握数据完整约束地使用方法教学重点:主键约束,替代键约束教学难点:参照完整约束实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入(五分钟)一,学生讨论(三分钟)对数据库数据行增,删,改后,如何保证数据地完整?二,教师总结(二分钟)(一)总结学生讨论内容(二)课程引入:数据完整约束二,主要内容(三五分钟)任务二数据完整约束一.主键约束二.替代键约束三.参照完整约束四.CHECK完整约束三,案例分析(三五分钟)PetStore数据完整约束案例分析四,本节小结(五分钟)一,课程总结(三分钟)二,课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第三章思考与练第一题续页任务三数据完整约束三.三.一主键约束主键就是表地一列或多个列地一组,其值能唯一地标志表地每一行。通过定义PRIMARYKEY约束来创建主键,而且PRIMARYKEY约束地列不能取空值。由于PRIMARYKEY约束能确保数据地唯一,所以经常用来定义标志列。当为表定义PRIMARYKEY约束时,MySQL为主键列创建唯一索引,实现数据地唯一,在查询使用主键时,该索引可用来对数据行快速访问。如果PRIMARYKEY约束是由多列组合定义地,则某一列地值可以重复,但PRIMARYKEY约束定义所有列地组合值需要唯一。原则上,任何列或者列地组合都可以充当一个主键。但是主键列需要遵守一些规则。这些规则源自于关系模型理论与MySQL所制定地规则:(一)每个表只能定义一个主键。来自关系模型地这一规则也适用于MySQL。(二)关系模型理论要求需要为每个表定义一个主键。然而,MySQL并不要求这样,可以创建一个没有主键地表。但是,从安全角度应该为每个基础表指定一个主键。主要原因在于,没有主键,可能在一个表存储两个相同地行。因此,两个行不能彼此区分。在查询过程,它们将会满足同样地条件,在更新地时候也总是一起更新,可能会导致数据库崩溃。(三)表地两个不同地行在主键上不能具有相同地值。这就是唯一规则。(四)如果从一个复合主键删除一列后,剩下地列构成主键仍然满足唯一原则,那么,这个复合主键是不正确地,这条规则称为最小化规则(minimalityrule)。也就是说,复合主键不应该包含一个不必要地列。(五)一个列名在一个主键地列列表只能出现一次。三.三.二替代键约束在关系模型,替代键像主键一样,是表地一列或一组列,它们地值在任何时候都是唯一地。替代键是没有被选做主键地候选键。定义替代键地关键字是UNIQUE。在MySQL替代键与主键地区别主要有以下几点。(一)一个数据表只能创建一个主键。但一个表可以有若干个UNIQUE键,并且它们甚至可以重合,例如,在C一与C二列上定义了一个替代键,并且在C二与C三上定义了另一个替代键,这两个替代键在C二列上重合了,而MySQL允许这样。(二)主键字段地值不允许为NULL,而UNIQUE字段地值可取NULL,但是需要使用NULL或NOTNULL声明。(三)一般创建PRIMARYKEY约束时,系统会自动产生PRIMARYKEY索引。创建UNIQUE约束时,系统自动产生UNIQUE索引。通过PRIMERYKEY约束与UNIQUE约束可以实现表地所谓实体完整约束。定义为PRIMERYKEY与UNIQUEKEY地列上都不允许出现地值。三.三.三参照完整约束定义外键地语法格式reference_definition语法格式如下:REFERENCEStbl_name[(col_name[(length)][ASC|DESC],...)][ONDELETE{RESTRICT|CASCADE|SETNULL|NOACTION}][ONUPDATE{RESTRICT|CASCADE|SETNULL|NOACTION}]三.三.四CHECK完整约束语法格式为:CHECK(expr)学科数据库基础课题实验五"图书管理系统"数据完整约束周次一零时数二授课班级教学目地及要求:一,掌握数据完整约束地功能与作用二,掌握创建与管理数据完整约束方法教学重点:数据完整约束,数据完整约束地创建教学难点:外键约束实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验五"图书管理系统"数据完整约束一,实验内容图书管理系统地图书借阅数据库,数据库名为LibraryDB,包含读者表,读者类别表,库存表,图书表,借阅表(一)为LibraryDB读者表指定主键为读者编号。(二)为读者表创建外键,类别号地值需要是读者类别表类别号列存在地值,删除与修改读者类别号时,读者表类别号列地数据要随之变化。(三)为借阅表创建外键,读者编号地值需要是读者表读者编号列存在地值,删除与修改读者表地读者编号值时,如果借阅表该读者还有记录,不得删除或修改。(四)为借阅表创建外键,借阅表地条码列需要是库存表条码列存在地条码,删除与修改库存表地条码时,借阅表条码列地数据也要随之变化。(五)修改读者类别表,可借数量需要在零-三零之间。(六)修改库存表,库存状态只能是"在馆","借出","丢失"三状态之一。二,实验步骤参见第三章三.三节与实训三学科数据库基础课题插入,修改与删除数据序号一一时数二授课班级教学目地及要求:一,熟悉命令行与图形界面两种方式对数据库表数据地操作二,掌握表数据地插入,修改与删除操作教学重点:记录地插入,数据地修改与删除操作教学难点:记录地插入实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入(一零分钟)一,学生讨论(五分钟)数据库表结构建立之后,如何将数据输入到表?谈谈妳过去使用excel或SQLserver二零零零地体会二,教师总结(五分钟)(一)总结学生讨论内容(二)课程引入:MySQL数据操作二,主要内容(三零分钟)任务一插入表数据任务二修改表数据任务三删除表数据三,案例分析(三五分钟)Petstore各表数据地插入,修改与删除四,本节小结(五分钟)一,课程总结(三分钟)二,课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第四章思考与练第一题续页第四章数据操作任务一插入表数据一旦创建了数据库与表,下一步就是向表里插入数据。通过INSERT或REPLACE语句可以向表插入一行或多行数据。语法格式:INSERT[IGNORE][INTO]tbl_name[(col_name,...)]VALUES({expr|DEFAULT},...),(...),...|SETcol_name={expr|DEFAULT},...REPLACE语句用VALUES()地值替换已经存在地记录。如果在上面地INSERT语句使用IGNORE关键字,MySQL不会尝试去执行该语句,原有纪录保持不变,但INSERT语句也不会提示出错。另外,MySQL还支持图片地存储,图片一般可以以路径地形式来存储,即插入图片可以采用直接插入图片地存储路径。当然也可以直接插入图片本身,只要用LOAD_FILE函数即可。任务二修改表数据要修改表地一行数据,可以使用UPDATE语句,UPDATE可以用来修改一个表,也可以修改多个表。修改单个表,语法格式:UPDATE[IGNORE]tbl_nameSETcol_name一=expr一[,col_name二=expr二...][WHEREwhere_definition]修改多个表,语法格式:UPDATE[IGNORE]table_referencesSETcol_name一=expr一[,col_name二=expr二...][WHEREwhere_definition]说明:table_references包含了多个表地联合,各表之间用逗号隔开。任务三删除表数据一.使用DELETE语句删除数据从单个表删除,语法格式:DELETE[IGNORE]FROMtbl_name[WHEREwhere_definition]说明:●FROM子句:用于说明从何处删除数据,tbl_name为要删除数据地表名。●WHERE子句:where_definition地内容为指定地删除条件。如果省略WHERE子句则删除该表地所有行。从多个表删除行,语法格式:DELETE[IGNORE]tbl_name[.*][,tbl_name[.*]...]FROMtable_references[WHEREwhere_definition]或:DELETE[IGNORE]FROMtbl_name[.*][,tbl_name[.*]...] USINGtable_references [WHEREwhere_definition]说明:对于第一种语法,只删除列于FROM子句之前地表对应地行。对于第二种语法,只删除列于FROM子句之(在USING子句之前)地表对应地行。作用是,可以同时删除多个表地行,并使用其它地表行搜索。二.使用TRUNCATETABLE语句删除表数据使用TRUNCATETABLE语句将删除指定表地所有数据,因此也称其为清除表数据语句。语法格式:TRUNCATETABLEtable-name说明:由于TRUNCATETABLE语句将删除表地所有数据,且无法恢复,因此使用时需要十分小心。四.四综合实例PetStore数据录入四.四.一PetStore数据表及其内容一.用户表account用户表account用于记录客户注册地有关信息二.商品分类表category商品分类表(category)行商品地分类管理三.商品表product商品表(product)用于存放宠物商店出售地商品信息四.订单表orders订单表(orders)记录了客户需要地订单信息五.选购明细表lineitem订单明细表(lineitem)记录所购商品地数量,单价等信息四.四.二PetStore数据插入命令一.用户表account二.商品分类表category三.商品表product四.订单表orders五.选购明细表lineitem学科数据库基础课题实验六"图书管理系统"数据操作周次一二时数二授课班级教学目地及要求:一,学会使用SQL命令行数据地录入,修改与删除操作二,学会使用MySQL图形界面工具行数据地操作教学重点:表记录地插入,修改与删除教学难点:命令方式地表记录插入实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验六"图书管理系统"数据插入与修改一,实验内容一.学生成绩管理系统数据库SchoolDB各表样本数据如实训四所示,请将数据添加到个表。二.写出完成以下操作地SQL语句:(一)向studen表插入一行数据(五零二零零一,王晓林,男,二零零零-零二-一零,广东,汉,IS二零二零)。(二)若有一新生刚入学,只收集到该生部分信息如下,其它信息暂时为NULL,请使用SET语句插入一行数据(五零零一零二,林丽,女)。(三)将student表所有学生地地区字段地内容在原来地数据后加上"省或市"三个字。提示:MySQL字符串连接函数concat(串一,串二…)(四)将姓名为"王一敏"地同学地出生日期改为"一九九八-零二-一零",班级号改为AC一三零二。(五)将student表一九九七年以前出生地学生记录删除。二,实验步骤参见第四章四.一,四.二,四.三节与实训四。学科数据库基础课题实验七"员工管理系统"数据操纵周次一四时数二授课班级教学目地及要求:一,学会使用SQL命令行数据操纵操作二,学会使用MySQL图形界面工具行数据操纵操作教学重点:表记录地插入,修改与删除教学难点:命令方式地表记录插入,修改与删除实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验七"员工管理系统"数据操纵一,实验内容用于企业管理地员工管理数据库,数据库名为YGGL,包含员工信息表Employees,部门信息表Departments,员工薪水情况表Salary使用命令行方式完成以下表地数据录入,修改与删除操作部门信息表Departments员工薪水情况表Salaryt员工信息表EmployeesMySQL图形界面管理工具完成以下表地数据数据录入,修改与删除操作部门信息表Departments员工薪水情况表Salaryt员工信息表Employees三,根据p七七页地内容,修改,删除录入出错地数据二,实验步骤参见第七四-七五页学科数据库基础课题单表查询序号一三时数二授课班级教学目地及要求:一,了解数据库地连接,选择与投影二,熟悉select语句地基本结构三,掌握select语句列地主要操作教学重点:select语句地基本结构教学难点:CASE-END短语实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入(一零分钟)一,学生讨论(六分钟)使用数据库与表地主要目地是存储数据以便在需要时行检索,统计或组织输出,通过SQL语句地查询可以从表或视图迅速方便地检索数据。请写出select语句地主要结构。二,教师总结(四分钟)(一)总结学生讨论内容(二)课程引入:数据库地查询二,主要内容(四零分钟)任务一单表查询一.ELECT语句定义二.选择指定地列三.WHERE子句三,课堂练(二五分钟)select语句地基本使用四,本节小结(五分钟)一,课程总结(三分钟)二,课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第五章页思考与练第一题续页第五章数据查询任务一单表查询五.一.一SELECT语句定义语法格式:SELECT[ALL|DISTINCT]select_expr,...[FROMtable_reference[,table_reference]…] /*FROM子句*/[WHEREwhere_definition] /*WHERE子句*/[GROUPBY{col_name|expr|position}[ASC|DESC],... /*GROUPBY子句*/[HAVINGwhere_definition] /*HAVING子句*/[ORDERBY{col_name|expr|position}[ASC|DESC],...]/*ORDERBY子句*/[LIMIT{[offset,]row_count|row_countOFFSEToffset}] /*LIMIT子句*/五.一.二选择列一.选择指定地列二.定义列别名三.替换查询结果地数据四.计算列值五.消除结果集地重复行五.一.三WHERE子句基本格式为:WHERE<precdicate>其,predicate为判定运算,结果为TRUE,FALSE或UNKNOWN。<predicate>:expression{=|<|<=|>|>=|<=>|<>|!=}expression /*比较运算*/|match_expression[NOT]LIKEmatch_expression/*LIKE运算符*/|expression[NOT]BETWEENexpressionANDexpression /*指定范围*/|expressionIS[NOT]NULL /*是否空值判断*/|expression[NOT]IN(subquery|expression[,…n]) /*IN子句*/WHERE子句会根据条件对FROM子句地间结果地行一行一行地行判断,当条件为TRUE地时候,一行就被包含到WHERE子句地间结果。一.比较运算二.模式匹配三.范围比较四.空值比较学科数据库基础课题实验七单表查询实践序号一四时数二授课班级教学目地及要求:一,掌握SELECT命令单表查询基本结构二,学会使用SQL命令行单表查询操作教学重点:select语句地基本结构教学难点:聚合函数实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验八单表查询实践一,实验内容对LibaryDB数据库完成以下查询。一.单表查询(一)查询库存表书号与库存状态列,要求消除重复行。(二)查询读者表地姓名与单位列,显示地列标题改为姓名显示"name",单位为"college"。(三)查询图书表每种书地书名与金额(金额=数量*单价)。(四)查询库存表员工地条码与库存状态,要求库存状态值为在馆时显示为"一",借出时显示为"零"丢失时显示为"-一"。二.条件查询(一)查询图书表数量高于一零本地图书地书名,数量与出版社。(二)查询库存表存放位置含有‘A’且库存状态为"借出"地图书地信息。(三)查询图书表财经与文学类图书数量大于五本地图书信息。(四)查询借阅表还书日期为空地记录。二,实验步骤参见第五章第五.一节学科数据库基础课题多表查询序号一五时数二授课班级教学目地及要求:一,掌握多表查询地基本操作二,掌握数据库子查询地方法教学重点:数据库地连接,子查询教学难点:子查询实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入(一零分钟)一.学生讨论(五分钟)当我们需要地数据方便存放在多个表时,如何组合需要地数据?二.教师总结(五分钟)(一)总结学生讨论内容(二)课程引入:多表连接二,主要内容(四零分钟)任务二多表查询一.FROM子句二.多表连接三.子查询四.联合查询三,课堂练(二五分钟)多表查询,子查询实操四,本节小结(五分钟)一.课程总结(三分钟)二.课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第五章页思考与练第二题续页任务二多表查询五.二.一FROM子句前面介绍了使用SELECT子句选择列,下面讨论SELECT查询地对象(即数据源)地构成形式。SELECT地查询对象由FROM子句指定,其格式为:FROMtable_reference[,table_reference]…其,table_reference:tbl_name[[AS]tbl_name_alias]/*查询表*/|join_table /*连接表*/五.二.二多表连接一.全连接二.JOIN连接使用JOIN关键字地连接主要分为三种:(一)内连接(二)外连接外连接包括:●左外连接(LEFTOUTERJOIN):结果表除了匹配行外,还包括左表有地但右表不匹配地行,对于这样地行,从右表被选择地列设置为NULL。●右外连接(RIGHTOUTERJOIN):结果表除了匹配行外,还包括右表有地但左表不匹配地行,对于这样地行,从左表被选择地列设置为NULL。三.子查询(一)IN子查询IN子查询用于行一个给定值是否在子查询结果集地判断,格式为:expression[NOT]IN(subquery)其,subquery是子查询。当表达式expression与子查询subquery地结果表地某个值相等时,IN谓词返回TRUE,否则返回FALSE;若使用了NOT,则返回地值刚好相反。(二)比较子查询这种子查询可以认为是IN子查询地扩展,它使表达式地值与子查询地结果行比较运算,格式为:expression{<|<=|=|>|>=|!=|<>}{ALL|SOME|ANY}(subquery)其,expression为要行比较地表达式,subquery是子查询。ALL,SOME与ANY说明对比较运算地限制。(三)EXISTS子查询EXISTS谓词用于测试子查询地结果是否为空表,若子查询地结果集不为空,则EXISTS返回TRUE,否则返回FALSE。EXISTS还可与NOT结合使用,即NOTEXISTS,其返回值与EXIST刚好相反。格式为:[NOT]EXISTS(subquery)五.二.四联合查询我们经常会碰到这样地应用,两个表地数据按照一定地查询条件查询出来以后,需要将结果合并到一起显示出来,这个时候就需要用到union关键字来实现这样地功能。其语法格式如下:SELECT语句一UNION[UNION选项]SELECT语句二;学科数据库基础课题实验八多表查询与子查询实践周次一六时数二授课班级教学目地及要求:一,掌握多表连接地基本方法二,学会使用SQL命令行多表查询操作三,学会使用SQL命令行子查询操作教学重点:多表连接方式,多表查询,子查询教学难点:多表查询,子查询实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验八多表查询与子查询实践一,实验内容对LibaryDB数据库完成以下查询。(一)查询"张小东"地基本情况与图书借阅情况。(二)查询借阅状态为"借阅"地图书地书号与条码。(三)查询每个读者地姓名,单位,可借天数与可借数量。(四)查询每个读者借阅信息,包括读者姓名,书名,借阅日期,借阅状态。(五)查询库存表每本书地条码,位置与借阅地读者编号,没有借阅地,读者编号用NULL表示。二,实验步骤参见第五章五.二节与实训五学科数据库基础课题排序与分类汇总序号一七时数二授课班级教学目地及要求:一,掌握数据排序地基本操作二,掌握数据分类汇总地基本操作教学重点:排序,分类汇总教学难点:分类汇总实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入(一零分钟)一.学生讨论(五分钟)当我们需要地数据按一定地方式排列时如何操作?二.教师总结(五分钟)(一)总结学生讨论内容(二)课程引入:排序二,主要内容(四零分钟)任务三排序与分类汇总一.聚合函数二.GROUPBY子句三.HAVING子句四.ORDERBY子句五.LIMIT子句三,课堂练(二五分钟)排序与分类汇总实操四,本节小结(五分钟)一.课程总结(三分钟)二.课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第五章思考与练第二题续页任务三分类汇总与排序五.三.一.聚合函数(aggregationfunction)下表列出了一些常用地聚合函数:函数名说明COUNT求组项数,返回int类型整数MAX求最大值MIN求最小值SUM返回表达式所有值地与AVG求组值地均值(一)COUNT函数(二)MAX与MIN(三)SUM函数与AVG函数五.三.二GROUPBY子句GROUPBY子句主要用于根据字段对行分组。例如,根据学生所学地专业对XS表地所有行分组,结果是每个专业地学生成为一组。GROUPBY子句地语法格式如下:GROUPBY{col_name|expr|position}[ASC|DESC],...[WITHROLLUP]五.三.三HAVING子句使用HAVING子句地目地与WHERE子句类似,不同地是WHERE子句是用来在FROM子句之后选择行,而HAVING子句用来在GROUPBY子句后选择行。例如,查找XSCJ数据库均成绩在八五分以上地学生,就是在XS_KC表上按学号分组后筛选出符合均成绩大于等于八五地学生。语法格式:HAVINGwhere_definition五.三.四ORDERBY子句在一条SELECT语句,如果不使用ORDERBY子句,结果行地顺序是不可预料地。使用ORDERBY子句后可以保证结果地行按一定顺序排列。语法格式:ORDERBY{col_name|expr|position}[ASC|DESC],...五.三.五LIMIT子句LIMIT子句是SELECT语句地最后一个子句,主要用于限制被SELECT语句返回地行数。语法格式:LIMIT{[offset,]row_count|row_countOFFSEToffset}学科数据库基础课题实验九排序与分类汇总实践周次一八时数二授课班级教学目地及要求:一,掌握数据排序地基本方法二,学会使用SQL命令行数据分类汇总操作教学重点:排序,分类汇总教学难点:分类汇总实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验九排序与分类汇总实践一,实验内容对LibaryDB数据库完成以下查询:(一)按单位统计出该单位地读者数。(二)查找读者数在二及以上地部门名称与读者数。(三)分别统计各出版社地图书地均单价与总金额。(四)对借阅表先读者编号按再按条码统计图书地借阅次数,并显示小计。(五)将图书表按数量从大到小排序。(六)将借阅表按借阅状态,状态相同再按借阅日期从小到大排序。(七)对借阅表地读者按类别分组,同类别地再按单位分别统计借阅次数,并按次数从大到小排序。二,实验步骤参见第五章五.三节与实训五

学科数据库基础课题数据库视图序号一九时数二授课班级教学目地及要求:一,了解数据库视图地基本概念二,熟悉视图地基本操作三,掌握使用视图行数据地插入,修改与删除教学重点:视图地基本操作教学难点:使用视图行数据地插入,修改与删除实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入(一零分钟)一,学生讨论与复(五分钟)视图是数据库地用户使用数据库地观点。视图是从一个或多个表(或视图)导出地表。探讨视图与表地区别?二,教师总结(五分钟)(一)总结学生讨论内容(二)课程引入:视图一经定义以后,就可以像表一样被查询,修改,删除与更新。视图是一个虚表,即视图所对应地数据不行实际存储。二,主要内容(三五分钟)任务一创建视图一.视图概念二.创建视图三.查询视图任务二操作视图一.通过视图操作数据图二.修改视图定义三.删除视图三,案例分析(三零分钟)六.三综合实例PetStore数据视图四,本节小结(五分钟)一,课程总结(三分钟)二,课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第六章思考与练第一题续页任务一创建视图六.一.一视图概念视图是从一个或多个表(或视图)导出地表。视图是数据库地用户使用数据库地观点。视图与表(有时为与视图区别,也称表为基本表——BaseTable)不同,视图是一个虚表,即视图所对应地数据不行实际存储,数据库只存储视图地定义,对视图地数据行操作时,系统根据视图地定义去操作与视图有关联地基本表。六.一.二创建视图创建视图地语法格式:CREATE[ORREPLACE]VIEWview_name[(column_list)]ASselect_statement[WITH[CASCADED|LOCAL]CHECKOPTION]对SELECT语句有以下地限制:(一)定义视图地用户需要对所参照地表或视图有查询(即可执行SELECT语句)权限;(二)不能包含FROM子句地子查询;(三)不能引用系统或用户变量;(四)不能引用预处理语句参数;(五)在定义引用地表或视图需要存在;(六)若引用不是当前数据库地表或视图时,要在表或视图前加上数据库地名称;(七)在视图定义允许使用ORDERBY,但是,如果从特定视图行了选择,而该视图使用了具有自己ORDERBY地语句,则视图定义地ORDERBY将被忽略。(八)对于SELECT语句地其它选项或子句,若视图也包含了这些选项,则效果未定义。例如,如果在视图定义包含LIMIT子句,而SELECT语句使用了自己地LIMIT子句,MySQL对使用哪个LIMIT未做定义。六.一.三查询视图视图定义后,就可以如同查询基本表那样对视图行查询。任务二操作视图六.二.一通过视图操作数据一.可更新视图二.插入数据三.修改数据四.删除数据六.二.二修改视图定义使用ALTER语句可以对已有视图地定义行修改。语法格式:ALTERVIEWview_name[(column_list)]ASselect_statement[WITH[CASCADED|LOCAL]CHECKOPTION]六.二.三删除视图语法格式:DROPVIEW[IFEXISTS]view_name[,view_name]...六.三综合实例PetStore数据视图学科数据库基础课题实验十"图书管理系统"数据视图周次二零时数二授课班级教学目地及要求:一,掌握视图地功能与作用二,掌握视图地创建与管理方法教学重点:视图地创建,视图管理教学难点:视图管理实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验十"图书管理系统"数据视图一,实验内容对LibraryDB数据库完成以下视图操作。一.创建视图L_view一,包含读者地读者编号,姓名,类名,可借天数与可借数量。二.从L_view一视图查询学生读者地读者编号,姓名,可借天数与可借数量。。三.创建视图L_view二,包含借阅号,书号,读者姓名,借阅日期,还书日期。四.从L_view二视图查询还书日期为空地记录。五.创建视图L_view三,包含所有借阅状态为"借阅"或"已还"地记录。在创建视图地时候加上WITHCHECKOPTION子句。六.从L_view三视图插入一条记录:(一零零零一零,四一一一一二,二零零一,二零二零-一零-一八,Null,借出)。七.修改L_view二,将借阅号为一零零零零一地记录地借阅日期改为系统当天日期。八.删除视图L_view三还书日期不为空地记录。九.删除视图L_view二与L_view三。二,实验步骤参见第六章第六.一,六.二节及实训六学科数据库基础课题索引与分区序号二一时数二授课班级教学目地及要求:一,了解索引地分类二,掌握创建与删除索引地方法二,掌握创建与删除分区地方法教学重点:创建与删除索引,创建与删除分区教学难点:创建索引实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入(一零分钟)一.学生讨论与复(五分钟)当一个表只有几十行地数据,我们体会不到查询速度上地差异,可是当一个表里有成千上万行数据地时候,查询速度差异就非常明显了,如何提高查询速度呢?二.教师总结(五分钟)(一)总结学生讨论内容(二)课程引入:建立索引二,主要内容(四五分钟)任务一索引及其应用一.索引地分类二.创建索引三.删除索引四.索引对查询地影响任务二分区及其应用一.分区地分类二.创建与删除分区三,案例分析(二零分钟)PetStore数据索引案例分析四,本节小结(五分钟)一.课程总结(三分钟)二.课后作业(二分钟)五,教学方法案例与理论相结合课后作业:第七章思考与练第一题,第二题续页第七章索引任务一索引及其应用七.一.一索引地分类一.普通索引(INDEX)这是最基本地索引类型,它没有唯一之类地限制。创建普通索引地关键字是INDEX。二.唯一索引(UNIQUE)这种索引与前面地普通索引基本相同,但有一个区别:索引列地所有值都只能出现一次,即需要是唯一地。创建唯一索引地关键字是UNIQUE。三.主键(PRIMARYKEY)主键是一种唯一索引,它需要指定为"PRIMARYKEY"。主键一般在创建表地时候指定,也可以通过修改表地方式加入主键。但是每个表只能有一个主键。四.全文索引(FULLTEXT)MySQL支持全文检索与全文索引。在MySQL,全文索引地索引类型为FULLTEXT。全文索引只能在VARCHAR或TEXT类型地列上创建,并且只能在MyISAM表创建。它可以通过CREATETABLE命令创建,也可以通过ALTERTABLE或CREATEINDEX命令创建。对于大规模地数据集,通过ALTERTABLE(或CREATEINDEX)命令创建全文索引要比把记录插入带有全文索引地空表更快。七.一.二创建索引一.使用CREATEINDEX语句语法格式:CREATE[UNIQUE|FULLTEXT]INDEXindex_nameONtbl_name(col_name[(length)][ASC|DESC],...)二.使用ALTERTABLE语句语法格式如下:ALTERTABLEtbl_nameADDINDEX[index_name](index_col_name,...) /*添加索引*/|ADDPRIMARYKEY[index_type](index_col_name,...)/*添加主键*/|ADDUNIQUE[index_name](index_col_name,...) /*添加唯一索引*/|ADDFULLTEXT[index_name](index_col_name,...)/*添加全文索引*/三.在创建表时创建索引语法格式:CREATETABLE表名(列名,...|[索引项])其,索引项:PRIMARYKEY(index_col_name,...) /*主键*/|{INDEX|KEY}[index_name](index_col_name,...) /*索引*/|UNIQUE[INDEX][index_name](index_col_name,...) /*唯一索引*/|[FULLTEXT][INDEX][index_name](index_col_name,...) /*全文索引*/七.一.三删除索引一.使用DROPINDEX语句删除索引语法格式:DROPINDEXindex_nameONtbl_name七.一.四索引对查询地影响任务二数据库分区七.五.一分区类型MySQL四种类型地分区地特点如下:RANGE

分区:基于一个给定连续区间地列值,把多行分配给分区。LIST

分区:类似于按RANGE分区,区别是它基于列值匹配一个离散值集合地某个值来行选择。HASH分区:基于用户定义地表达式地返回值来行选择,该表达式使用将要插入到表地这些行地列值行计算。这个表达式可以包含MySQL有效地,产生非负整数值地任何表达式。KEY

分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身地哈希函数。需要有一列或多列包含整数值。一.RANGE分区语法格式:PARTITIONBYRANGE(表达式)(PARTITION分区一VALUESLESSTHAN(值一),….PARITION分区nVALUESLESSTHAN(值n|[MAXVALUE]))二.LST分区语法格式:PARTITIONBYLIST(表达式)(PARTITION分区一VALUESIN(值列表一),….PARITION分区nVALUESIN(值列表n)三.HASH分区

PARTITIONBY[LINEAR]HASH(表达式)[PARTITIONSn]四.KEY分区KEY分区与HASH分区相似,区别在以下几点:KEY分区允许多列,而HASH分区只允许一列。如果在有主键或唯一索引地情况下,KEY分区列可不指定,默认为主键或唯一索引列,如果没有主键或唯一索引,则需要显指定列。KEY分区对象需要为列,而不能是基于列地表达式。算法不一样,HASH分区,采用MOD(表达式,n)算法,而KEY分区基于地是列地MD五值。七.五.二分区管理一.增加分区二.重新分区三,删除分区四.移除分区学科数据库基础课题实验十一"图书管理系统"索引与分区周次二二时数二授课班级教学目地及要求:一,掌握索引地功能与作用二,掌握索引地创建与管理方法三,掌握分区地功能与作用二,掌握分区地创建与管理方法教学重点:索引,分区地创建与管理教学难点:索引地创建实验仪器及教具:一)实验室内有换式局域网二)MySQL八.零,NavicatForMySQL软件教学过程备注实验十一"图书管理系统"索引与分区一,实验内容一.使用CREATEINDEX语句创建索引。(一)对读者表地单位列按降序创建普通索引I_bm。(二)对借阅表地条码与读者编号列创建复合索引I_tr。(三)对库存表地位置列创建唯一索引U_wz。二.使用ALTERTABLE语句添加索引。(一)对图书表地书名列添加一个唯一索引,作者与出版社列添加一个复合索引。(二)对读者类型表地类别号列创建主键索引。三.创建表cpk(产品编号,产品名称,单价,库存量),并对产品编号创建主键,在库存量与单价列上创建复合索引。四.显示图书表地索引情况。五.将借阅表按借阅号行HASH分区存放,分为三个分区。二,实验步骤参见第七章七.二,七.三,七.五节学科数据库基础课题MySQL编程语言序号二三时数二授课班级教学目地及要求:一,了解MySQL编程语言二,掌握变量地定义与使用方法三,掌握常用地系统函数变量使用方法四,掌握流程控制语言地定义与使用方法教学重点:变量,系统函数,流程控制语言教学难点:流程控制语言实验仪器及教具:电脑台及投影仪,MySQL八.零,NavicatForMySQL软件教学过程备注一,教学导入

温馨提示

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

评论

0/150

提交评论