SQLServer2016数据库原理及应用(微课版) 2教案第一章2 1.3 数据模型_第1页
SQLServer2016数据库原理及应用(微课版) 2教案第一章2 1.3 数据模型_第2页
SQLServer2016数据库原理及应用(微课版) 2教案第一章2 1.3 数据模型_第3页
SQLServer2016数据库原理及应用(微课版) 2教案第一章2 1.3 数据模型_第4页
SQLServer2016数据库原理及应用(微课版) 2教案第一章2 1.3 数据模型_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

教案(课时数:2)章节标题:第一章理解数据库1.3数据模型教学目的:了解数据模型的分类认识概念模型掌握数据模型中的关系模型教学难点:关系模型的概念和完整性约束教学重点:关系模型的基本概念关系的性质完整性约束授课方法:理论授课教案类别:新授课√实验课习题课复习提问复问内容学生姓名成绩数据、信息的概念。实体、属性、码、域的概念。数据描述的三个世界作业及预习要求第一章理解数据库1.4关系代数教学后记1、学生提出的疑难问题纪录:关系性质的理解主码和外码的区别2、对本课教学的体会及改进办法:本节新概念较多,应逐个突破,每个概念都学的扎实,新知识也容易理解

[组织教学]:[复习提问]:数据、信息的概念。实体、属性、码、域的概念。数据描述的三个世界。[讲授新课]:1.3数据模型模型是对现实世界特征的模拟和抽象,数据模型也是一种模型,在数据库技术中,用数据模型对现实世界数据特征进行抽象,来描述数据库的结构与语义。一、数据模型分类目前广泛使用的数据模型有两种:概念数据模型和结构数据模型。1.概念数据模型概念数据模型简称为概念模型,它表示实体类型及实体间的联系,是独立于计算机系统的模型。信息世界的数据模型,现实世界第一层抽象2.结构数据模型结构数据模型简称为数据模型,它是直接面向数据库的逻辑结构,现实世界的第二层抽象。数据模型涉及计算机系统和数据库管理系统,例如层次模型、网状模型、关系模型等。二、概念模型的表示方法E-R模型是直接从现实世界中抽象出实体类型及实体间的联系,是对现实世界的一种抽象,它的主要成分是实体、联系和属性。E-R模型的图形表示称为E-R图。设计E-R图的方法称为E-R方法。利用E-R模型进行数据库的概念设计可以分为3步:(1)设计局部E-R模型(2)把各个局部E-R模型综合成一个全局E-R模型(3)对全局E-R模型进行优化,得到最终的E-R模型。E-R图通用的表示方式如下。(1)用矩形框表示实体型,在框内写上实体名。(2)用椭圆形框表示实体的属性,并用无向边把实体和属性连接起来。(3)用菱形框表示实体间的联系,在菱形框内写上联系名,用无向边分别把菱形框与有关实体连接起来,在无向边旁注明联系的类型。如果实体间的联系也有属性,则把属性和菱形框也用无向边连接起来。三、数据模型的要素和种类数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特征(数据结构)、动态特征(数据操作)和数据约束条件,这是数据模型的三要素。1.数据结构数据结构用于描述系统的静态特征,是所研究的对象类型的集合,这些对象是数据库的组成部分,包括两个方面。(1)数据本身:数据的类型、内容和性质等。例如关系模型中的域、属性、关系等。(2)数据之间的联系:数据之间是如何相互关联的。例如关系模型中的主码、外码联系等。2.数据操作数据操作是对数据库中的各种对象(型)的实例(值)允许执行的操作集合。数据操作包括操作对象及有关的操作规则,主要有检索和更新(包括插入、删除和修改)两类。3.约束条件数据约束条件是一组完整性规则的集合。完整性规则是给定数据模型中的数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确、有效、相容。4.常见的数据模型数据库管理系统所支持的数据模型分为4种:层次模型、网状模型、关系模型和关系对象模型。四、关系模型1.关系模型的数据结构关系模型中数据的逻辑结构是一张二维表,它由行和列组成。1)关系(Relation)一个关系就是一张二维表2)元组(Tuple)元组也称记录,关系表中的每行对应一个元组,组成元组的元素称为分量。数据库中的一个实体或实体之间的一个联系均使用一个元组来表示。例如,表1-1中有多个元组,分别对应多个学生,“2007X1201,李小双,18,女,信息系”是一个元组,由5个分量组成。3)属性(Attribute)表中的一列即为一个属性,给每个属性取一个名称为属性名,表1-1中有5个属性(学号,姓名,年龄,性别,所在系)。属性具有型和值两层含义:属性的型指属性名和属性值域;属性的值是指属性具体的取值。关系中的属性名具有标识列的作用,所以在同一个关系中的属性名(列名)不能相同。一个关系中通常有个多个属性,属性用于表示实体的特征。4)域(Domain)属性的取值范围,如表1-1中的性别属性的域是男、女,大学生的年龄属性域可以设置为10~30等。5)分量(Component)元组中的一个属性值,如表1-1中的“李小双”、“男”等都是分量。6)候选码(Candidatekey)若关系中的某一属性或属性组的值能唯一标识一个元组,则称该属性或属性组为候选码(Candidatekey),候选码简称为码。7)主码(Primarykey)若一个关系中有多个候选码,则选定其中一个为主码。例如,表1-1中的候选码之一是“学号”属性。假设表1-1中没有重名的学生,则学生的“姓名”也是该关系的候选码。在该关系中,应当选择“学号”属性作为主码。8)全码(All-key)在最简单的情况下,候选码只包含一个属性;在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码。全码是候选码的特例。例如,设有以下关系:学生选课(学号,课程)其中的“学号”和“课程”相互独立,属性间不存在依赖关系,它的码就是全码。9)主属性(PrimeAttribute)和非主属性(Non-primeAttribute)在关系中,候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。10)关系模式(RelationSchema)关系的描述称为关系模式,它可以形式化地表示为R(U,D,Dom,F)。其中,R为关系名;U为组成该关系的属性的集合;D为属性组U中的属性所来自的域;Dom为属性向域的映像集合;F为属性间数据依赖关系的集合。关系模式通常可以简记为R(U)或R(A1,A2,…,An)。其中R为关系名,A1,A2,…,An为属性名。而域名及属性向域的映像常直接称为属性的类型及长度。例如,关系学生学籍表的关系模式可以表示为:学生学籍表(学号,姓名,年龄,性别,所在系)。关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。2.关系的性质(1)同一属性的数据具有同质性,即每一列中的分量是同一类型的数据,它们来自同一个域。(2)同一关系的属性名具有不可重复性,即同一关系中不同属性的数据可出自同一个域,但不同的属性要给予不同的属性名。(3)关系中列的位置具有顺序无关性,即列的次序可以任意交换、重新组织。(4)关系具有元组无冗余性,即关系中的任意两个元组不能完全相同。(5)关系中元组的位置具有顺序无关性,即元组的顺序可以任意交换。(6)关系中每个分量必须取原子值,即每个分量都必须是不可分的数据项。五、关系的完整性关系模型的完整性规则是对关系的某种约束条件。关系模型中允许定义3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。1.实体完整性(EntityIntegrity)规则1.1实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值。例如,学生关系“学生(学号,姓名,性别,专业号,年龄)”中,“学号”为主码,则“学号”不能取空值。实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是指主码不能取空值。例如,学生选课关系“选修(学号,课程号,成绩)”中,“学号、课程号”为主码,则“学号”和“课程号”两个属性都不能取空值。对于实体完整性规则说明如下。(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应信息世界的一个实体集,例如学生关系对应于学生的集合。(2)信息世界中的实体是可区分的,即它们具有某种唯一性标识。(3)关系模型中以主码作为唯一性标识。(4)主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“不确定”的值,如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性规则。2.参照完整性(ReferentialIntegrity)在信息世界中,实体之间往往存在着某种联系,在关系模型中实体及实体间的联系都是用关系来描述的,这样就自然存在着关系与关系间的引用。【例1-1】学生关系和专业关系表示如下,其中主码用下划线标识。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)这两个关系之间存在着属性的引用,即学生关系引用了专业关系的主码“专业号”。显然,学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录,也就是说,学生关系中的某个属性的取值需要参照专业关系的属性来取值。【例1-2】学生、课程、学生与课程之间的多对多联系选修可以用如下3个关系表示。学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)这3个关系之间也存在着属性的引用,即选修关系引用了学生关系的主码“学号”和课程关系的主码“课程号”。同样,选修关系中的“学号”值必须是确实存在的学生的学号,即学生关系中有该学生的记录;选修关系中的“课程号”值也必须是确实存在的课程的课程号,即课程关系中有该课程的记录。也就是说,选修关系中某些属性的取值需要参照其他关系的属性来取值。不仅两个或两个以上的关系间可以存在引用关系,同一关系内部属性间也可能存在引用关系。【例1-3】在关系“学生(学号,姓名,性别,专业号,年龄,班长)”中,“学号”属性是主码,“班长”属性表示该学生所在班级的班长的学号,它引用了本关系“学号”属性,即“班长”必须是确实存在的学生的学号。设F是基本关系R的一个或一组属性,但不是关系R的主码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码(ForeignKey),并称基本关系R为参照关系(ReferencingRelation),基本关系S为被参照关系(ReferencedRelation)或目标关系(TargetRelation)。关系R和关系S有可能是同一关系。显然,被参照关系S的主码Ks和参照关系R的外码F必须定义在同一个(或一组)域上。在例1-1中,学生关系的“专业号”属性与专业关系的主码“专业号”相对应,因此“专业号”属性是学生关系的外码。这里专业关系是被参照关系,学生关系为参照关系。在例1-2中,选修关系的“学号”属性与学生关系的主码“学号”相对应,“课程号”属性与课程关系的主码“课程号”相对应,因此“学号”和“课程号”属性是选修关系的外码。这里学生关系和课程关系均为被参照关系,选修关系为参照关系。在例1-3中,“班长”属性与本身的主码“学号”属性相对应,因此“班长”是外码。学生关系既是参照关系也是被参照关系。需要指出的是,外码并不一定要与相应的主码同名。但在实际应用中,为了便于识别,当外码与相应的主码属于不同关系时,则给它们取相同的名字。参照完整性规则定义了外码与主码之间的引用规则。规则1.2参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S有可能是同一关系),则对于R中每个元组在F上的值必须为以下值之一。(1)或者取空值(F的每个属性值均为空值)。(2)或者等于S中某个元组的主码值。在例1-1中学生关系中每个元组的“专业号”属性只能取下面两类值

温馨提示

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

评论

0/150

提交评论