1.1数据库基本概念一、教学目标(一)言语信息1、理解概念(数据库、数据库管理系统、数据库系统、数据模型)2、了解数据模型,理解数据模型分类原理3、记忆关系型数据库语言的语句及相应功能(二)情感态度培养学生的探索精神,使其对数据库产生兴趣二、重点理解关系模型,了解其结构特点及基本形式三、教学方法讲授法,教师采用讲授法将概念与理论讲解清楚,逻辑清晰,可举例子帮助学生理解。教师在讲解中可先讲解数据库的概念,使学生明白数据库是什么,使用数据库的目的,为了该目的应该如何操作或学习。这样学生在学习过程中就不会不知所措,有目的的教学可提高课堂效率,学生的学习效果也会更好。四、教学过程(一)导入采用直接导入的方式,引入数据库的概念。板书:Database数据库DB师:数据库(Database)是存放数据的仓库,这些数据之间存在一定联系,并按一定的格式存放在计算机内。数据库相当于一个容器,数据的存放是有序的,不是随意存放在计算机内的,数据库的存在解决了数据存放的问题,使数据的存放有组织。此处板书教师可以画一个象征性的容器。例如,把一个学校的学生、课程、成绩等数据有序地组织并存放在计算机内,就可以构成一个数据库。(二)深入讲解师:与数据库有关的概念还有:数据库管理系统(Databasemanagementsystem)、数据库系统。数据库管理系统按一定的数据模型组织数据形成数据库,并对数据库进行管理,就是管理数据库的软件。比较的流行的DBMS有:Oracle、SQLServer、MySQL、Access等。Oracle是目前最流行的。数据库系统的构成主要有:数据、数据库、数据库管理系统、操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员。师:谁能说出数据库系统与数据库管理系统的区别?使学生参与到教学中,提高学习兴趣。板书:数据库管理系统——>数据库系统。师:了解了数据库以后,来看一下数据。先来了解一下数据模型,数据模型(DataModel)是数据特征的抽象,是数据库管理的教学形式框架。数据库系统中用以提供信息表示和操作手段的形式构架。可以简单地理解为数据存放的形式,便于理解,模型是对数据间的关系的抽象。数据库管理系统采用的数据模型主要有:层次模型、网状模型、关系模型。层次模型、网状模型简单介绍,重点讲解关系模型。层次模型:以树形层次结构组织数据。网状模型:网状模型具有多对多类型的数据组织方式。能明确而方便地表示数据间的复杂关系。关系模型:以二维表格(关系表)的形式组织数据库中的数据。关系模型由一组规范化的关系表组成,一个关系数据库由若干个表组成。(记忆)板书:教师可参照教材第3页画一个关系表,以某个表为例详细讲解关系表。教师可在画好的关系表上标出记录、字段、字段名,以此种方法讲解其他概念,便于学生理解。课程号课程名开课学期学时学分0101计算机基础18050102程序设计与语言26840206离散数学4684“课程”表橙色代表的行为一个记录,绿色代表的列为一个字段,学时是该字段的字段名。在一个关系表中,如果一个字段或几个字段组合的值可唯一标识其对应记录,则称该字段或字段组合为码。一个表可能有多个码,对于每个表,通常可指定一个码为“主码”,一般用下划线标出。例如,在“课程”表中,课程号字段中的值可唯一对应课程,那么课程号字段为该表码。将该表的名称设为kcb,该表的结构可表示为:kcb(课程号,课程名,开课学期,学时,学分)。师:关系模型更适合组织数据,Oracle是目前最流行的大型关系数据库管理系统。教师注意观察学生的反应,是否理解所讲内容。关系数据库的设计范式:在关系数据库中,每个关系都需要进行规范化,使之达到一定的规范化程度,从而提高数据的结构化、一致性和可操作性。规范化是把数据库组织成在保持存储数据完整性的同时最小化冗余数据的结构的过程。简单的理解,就是使数据在完整的条件下,使数据的冗余降到最小。规范化的数据库必须符合关系模型的范式规则。关系模型的范式有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)、第六范式(6NF)等多种范式,通常数据库只要满足前3个范式就足够了。第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。考虑这样一个表:【联系人】(姓名,性别,电话)如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到1NF。要符合1NF我们只需把列(电话)拆分,即:【联系人】(姓名,性别,家庭电话,公司电话)。1NF很好辨别,但是2NF和3NF就容易搞混淆。另外,第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分为省份、城市、详细地址等多个部分进行存储,这样在对地址中某一部分操作的时候将非常方便。这样设计才算满足了数据库的第一范式,如下表所示。第二范式(2NF):首先是1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。比如要设计一个订单信息表,因为订单中可能会有多种商品,所以要将订单编号和商品编号作为数据库表的联合主键,如下表所示。这样就产生一个问题:这个表中是以订单编号和商品编号作为联合主键。这样在该表中商品名称、单位、商品价格等信息不与该表的主键相关,而仅仅是与商品编号相关。所以在这里违反了第二范式的设计原则。而如果把这个订单信息表进行拆分,把商品信息分离到另一个表中,把订单项目表也分离到另一个表中,就非常完美了。如下所示。第三范式:首先是2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列A依赖于非主键列B,非主键列B依赖于主键的情况。比如在设计一个订单数据表的时候,可以将客户编号作为一个外键和订单表建立相应的关系。而不可以在订单表中添加关于客户其它信息(比如姓名、所属公司等)的字段。如下面这两个表所示的设计就是一个满足第三范式的数据库表。第二范式(2NF)和第三范式(3NF)的概念很容易混淆,区分它们的关键点在于,2NF:非主键列是否完全依赖于主键,还是依赖于主键的一部分;3NF:非主键列是直接依赖于主键,还是直接依赖于非主键列。教师在讲解过程中要随时观察学生的反应,确保学生理解每一个知识点。板书:1NF、2NF、3NF,列出它们的原则,并进行区分。(三)练习以员工信息为例,组织一个“员工”表,使之符合第三范式。(四)记忆内容关系型数据库标准语言:SQL语言(结构化查询语言)。是对关系数据库进行查询的结构化语言。师:对于一个关系表,如果要查询它的某一记录或者某一字段信息,或者删除、修改信息,如何实现?数据库是一个庞大的数据集合,逐个查看是不可能的,利用SQL查询语言可以轻松地完成这些操作,主要利用查询语句完成。很多数据库管理系统都支持这一语言。Access、SQLServer、MySQL、Oracle等。SQL的功能包括数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)、数据查询语言(DQL),这些语言主要作用于数据库中的各种对象,数据库对象主要包括表、视图、索引等。板书:DDL、DML、DCL、DQL,列出它们的主要功能。简单介绍一些基本的查询语句,使学生对其有一个基本的认识。(五)课堂总结学生学习情况总结:梳理知识点,使学生对本节课有总体的回顾,加深对知识的印象,对难点进一步加强巩固,尤其是三种范式,一定要理解并掌握,对之后数据库的学习非常重要。教师自身总结:教师对自己在课堂中的讲授是否满意,自我感觉好的地方继续坚持,对知识点讲授不透彻的地方进行反思,找到适合自己的教学方法。