【教学课件】第4章数据库及应用程序开发

上传人:dax****eng 文档编号:246755753 上传时间:2024-10-15 格式:PPT 页数:40 大小:237.50KB
返回 下载 相关 举报
【教学课件】第4章数据库及应用程序开发_第1页
第1页 / 共40页
【教学课件】第4章数据库及应用程序开发_第2页
第2页 / 共40页
【教学课件】第4章数据库及应用程序开发_第3页
第3页 / 共40页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第4章 数据库及应用程序开发,西安交通大学,计算机教学实验中心,2006,软件开发技术基础,第,4,章,数据库及应用程序开发,4.1 数据库技术基础,数据模型、规范化理论,关系数据库标准语言,SQL,4.2,数据库设计,需求分析与概念设计、逻辑结构设计,数据库物理设计及实施,4.3 数据库编程,数据库连接技术,利用,Visual C+,开发应用系统、编程实例,4.1数据库技术基础,4.1.1,数据模型,客观事物 数据模型 计算机处理,1.,现实世界的信息化过程,现实世界:,事物的客观存在,由,事物,及其,性质,反映。,信息世界:,是对现实世界的抽象,事物在信息世界中称为,实体,。,实体,是由,属性,来描述的。(属性值),反映事物及其之间联系的模型称为(实体),概念模型,。,数据世界:,信息的数据化。,用,记录,和,数据项,分别描述信息世界中的实体及属性。实体模型数据化后,为,数据模型。,2、概念模型,概念模型,是数据库设计人员对现实世界研究的产物,是数据库设计人员与用户进行交流的工具。,要能完整地表现设计人员的思想,,简单清晰,能实现用户需求,(1)基本概念:,实体,(,Entity),客观存在并可互相区别的事物称为实体。,属性,(,Attribute):,实体具有的特性称为属性。,多个属性组合起来表征一个实体。,属性的具体体现称为,属性值,码(,Key):,唯一标识实体的属性或属性组。(关键字、),域(,Domain):,属性的取值范围。,实体型(,Entity Type):,具有相同属性的实体所具有的共同特征和性质。用实体名及属性名集合来抽象。例如,学生(学号、姓名、性别、出生年月、系、入学时间),实体集(,Entity Set),同种实体的集合。全体学生就是一个实体集。,(2)实体间的联系,实体之间的联系分为三类:,一对一联系(1:1):,实体集,A,中的每一个实体最多与实体集,B,中的一个实体,反之亦然。,一对多联系(1:,n),实体集,A,中的每一个实体与实体集,B,中的,n,个实体(,n=0),联系,而实体集,B,中的每一个实体与实体集,A,最多只有一个实体联系。如班级集和学生集是一对多联系。,一对一联系举例,一对多联系(1:n)举例,多对多联系(m:n),实体集,A,中的每一个实体与实体集,B,中的,n,个实体(,n=0),联系,而实体集,B,中的每一个实体与实体集,A,中的,m,个(,m=0),实体联系。如课程和学生之间的联系。,多对多联系(m:n)举例,课程,学生,选课,(3) 概念模型的表示方法,实体联系模型(,Entity-Relation),实体:矩形表示,属性:用椭圆表示,联系:用菱形表示,概念模型的表示,学生,选修,学号,姓名,性别,年龄,课程,课程号,课程名,学分,成绩,m,n,3、数据模型,关系模型,(1)数据结构,用关系(表)来描述实体及实体之间的联系。,关系:表,元组:表中的一行,属性:表的一列,主码:唯一确定元组的属性或属性组。,关系的描述方式:,关系名(属性1,属性2,,,属性,n),学生(学号、姓名、性别、出生年月、系、入学时间),如学生课程、学生与课程之间的多对多联系:,学生(学号、姓名、性别、年龄),课程(课程号,课程名,学分),选课(学号,课程号,成绩),特点:,(1)建立在严格的数学基础上。,(2)简单:结构简单、清晰易用。,(3)存取路径透明。,缺点:查询效率不高。,(2)数据操纵,查询操作,选择、投影、连接、并、交和差,更新操作,插入、删除和修改,关系操作的特点,集合操作方式,操作对象和结果都是集合,而不是单记录的操作方式,关系操作语言都是高度非过程的语言,操作容易,效率高,关系模型把存取路径向用户隐藏起来,使得数据的独立性大大地提高了,(3) 完整性约束,实体完整性规则,关系中元组的关键字不能为空且取值惟一,参照完整性规则,在关系数据库中,关系与关系之间的联系是通过公共属性实现的。这个公共属性是一个关系的关键字,在另一个关系中称为外部关键字,简称,外键,。,关键字的关系称为,参照关系,,外键在的关系称为,依赖关系,参照完整性,依赖关系中外键的取值必须是参照关系的关键字的值之一。,DBMS,保证参照完整性,的措施,受限删除:,如果删除操作会破坏参照完整性,将禁止删除,即通过限制来保证。,级联删除:,在删除参照关系中的记录时,同时将依赖关系中的相应记录也全部删除。,置空值删除:,在删除参照关系中的记录时,同时将依赖关系中的外部关键字置为空值,用户定义完整性规则,是针对某一具体数据的约束条件,由具体应用来确定。它反映某一具体应用所涉及的数据必须满足的语义要求。,例如,学生成绩应大于等于零,教师教龄不能大于年龄等。,(4)存储结构,在关系数据库的物理组织中,关系以文件形式存储。,一些小型的关系数据库管理系统直接利用操作系统的文件实现关系存储,一个关系对应一个数据文件。,许多关系数据库管理系统采用自己设计的文件结构、文件格式和数据存取机制进行关系存储,以保证数据的物理独立性和逻辑独立性,更有效地保证数据的安全性和完整性。,4.1.2 规范化理论,如何构造一个合理的数据模式,使数据库系统无论是在数据存储方面,还是在数据操作方面都具有较好的性能,1.问题的提出,关系:,S(no,name,department,dean,course, grade),选课关系(学号,姓名,所在系,系主任,课程,成绩)存在以下问题:,逻辑规则,一个系有若干学生,但一个学生只属于一个系;,一个系只有一名系主任;,一个学生可以选修多门课程,每门课程有若干学生选修;,每个学生所学的每门课程都有一个成绩。,F=,Sno,Dept,,,Dept,Mname,,(,Sno,,,Cname,),Score,码:(,Sno,Cname),no,department,dean,course,grade,9101,计算机,张强,操作系统,75,9101,计算机,张强,数据库,78,9101,计算机,张强,系统工程,90,9101,计算机,张强,编译原理,67,9103,数学,李力量,高等数学,87,9103,数学,李力量,经济学,94,存在的问题,(1),插入异常,:如果一个系刚成立,还没有学生,无法将该系及其负责人的信息存入数据库。,(2),删除异常,:如果一个系的所有学生都毕业了,在删除所有学生选课记录的时候,该系及其负责人的信息也丢失了。,(3),冗余大,:多少学生选课,该系及其负责人的信息就要出现多少次。造成存储空间的浪费,容易引起数据的不一致性。,原因,:数据之间的依赖。,2 函数依赖,的概念和性质,(1) 函数依赖定义,设,R(U),是一个关系模式,,X,和,Y,是,U,的两个子集,如果,R,中的任意两个元组,,X,上属性值相同时,,Y,上属性值也必然相同,称,Y,函数依赖于,X,,或,X,函数决定,Y。,记为,XY。,no,department,dean,course,grade,9101,计算机,张强,操作系统,75,9101,计算机,张强,数据库,78,9101,计算机,张强,系统工程,90,9101,计算机,张强,编译原理,67,9103,数学,李力量,高等数学,87,9103,数学,李力量,经济学,94,函数依赖的说明,函数依赖不是指关系模式,R,的某个或某些关系实例满足的约束条件,而是指,R,的所有关系实例均要满足的约束条件。,函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。,例如,“姓名年龄”这个函数依赖只有在没有同名的条件下成立。如果有相同名字的人,则“年龄”就不再函数依赖于“姓名”了。,若,XY,则,X,称为这个函数依赖的决定属性集。,若,XY,,并且,YX,、,则记为,X Y。,若,Y,不函数依赖于,X,,则记为,XY。,(2)平凡函数依赖与非平凡函数依赖,若,YX,,则称,XY,为平凡函数依赖,平凡函数依赖不反映新的语义。因此若不特别声明,函数依赖将指非平凡函数依赖。,(,3,)完全函数依赖与部分函数依赖,如果对,X,的任何真子集,X1,X1Y,不成立, 称,Y,完全函数依赖于,X,,记为,X1Y;,否则称,Y,部分函数依赖于,X,,记为,X1Y 。,f,p,f,p,no,department,dean,course,grade,9101,计算机,张强,操作系统,75,9101,计算机,张强,数据库,78,9101,计算机,张强,系统工程,90,9101,计算机,张强,编译原理,67,9103,数学,李力量,高等数学,87,9103,数学,李力量,经济学,94,(4)传递函数依赖,设,R(U),是一个关系模式,,X、Y,和,Z,是,U,的子集,若,XY,YZ,,且,X,不函数依赖于,Y,,称,Z,传递函数依赖于,X。,no,department,dean,course,grade,9101,计算机,张强,操作系统,75,9101,计算机,张强,数据库,78,9101,计算机,张强,系统工程,90,9101,计算机,张强,编译原理,67,9103,数学,李力量,高等数学,87,9103,数学,李力量,经济学,94,(5)码的定义与概念,码:,设,K,为关系模式,R(U,F),中的属性或属性组合。若,KU,,则,K,称为,R,的一个,候选码,。,若关系模式,R,有多个候选码,则选定其中的一个作为,主码,。,组成候选码的属性称为,主属性,,不属于任何候选码的属性称为,非主属性,。,外码:,若关系模式,R,中属性或属性组,X,并非,R,的码,但,X,是另一个关系模式的码,则称,X,是,R,的外部码,也称为外码。,3关系模型的范式,关系数据库中的关系必须满足一定的规范化要求,不同的规范化程度可用范式来衡量,范式,是符合某一种级别的关系模式的集合,,是衡量关系模式规范化程度的标准,,达到范式的关系才是规范化的。,目前主要有六种范式,如果某一关系模式,R,为第,n,范式,简记为,RnNF,一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这个过程称为规范化。,(1) 第一范式1,NF,满足最低要求的称为1,NF。,所有属性都是基本数据项。,第一范式是对关系模式的最起码要求。不满足第一范式的数据库模式不能称为关系数据库。,no,department,dean,course,grade,9101,计算机,张强,操作系统,数据库,系统工程,编译原理,75,78,90,67,9103,数学,李力量,高等数学,经济学,87,94,将一个元组拆开为多个元组。,no,department,dean,course,grade,9101,计算机,张强,操作系统,75,9101,计算机,张强,数据库,78,9101,计算机,张强,系统工程,90,9101,计算机,张强,编译原理,67,9103,数学,李力量,高等数学,87,9103,数学,李力量,经济学,94,1,NF,存在数据冗余、插入、删除异常现象。,(2)第二范式2,NF,如果,R,是1,NF,,并且每个非主属性都完全函数依赖于关键字,则,R,是2,NF。,因为:(,no, course),是关键字。(,no, course),部分决定,dean,和,department。,拆分为,N_C(no,course,grade),和,N_D (no,department, dean),在,N_C,中,(,no, course),是主关键字。(,no, course),完全决定,grade。,N_C,no,course,grade,9101,操作系统,75,9101,数据库,78,9101,系统工程,90,9101,编译原理,67,9103,高等数学,87,9103,经济学,94,在,N_D,中,,no,是主关键字,,no,完全决定,department,和,dean。,N_D:,no,department,dean,9101,计算机,张强,9103,数学,李力量,(3),第三范式3,NF,如果,R,是2,NF,,并且每个非主属性都不传递函数依赖于关键字,则,R,是3,NF。,N_C (no,course,grade),是3,NF,,但,N_D (no,department, dean),不是3,NF,,因为,department,函数依赖于,no, dean,函数依赖于,department,,所以,dean,传递函数依赖于,no。,将,N_D(no,department, dean),拆分为,N_D_1(no,department),和,D_D(department, dean),department,dean,计算机,张强,数学,李力量,no,department,9101,计算机,9103,数学,N_D1,D_D,(4),其他范式,3NF,不能完全消除关系模式中的各种异常情况和数据冗余。可以再分解成,BCNF,4NF,或者5,NF,引入更高级的范式,对关系模式的要求越高,发生各种异常的可能性也越小。,关系数目的增加,会降低响应时间,使管理变得复杂,所以一般要求规范化到3,NF,即可。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!