数据库原理与MySQL应用 教案.docx
教案教案(首页)课程名称数据库原理与应用课程编码总计:64学时讲课:32学时实验:32学时学分2类别公共基础课()专业基础课()专业课()选修课()基本教材和主要参考资料1、教材1数据库原理与MySQL应用.李月军.北京:人民邮电出版社,2022.2、参考书1 数据库原理及应用(MySQL版).李月军,付良廷.北京:清华大学出版社,2019.2 数据库系统概论(第5版).王珊.北京:高等教育出版社,2014.3 数据库系统原理及MySQL应用教程(第2版).李辉.北京:机械工业出版社.2019。4 数据库系统工程师考试全程指导丁宝康,陈坚.北京:清华大学出版社,2006.3、网上资源蓝墨云班课教学目的要求通过理论授课和上机实践,使学生认识如何合理地组织数据和存储数据、更方便地维护数据、更严密地控制数据和更有效地利用数据。通过学习了解数据库系统的体系结构与特点、数据库管理系统的功能;了解关系模型的基本概念;掌握关系代数语言的使用;掌握结构化查询语言(SQL)的用法;掌握关系数据库规范化理论,能够利用分解算法将关系模式进行合理的分解;掌握数据库设计方法;了解数据库系统维护的相关概念和方法(数据库恢复、并发控制、安全性控制和完整性控制等)。能够通过MySQL数据库管理系统实现对数据的存储、管理与维护等操作,将原理内容通过MySQL语句实现。教学重点难点教学重点:1、数据模型与数据库体系结构2、数据定义、增删改查、索引与视图的SQL语句实现3、数据库完整性及SQL语句实现与关系代数运算4、数据库的安全性及MySQL语句实现5、并发控制及封锁6、数据库备份及恢复策略7、使用E-R模型实现数据库的概念设计8、关系模型的规范化9、数据库设计教学难点:1、SQL语言实现数据复杂查询2、关系代数组合运算3、并发控制4、关系规范化:最小函数依赖集、函数依赖关系、求候选键、关系模式的规范化5、数据库设计:逻辑结构向关系模型的转换数据库原理与应用课程教案(第1-2章)授课方式(请打)理论课因讨论课实践课习题课其他课时安排2教学单元(教学章、节或主题):第一章数据库系统的基本原理第二章MySQL安装与使用目的、要求(分了解、熟悉、掌握三个层次):1、了解并学会数据库系统总体特点、结构、组成及基本概念2、掌握下述内容:数据、数据库、数据库管理系统、数据库系统的概念;数据管理技术的产生和发展;数据库系统的特点;数据模型(数据模型的组成要素、常用数据模型、概念模型、层次模型、网状模型、关系模型)3、掌握MySQL的安装、卸载、服务启动和登录重点:1、概念模型2、数据模型难点:关系模型的概念教学步骤:课程介绍课程导入精讲课堂内容课堂小结布置作业教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)多媒体讲解、举例讲解作业和思考题:作业:习题三-(1)题练习:教材第1章课后习题思考题:概念模型三个组成部分是什么,分别用什么图形表示?教学内容(含时间分配)板书或旁注在线资源:云班课APP:教学环节课程介绍新课讲解课堂实践每课小结布置作业时间分配10651032一、课程介绍:数据库是现代信息社会的基石。几乎所有的计算机应用软件都构建于数据库系统之上。数据库原理与应用是一门理论性较强的专业核心课程。本课程的主要任务是,掌握数据库系统的基本概念、基本原理、基本方法以及有关的应用,同时介绍一种大型的数据库管理系统(MySQL)。重点掌握关系数据库的基本理论与基本操作,通过对关系数据库标准语言SQL的学习,了解掌握关系数据库的基本的使用,培养学生对有关实际问题的系统分析能力和设计能力。主要内容有:数据库系统、数据库管理系统、概念模型与E-R图;关系数据库、关系模型、关系代数方法、关系数据库标准语言SQL、关系数据理论;数据库设计、实施与维护、数据库恢复技术、数据库安全性、数据库完整性和并发控制等。通过上机实践,进一步加深理论知识,使学生能针对具体问题编制相应的数据库应用程序,今后能独立开发面向应用的数据库系统的应用程序,进一步提高学生的程序设计和调试能力。二、成绩考核方法:本课程为考试课程,其成绩组成为平时成绩(包括出勤10、测验20、团队项目20)占50%,期末考试占50%。第1章数据库系统的基本原理【课程导入】问题:QQ系统中登录用户名及密码如何存放,并能快速比对出合法或非法用户?【讲授内容】1.1 数据库系统概述1.1.1 数据库系统基本概念1数据(Data)数据是数据库存储的基本对象。是描述现实世界中各种具体事物或抽象概念的、可存储并具有明确意义的符号记录。2数据库(DataBase,简称为DB)简单的说,数据库就是相互关联的数据集合。严格的说,数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性。3数据库管理系统(DataBaseManagementSystem,DBMS)它的主要功能包括以下几个方面:数据定义功能、数据操纵功能、数据控制功能、数据组织、存储和管理。4数据库系统(DataBaseSystem,DBS)数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库(DB)、数据库管理系统(DBMS)、应用系统和数据库管理员(DBA)构成。5数据库应用系统(DataBaseApplicationSystem,DBAS)1.1.2 数据管理技术的发展阶段1人工管理阶段特点:1)数据不保存;2)数据不具有独立性;3)数据不共享2文件管理系统阶段文件管理系统阶段存储组织信息的主要弊端:1)数据的冗余和不一致;2)数据独立性差;3)数据孤立3数据库系统阶段数据库系统的特点:1)数据结构化;2)数据的共享性高,冗余度低,易扩充;3)数据独立性高;4)数据由DBMS统一管理和控制。1.1.3数据库系统的组成1. 计算机硬件、2.计算机软件3.人员:DBA的具体职责包括:1)参与数据库的设计;2)定义数据的安全性要求和完整性约束条件;3)日常维护;4)数据库的改进和重组、重构。4数据库用户:最终用户、专业用户、数据库设计人员、应用程序员。1.2数据库体系结构1.2.1 数据库的三级模式1)模式:模式又称为概念模式或逻辑模式,一个数据库只能有一个模式2)外模式:外模式又称为子模式。一个数据库可以有多个外模式。3)内模式:又称为存储模式或物理模式。一个数据库只有一个内模式。2. 1.2.数据库系统的二级映射数据库系统的二级映射是:外模式/模式映射和模式/内模式映射。4数据独立性1)物理独立性:物理独立性是通过模式/内模式映射来实现的。2)逻辑独立性:逻辑独立性是通过外模式/模式映射来实现的。1.3数据模型1.3.1 数据抽象的过程1概念模型现在采用的概念模型主要是实体-联系模型,即E-R模型。两个实体之间的联系可以分为三种:1)一对一联系(1:1);2)一对多联系(1:n);3)多对多联系(m:n)2逻辑模型逻辑模型有层次模型、网状模型和关系模型3种。1.3.2 型外部模型反映了用户使用数据库的观点。1.3.3 型内部模型又称为物理模型,是数据库最底层的抽象,它描述数据在磁盘上存储方式、存取设备和存取方法。1.3.2 数据模型1数据模型的三要素1)数据结构:是对系统静态特性的描述。2)数据操作:是对系统动态特性的描述。3)数据的完整性约束条件:在关系模型中,任何关系都必须满足实体完整性和参照完整性。2. 关系模型1)关系:表;2)元组:行;3)属性:列;4)键:唯一确定一个元组;5)关系模式:关系名(属性1,属性2,属性3,属性n)。第2章MySQL安装与使用机器上演示。【课程小结】本次课主要掌握数据库的基本概念、数据库发展各阶段的特点、数据模型,和数据库的三级模式两级映射,及数据的两种独立性的实现。【课后自我总结分析】因为数据库系统总体结构和概念比较抽象,学生对此有些模糊。需要在后面的课上反复提到,不断加深印象。黑板画三级模式结构图在黑板上通过画图讲解抽象过程本章内容可根据学时情况移至实践课讲解并演示。数据库原理与应用课程教案(第3章)授课方式(请打)理论课因讨论课实践课习题课其他课时安排2教学单元(教学章、节或主题):第3章MySQL数据库基本操作(第1节+第2节+第3节+第4节)目的、要求(分了解、熟悉、掌握三个层次):1、熟练掌握关系数据库标准语言SQL,其功能强大,对数据库具有数据定义、数据查询、数据更新与数据控制功能。2、熟练掌握SQL语言,提高对数据库操作的能力。3、数据定义是使用数据的基础。要求掌握下述内容:数据定义(数据库创建、删除,表的创建、修改和删除)重点:1、数据库的创建、删除2、常用数据类型3、表的创建、修改与删除。难点:表的定义、修改及删除语句教学步骤:提问引起思考引入课程精讲课堂内容课堂小结布置作业教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)多媒体讲解、举例讲解作业和思考题:练习:教材第3章课后选择题思考题:常用的数据类型包括哪几种?各数据类型的关键字是什么?教学内容(含时间分配)板书或旁注教学环节复习提问新课讲解课堂实践每课小结布置作业时间分配5681052第3章MySQL数据库基本操作【课程导入】问题:QQ拥有的用户很多,如何将数亿条用户信息存储到计算机中哪?【讲授内容】3.1 关系数据库标准语言SQL1. SQL的特点(1)综合统一;(2)高度非过程化;(3)面向集合的操作方式;(4)同一种语法结构提供两种使用方式;(5)语言简洁、易学易用2. SQL语言的组成1)数据定义语言:DDL用来定义、修改、删除数据库中的各种对象。2)数据操纵语言:DML命令用来查询、插入、修改、删除数据库中数据。3)数据控制语言:DCL用于事务控制、并发控制、完整性和安全性控制。3.2 数据库的管理1 )创建数据库CREATEDATABASE数据库名;2)选择数据库USE数据库名;3 .)删除数据库DROPDATABASE数据库名;3.3 MySQL存储引擎1)InnoDB:是事务型数据库的首选引擎,MySQL8.0版本默认的存储引擎。2)MyISAM:拥有较高的插入、查询速度,但不支持事务。3)MEMORY:表数据存储在内存中,访问速度非常快。4)选择存储引擎:InnoDB存储引擎适用于需要事务支持的场景,其行级平台操作演示锁定的特性对事务的高并发有很好的适应能力。由于可以实现事务的提交(Commit)和回滚(Rollback),所以也适用于需要频繁地进行更新、删除操作的数据库。MyISAM存储引擎适用于不需要事务支持、并发相对较低、数据修改相对较少、以读为主、数据一致性要求不是非常高的场景。MEMORY存储引擎适用于需要很快的读写速度,对数据的安全性要求较低的场景。MEMORY存储引擎对表的大小有要求,不能建立太大的表。3.4表的管理1 .数据类型1)字符串类型:CHAR、VARCHAR类型。2)数值类型:INT、FLOAT类型。3)日期和时间类型:DATE、TIME、DATETIME类型。4)布尔类型:BOOLEAN类型,只有两个值:TRUE和FALSE。2.基本表的定义、删除和修改1)创建表课上学生进行练习CREATETABLE表名(列名数据类型DEFAULT默认值,);2)利用子查询来创建表CREATETABLE表名SELECT语句;3)修改表的结构(1)在一个表中增加一个新列ALTERTABLE表名ADDCOLUMN列名数据类型DEFAULT默认值(2)修改一个表中已有的列ALTERTABLE表名MODIFYCOLUMN列名数据类型DEFAULT默认值(3)从一个表中删除一列ALTERTABLE表名DROPCOLUMN列名(4)修改字段名ALTERTABLE表名CHANGE旧字段名新字段名新数据类型;(5)删除字段ALTERTABLE表名DROP列名;(6)修改表名ALTERTABLE旧表名RENAME新表名(7)更改表的存储引擎ALTERTABLE表名ENGINE=更改后的存储引擎;4删除表当不仅要删除表中的数据而且还要删除表的结构,可以使用DROPTABLE语句。该语句的格式为:DROPTABLE表名【课程小结】本次课主要掌握MySQL下的常用数据类型,并能通过SQL语句实现数据库的创建及删除、表的创建、修改及删除。【课后自我总结分析】学生第一次接触SQL语句,需将每个语句所用关键词分析透彻帮助学生记忆,督促学生课上书写练习、课下在MySQL环境下多加敲练,另要强调和注意书写格式,如建表时,的使用。数据库原理与应用课程教案(第3章)授课方式(请打)理论课因讨论课实践课习题课其他课时安排2教学单元(教学章、节或主题):第3章MySQL数据库基本操作(第5节+第6节)目的、要求(分了解、熟悉、掌握三个层次):1、熟练掌握SQL语言,提高对数据库操作的能力。2、掌握对表中数据插入、删除和更新的维护操作。3、熟练掌握数据查询SELECT语句(单表查询;连接查询)重点:1、表数据的插入、删除和更新操作。2、数据查询(单表查询;连接查询;SELECT语句的一般格式)。难点:1、表数据的插入、删除和更新语句2、数据查询(连接查询)教学步骤:提问引起思考引入课程精讲课堂内容课堂小结布置作业教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)多媒体讲解、举例讲解作业和思考题:练习:教材第2章课后选择题思考题:多表连接查询,各表间连接的字段名必须要求相同吗?教学内容(含时间分配)板书或旁注平台操作演示+练习教学环节复习提问新课讲解课堂实践每课小结布置作业时间分配5681052第3章MySQL数据库基本操作【课程导入】问题:用户登录界面注册新的用户,怎么将数据添加到数据库中?怎么样实现用户密码的修改?3.5 表的数据维护1 插入数据2 )INSERT语句当往一个表中添加一行新的数据时,需要使用DML语言中的INSERT语句。该语句的基本语法格式如下:INSERTINTO表名(列名1,列名2)VALUES(值1,值2)2)利用子查询向表中插入数据INSERTINTO表名(列名1冽名2)SELECT语句3 更新数据UPDATE语句的基本语法格式如下:UPDATE表名SET列名=值冽名=值,WHERE条件4 删除数据DELETE语句的基本语法格式如下:DELETEFROM表名WHERE条件3.6 数据查询SELECT语句基本的语法如下:SELECT*I列名I列表达式,列名I列表达式FROM表名或视图名,表名或视图名WHERE行条件表达式GROUPBY分组列名1,分组列名2HAVING组条件表达式ORDERBY排序列名1ASC|DESC,排序列名2ASC|DESC3.61基本查询1SELECT子句的规定SELECT子句用于描述输出值的列名或表达式,其形式如下:SELECTALL|DISTINCT*|列名或列名表达式序列2使用WHERE子句指定查询条件运算符名称符号及格式说明算术比较判断表达式1表达式2代表的符号有:、=、=、或!=、=比较两个表达式的值逻辑比较判断比较表达式1比较表达式2代表的符号按其优先级由高到低的顺序为:NOT、AND、OR两个比较表达式进行非、与、或的运算之间判断表达式NOTBETWEEN值1AND值搜索(不)在给定范围2内的数据字符串模糊判断字符串NOTLIKE匹配模式查找(不)包含给定模式的值空值判断表达式ISNOTNULL判断某值是否为空值之内判断表达式IN(集合)判断表达式的值是否在集合内3、分组查询聚合函数函数说明COUNT(*)COUNT(列名)计算记录的个数对一列中的值计算个数SUM(列名)求某一列值的总和AVG(列名)求某一列值的平均值MAX(列名)求一列值的最大值MIN(列名)求一列值的最小值使用聚合函数时,需要注意以下几点: 聚合函数只能出现在所查询的列、ORDERBY子句、HAVING子句中,而不能出现在WHERE子句、GROUPBY子句中。 除了COUNT(*)之外,其他聚合函数(包括COUNT(列名)都忽略对列值为NULL值的统计。4连接查询连接查询时的一些注意事项: 要连接的表都要放在FROM子句中,表名之间用逗号分开,比如FROMdetp,emp。 为了书写方便,可以为表起别名,表的别名在FROM子句中定义,别名放在表名之后,它们之间用空格隔开。注意,别名一经定义,在整个查询语句中就只能使用表的别名而不能再使用表名。 连接的条件放在WHERE子句中,比如WHEREemp.deptno=dept.deptno。 如果多个表中有相同列名的列时,在使用这些列时,必须在这些列的前面冠以表名来区别,表名和列名之间用句号隔开。【课程小结】本次课主要掌握通过SQL语句实现表数据的插入、删除和更新操作,以及对表中数据的基本查询、分组查询和连接查询。【课后自我总结分析】数据库语句并不困难,要严格遵从语句格式要求。要引领学生学会分析,尤其是多表连接查询时,需要用到哪些表,及这些间的连接字段。另外就是要多加练习,促进灵活应用。数据库原理与应用课程教案(第3章)授课方式(请打)理论课因讨论课实践课习题课其他课时安排2教学单元(教学章、节或主题):第3章MySQL数据库基本操作(第6节+第7节)目的、要求(分了解、熟悉、掌握三个层次)1、掌握数据查询(嵌套查询;集合查询)2、掌握索引创建与删除3、掌握视图(定义、查询、更新视图)重点:1、数据查询(嵌套查询;集合查询)2、索引3、视图难点:数据查询(嵌套查询;集合查询);索引的作用;视图的使用。教学步骤:提问引起思考引入课程精讲课堂内容课堂小结布置作业教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)多媒体讲解、举例讲解作业和思考题:作业题:课后习题二-(1、2)练习题:教材第2章课后习题思考题:什么情况下不能使用视图完成对表的插入、删除和更新操作?教学内容(含时间分配)板书或旁注平台操作演示+练习教学环节复习提问新课讲解课堂实践每课小结布置作业时间分配5681052第3章MySQL数据库基本操作【课程导入】问题:QQ注册用户有上亿条,如何能快速的查找到指定用户的信息哪?怎样让用户只能看到允许他能查看的数据哪?3.6数据查询4. 子查询1)使用IN操作符的多值子查询比较运算符IN的含义为子查询返回列表中的任何一个。IN操作符比较子查询返回列表中的每一个值,并且显示任何相等的数据行。2)使用ALL操作符的多值子查询ALL操作符比较子查询返回列表中的每一个值。ALL:为小于最小的;ALL:为大于最大的。3)使用ANY操作符的多值子查询ANY操作符比较子查询返回列表中每一个值。ANY:为小于最大的;ANY:为大于最小的。4)使用EXISTS操作符的多行查询EXISTS操作符比较子查询返回列表的每一行。使用EXISTS时应注意:外层查询的WHERE子句格式为:WHEREEXISTS;在内层子查询中必须有WHERE子句,给出外层查询和内层子查询所使用表的连接条件。5. 集合查询当两个SELECT查询结果的结构完全一致时,可以对这两个查询执行并、交、差的运算,运算符为UNION、INTERSECT和MINUS。集合运算的格式为:SELECT语句1UNION|INTERSECT|MINUSSELECT语句23.7索引和视图1.索引的创建与删除1)通过CREATEINDEX语句在已存在的表上创建索引创建索引的语句格式如下:CREATEINDEX索引名ON表名(列名,列名)2)创建表时直接创建索引CREATETABLE表名(字段名1数据类型,字段名2数据类型,UNIQUE|FULLTEXT|SPATIALINDEX索引名(字段名ASC|DESC,字段名ASC|DESC,);3)使用DROPINDEX语句删除索引DROPINDEX索引名4)使用ALTERTABLE语句删除索引ALTERTABLE表名DROPINDEX索引名;2.视图视图(View)是由SELECT子查询语句定义的一个逻辑表,只有定义而无数据,是一个“虚表”。1)创建视图CREATEORREPLACEVIEW视图名(别名,别名)AS子查询语句WITHCHECKOPTIONCONSTRAINT约束名WITHREADONLY2)删除视图Dropview视图名3)更新视图数据对视图的更新实际上是对表中数据的更新,更新视图是指通过视图对表中的数据进行插入、删除和修改。【课程小结】本次课主要掌握嵌套查询和合并查询,索引的创建与删除,视图的创建、修改和删除,及对数据的增、删、改的操作。【课后自我总结分析】1)要让学生能够理解为什么要建索引,因为索引是优化查询的一种方式。2)视图对应着数据库系统的外模式,是实现数据安全性的一种方式。这两点一定要让学生知道,对以后数据库的管理有帮助。数据库原理与应用课程教案(第4章)授课方式(请打)理论课因讨论课实践课习题课其他课时安排2教学单元(教学章、节或主题):第4章关系模型基本原理(第1节+第2节)目的、要求(分了解、熟悉、掌握三个层次):1、了解关系数据库中的关系模型2、熟悉关系数据结构及形式化定义的基本概念(关系、关系模式、关系数据库)3、3、掌握关系的完整性。重点:1、关系的概念2、关系模式的概念3、关系的完整性难点:关系完整性实现教学步骤:提问引起思考引入课程精讲课堂内容课堂小结布置作业教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)多媒体讲解、举例讲解作业和思考题:作业题:课后习题四练习:教材第4章课后习题思考题:关系完整性包括哪三种?分别使用哪些命令短语实现?教学内容(含时间分配)板书或旁注教学环节复习提问新课讲解课堂实践每课小结布置作业时间分配5681052第4章关系模型基本原理【课程导入】问题:如果表中有多条重复记录会有什么影响?如何控制?【讲授内容】4.1 关系模型基本概念4.1.1 基本术语 关系:是用于描述数据的一张二维表,组成表的行称为元组,组成表的列称为属性。 域(Domain):指列(或属性)的取值范围。候选键(CandidateKey):也称为候选码。能唯一的标识关系中每一个元组的最小属性集。 主键(PriamaryKey,PK):也称为主码。一个唯一识别关系中元组的最小属性集合。 主属性:候选键中所有的属性均称为主属性。 非主属性:不包含在任何候选键中的属性称为非主属性。 全码:关系中所有属性的组合是该关系的一个候选码,则该候选码称为全码。 外键(ForeignKey,FK):关系R中的某个属性K是另一个关系S中的主键,则称该属性K是关系R的外键。通过外键可以建立两表间的联系。4.1.2 关系的特征 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。 各列的顺序在理论上是无序的,即列的次序可以任意互换,但使用时按习惯考虑列的顺序。 任意两个元组的侯选码不能相同。 行的顺序无所谓,即行的次序可以任意交换。 分量必须取原子值,即每一个分量都必须是不可分的数据项。4.2 数据库完整性1 .2.1三类完整性规则1实体完整性规则实体完整性给出了主键的取值的最低约束条件。规则4.1主键的各个属性都不能为空值。2参照完整性参照完整性给出了在关系之间建立正确的联系的约束条件。定义4.1设F是关系R的一个或一组属性(但F不是R的主键),K是关系S的主键。如果F与K相对应,则称F是关系R的外键,并称关系R为参照关系,关系S为被参照关系。而关系R和关系S可以是同一个关系。规则4.2外键或者取空值(要求外键的每个属性均为空值),或者等于被参照关系中的主键的某个值。参照完整性规则就是定义外键与主键之间的引用规则。3用户定义的完整性根据应用环境的特殊要求,关系数据库应用系统中的关系往往还应该满足一些特殊的约束条件。规则4.3属性的取值应当满足用户定义的约束条件。4.2.2MySQL约束控制1. 非空(NOTNULL)约束字段名数据类型NOTNULL|NULL2主键(PRIMARYKEY)约束主键约束主要是针对主键,以保证主键值的完整性。主键约束要求主键值必须满足两个条件:(1)值唯一;(2)不能为空值。3唯一约束唯一约束主要是针对于候选键,以保证候选键值的完整性。唯一约束要求候选键满足2个条件:(1)值唯一;(2)可有一个且仅有一个空值。4检查约束检查约束是通过检查输入到表中的数据来维护用户定义的完整性的,即检查输入的每一个数据,只有符合条件的数据才允许输入到表中。5外键约束外键约束涉及到两个表,即主表和从表,从表是指外键所在的表,主表是指外键在另一张表中作为主键的表。6. 自增(AUTO_INCREMENT)约束默认情况下,在MySQL中AUTO_INCREMENT的初始值是1,每新增一条记录,字段值自动加1。一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。AUTO_INCREMENT约束的字段可以是任何整数类型,如TINYINT、SMALLINT、INT、BIGINT等。7. 默认值(DEFAULT)约束默认值约束是为表中某列指定默认值。【课程小结】本次课主要掌握数据的三种完整性及其实现。平台操作演示+练习数据库原理与应用课程教案(第4章)授课方式(请打)理论课因讨论课实践课习题课其他课时安排2教学单元(教学章、节或主题):第4章关系模型基本理论(第3节+第4节)目的、要求(分了解、熟悉、掌握三个层次):1、掌握关系代数传统的集合运算2、掌握关系代数专门的关系运算重点:关系代数的运算难点:组合的关系代数运算教学步骤:提问引起思考引入课程精讲课堂内容课堂小结布置作业教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)多媒体讲解、举例讲解作业和思考题:作业题:课后习题三练习:教材第4章课后习题思考题:关系代数五种基本操作的运行符号分别是什么?教学内容(含时间分配)板书或旁注平台操作演示教学环节复习提问新课讲解课堂实践每课小结布置作业时间分配5681052第4章关系模型基本原理【课程导入】问题:代数中的集合运算包括有什么?它们是实现关系运算增、删、改、查的数据理论基础。【讲授内容】4.3关系代数4.3.1 关系代数的基本操作1并(Union)设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的所有元组构成的集合,记为RS。形式定义如下:RS=t|tRtS关系的并操作对应于关系的插入记录的操作,俗称为“+”操作。2差(Difference)设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。形式定义如下:R-S=t|tRtS关系的差操作对应于关系的删除记录的操作,俗称为“”操作。3笛卡儿集(CartesianProduct)设关系R和S的属性个数(即列数)分别为r和s,R和S的笛卡儿积是一个(r+s)列的元组集合,每个元组的前r个列来自R的一个元组,后s个列来自S的一个元组,记为R×S。形式定义如下:R×S=tt|tRtS关系的笛卡儿积操作r对s应r于两个s关系记录横向合并的操作,俗称“×”操作。4投影(Projection)关系R上的投影是从R中选择出若干属性列组成新的关系。形式定义如下:(R)=tA|tR其中,A为R中的属性列。5选择(Selection)关系R上的选择操作是从R中选择符合条件的元组。形式定义如下:(R)=t|tRF(t)=true4.3.2 关系代数的4个组合操作1交(Intersection)设关系R和S具有相同的关系模式,R和S的交是由属于R又属于S的元组构成的集合,记为RS。形式定义如下:RS=t|tRtS关系的交可以用差来表示,即RS=RRS。关系的交操作对应于寻找两关系共有记录的操作,是一种关系查询操作。2连接(Join)连接也称为连接。它是从两个关系的笛卡儿积中选取属性值满足某一操作的元组。形式定义如下:RS=trts|trRtsStrAtsB也可写成:RS=ðAB(R×S)3除(Division)关系的除操作能用其他基本操作表示,即R÷SX(R)X(X(R)×Y(S)R)除操作适合于包含“对于所有的或全部的”语句的查询操作。4.4元组关系演算1原子公式三种形式(1)R(t)(2)tisj(3)tic或cti2公式的递归定义(1)每个原子公式是公式。其中的元组变量是自由元组变量。(2)如果P1和P2是公式,那么下面3个也为公式。 P1,如果P1为真,则P1为假。 P1P2,如果P1和P2中有一个为真或者同时为真,则P1P2为真,仅当P1和P2同时为假时,P1P2为假。 P1P2,如果P1和P2同时为真,则P1P2才为真,否则为假。(3)如果P是公式,那么(t)(P)和(t)(P)也是公式。其中t是公式P中的自由元组变量,在(t)(P)和(t)(P)中称为约束元组变量。(t)(P)表示存在一个元组t使得公式P为真;(t)(P)表示对于所有元组t都使得公式P为真。(4)公式中各种运算符的优先级从高到低依次为:、和、和。在公式外还可以加括号,以改变上述优先顺序。(5)公式只能由上述4种形式构成,除此之外构成的都不是公式。3关系代数中5种基本运算用元组关系演算表达式的表达(1)并RS=t|R(t)S(t)(2)交RS=t|R(t)S(t)(3)投影i1i2ik(R)=t|(u)(R(u)t1=ui1t2=ui2tk=uik)例如,投影操作是23(R),那么元组表达式可写成:t|(u)(R(u,)t1=u2t2=u3)。(4)笛卡尔积R×S=t|(u)(v)(R(u)S(v)t1=u1t2=u2t3=u3t4=v1t5=v2t6=v3)(5)选择F(R)=t|R(t)FFF是F的等价表示形式。例如,2=d(R)可写成t|R(t)t2=d。因为差运算也常用,所以下面给出差运算的元组关系演算表达式。(6)差RS=t|R(t)S(t)【课程小结】本次课主要掌握通过关系代数的四个组合操作写出关系代数表达式,掌握关系代数,会更有利于对SQL语句的理解记忆。黑板讲解数据库原理与应用课程教案(第5章)授课方式(请打)理论课因讨论课实践课习题课其他课时安排2教学单元(教学章、节或主题):第5章存储函数与存储过程(第1节+第2节+第3节)目的、要求(分了解、熟悉、掌握三个层次):1、熟悉常用的系统函数2、掌握MySQL的常量的表示及变量的定义及使用;3、掌握使用控制流语句实现简单及复杂的存储函数;重点:存储函数难点:条件及循环语句在存储函数中的使用教学步骤:提问引起思考引入课程精讲课堂内容课堂小结布置作业教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)多媒体讲解、举例讲解作业和思考题:作业题:课后习题三