数据库及应用程序开发

上传人:工**** 文档编号:568007302 上传时间:2024-07-23 格式:PPT 页数:40 大小:284.50KB
返回 下载 相关 举报
数据库及应用程序开发_第1页
第1页 / 共40页
数据库及应用程序开发_第2页
第2页 / 共40页
数据库及应用程序开发_第3页
第3页 / 共40页
数据库及应用程序开发_第4页
第4页 / 共40页
数据库及应用程序开发_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《数据库及应用程序开发》由会员分享,可在线阅读,更多相关《数据库及应用程序开发(40页珍藏版)》请在金锄头文库上搜索。

1、数据库及应用程序开发Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望第第4章章 数据库及应用程序开发数据库及应用程序开发4.1 数据库技术基础数据库技术基础数据模型、规范化理论数据模型、规范化理论关系数据库标准语言关系数据库标准语言SQL4.2 数据库设计数据库设计需求分析与概念设计、逻辑结构设计需求分析与概念设计、逻辑结构设计数据库物理设计及实施数据库物理设计及实施4.3 数据库编程数据库编程数据库连接技术数据库连接技术利用利用Visual C+开发应用系统、编程实例开发应用系统、

2、编程实例4.14.1数据库技术基础数据库技术基础 n4.1.1 数据模型数据模型 n客观事物客观事物 数据模型数据模型 计算机处理计算机处理1. 现实世界的信息化过程现实世界的信息化过程 n现实世界:现实世界:n事物的客观存在,由事物的客观存在,由事物事物及其及其性质性质反映。反映。n信息世界:信息世界:n是对现实世界的抽象,事物在信息世界中称为是对现实世界的抽象,事物在信息世界中称为实体实体。n实体实体是由是由属性属性来描述的。来描述的。(属性值属性值)n反映事物及其之间联系的模型称为(实体)反映事物及其之间联系的模型称为(实体)概念模型概念模型。n数据世界:数据世界:n信息的数据化。信息的

3、数据化。n用用记记录录和和数数据据项项分分别别描描述述信信息息世世界界中中的的实实体体及及属属性性。实体模型数据化后实体模型数据化后为为数据模型。数据模型。2、概念模型、概念模型n概念模型概念模型n是数据库设计人员对现实世界研究的产物是数据库设计人员对现实世界研究的产物n是数据库设计人员与用户进行交流的工具。是数据库设计人员与用户进行交流的工具。n要能完整地表现设计人员的思想,要能完整地表现设计人员的思想,n简单清晰,能实现用户需求简单清晰,能实现用户需求 n(1)基本概念:)基本概念:n实实体体(Entity)客客观观存存在在并并可可互互相相区区别别的的事事物称为实体。物称为实体。n属性属性

4、(Attribute):实体具有的特性称为属性。实体具有的特性称为属性。n多个属性组合起来表征一个实体。多个属性组合起来表征一个实体。n属性的具体体现称为属性的具体体现称为属性值属性值 n码(码(Key):):n唯一标识实体的属性或属性组。(关键字、)唯一标识实体的属性或属性组。(关键字、)n域域(Domain):n属性的取值范围。属性的取值范围。n实体型(实体型(Entity Type):):n具具有有相相同同属属性性的的实实体体所所具具有有的的共共同同特特征征和和性性质质。用用实实体体名名及及属属性性名名集集合合来来抽抽象象。例例如如,学学生生(学学号号、姓姓名名、性别、出生年月、系、入学

5、时间)性别、出生年月、系、入学时间)n实体集(实体集(Entity Set)n同种实体的集合。全体学生就是一个实体集。同种实体的集合。全体学生就是一个实体集。(2 2)实体间的联系)实体间的联系 n实体之间的联系分为三类:实体之间的联系分为三类:n一对一联系(一对一联系(1:1):):n实实体体集集A中中的的每每一一个个实实体体最最多多与与实实体体集集B中中的的一个实体,反之亦然。一个实体,反之亦然。n一对多联系一对多联系(1:n)n实实体体集集A中中的的每每一一个个实实体体与与实实体体集集B中中的的n个个实实体体(n=0)联联系系,而而实实体体集集B中中的的每每一一个个实实体体与与实实体体集

6、集A最最多多只只有有一一个个实实体体联联系系。如如班班级集和学生集是一对多联系。级集和学生集是一对多联系。一对一联系举例一对一联系举例一对多联系一对多联系(1:n)举例举例多对多联系多对多联系(m:n)n实实体体集集A中中的的每每一一个个实实体体与与实实体体集集B中中的的n个个实实体体(n=0)联联系系,而而实实体体集集B中中的的每每一一个个实实体体与与实实体体集集A中中的的m个个(m=0)实实体体联联系系。如如课程和学生之间的联系。课程和学生之间的联系。多对多联系多对多联系(m:n)举例举例课程学生选课(3) 概念模型的表示方法概念模型的表示方法n实体联系模型(实体联系模型(Entity-R

7、elation) n实体:矩形表示实体:矩形表示 n属性:用椭圆表示属性:用椭圆表示n联系:用菱形表示联系:用菱形表示 概念模型的表示概念模型的表示学生选修学号姓名性别年龄课程课程号课程名学分成绩mn3 3、数据模型、数据模型 关系模型关系模型n(1)(1)数据结构数据结构 n用关系(表)来描述实体及实体之间的联系。用关系(表)来描述实体及实体之间的联系。n关系:表关系:表n元组:表中的一行元组:表中的一行n属性:表的一列属性:表的一列n主码:唯一确定元组的属性或属性组。主码:唯一确定元组的属性或属性组。n关系的描述方式:关系的描述方式:n关系名(属性关系名(属性1,属性,属性2, ,属性,属

8、性n)n学生(学号、姓名、性别、出生年月、系、入学生(学号、姓名、性别、出生年月、系、入学时间)学时间)n如学生课程、学生与课程之间的多对多联系:如学生课程、学生与课程之间的多对多联系:n 学生(学号、姓名、性别、年龄)学生(学号、姓名、性别、年龄)n 课程(课程号,课程名,学分)课程(课程号,课程名,学分)n 选课(学号,课程号,成绩)选课(学号,课程号,成绩)n特点:特点:n(1 1)建立在严格的数学基础上。)建立在严格的数学基础上。n(2 2)简单:结构简单、清晰易用。)简单:结构简单、清晰易用。n(3 3)存取路径透明。)存取路径透明。n缺点:查询效率不高。缺点:查询效率不高。 (2

9、2)数据操纵)数据操纵 n查询操作查询操作n选择、投影、连接、并、交和差选择、投影、连接、并、交和差n更新操作更新操作n插入、删除和修改插入、删除和修改n关系操作的特点关系操作的特点n集合操作方式,操作对象和结果都是集合,而不是单集合操作方式,操作对象和结果都是集合,而不是单记录的操作方式记录的操作方式n关系操作语言都是高度非过程的语言,操作容易,效关系操作语言都是高度非过程的语言,操作容易,效率高率高n关系模型把存取路径向用户隐藏起来,使得数据的独关系模型把存取路径向用户隐藏起来,使得数据的独立性大大地提高了立性大大地提高了(3 3) 完整性约束完整性约束 n实体完整性规则实体完整性规则 n

10、关系中元组的关键字不能为空且取值惟一关系中元组的关键字不能为空且取值惟一 n参照完整性规则参照完整性规则 n在关系数据库中,关系与关系之间的联系是通过公共在关系数据库中,关系与关系之间的联系是通过公共属性实现的。这个公共属性是一个关系的关键字,在属性实现的。这个公共属性是一个关系的关键字,在另一个关系中称为外部关键字,简称另一个关系中称为外部关键字,简称外键外键 。n关键字的关系称为关键字的关系称为参照关系参照关系,外键在的关系称为,外键在的关系称为依赖依赖关系关系n参照完整性参照完整性n依赖关系中外键的取值必须是参照关系的关键字的值依赖关系中外键的取值必须是参照关系的关键字的值之一。之一。D

11、BMSDBMS保证参照完整性保证参照完整性的措施的措施n受限删除:受限删除:n如果删除操作会破坏参照完整性,将禁止删除,如果删除操作会破坏参照完整性,将禁止删除,即通过限制来保证。即通过限制来保证。n级联删除:级联删除:n在删除参照关系中的记录时,同时将依赖关系在删除参照关系中的记录时,同时将依赖关系中的相应记录也全部删除。中的相应记录也全部删除。n置空值删除:置空值删除:n在删除参照关系中的记录时,同时将依赖关系在删除参照关系中的记录时,同时将依赖关系中的外部关键字置为空值中的外部关键字置为空值n用户定义完整性规则用户定义完整性规则n是针对某一具体数据的约束条件,由具体应用是针对某一具体数据

12、的约束条件,由具体应用来确定。它反映某一具体应用所涉及的数据必来确定。它反映某一具体应用所涉及的数据必须满足的语义要求。须满足的语义要求。n例如,学生成绩应大于等于零,教师教龄不能例如,学生成绩应大于等于零,教师教龄不能大于年龄等。大于年龄等。 (4 4)存储结构)存储结构 n在关系数据库的物理组织中,关系以文件形式存在关系数据库的物理组织中,关系以文件形式存储。储。n一些小型的关系数据库管理系统直接利用操作系一些小型的关系数据库管理系统直接利用操作系统的文件实现关系存储统的文件实现关系存储n一个关系对应一个数据文件。一个关系对应一个数据文件。n许多关系数据库管理系统采用自己设计的文件结许多关

13、系数据库管理系统采用自己设计的文件结构、文件格式和数据存取机制进行关系存储构、文件格式和数据存取机制进行关系存储n以保证数据的物理独立性和逻辑独立性,更有效地保以保证数据的物理独立性和逻辑独立性,更有效地保证数据的安全性和完整性。证数据的安全性和完整性。 4.1.2 4.1.2 规范化理论规范化理论n如何构造一个合理的数据模式,使数据库系统如何构造一个合理的数据模式,使数据库系统无论是在数据存储方面,还是在数据操作方面无论是在数据存储方面,还是在数据操作方面都具有较好的性能都具有较好的性能 n1.1.问题的提出问题的提出 n关系:关系:nS S(no,name,department,dean,

14、course, no,name,department,dean,course, gradegrade)n选选课课关关系系(学学号号,姓姓名名,所所在在系系,系系主主任任,课课程,成绩)存在以下问题:程,成绩)存在以下问题:逻辑规则逻辑规则一一个个系系有有若若干干学学生生,但但一一个个学学生生只只属属于于一一个系;个系;一个系只有一名系主任;一个系只有一名系主任;一一个个学学生生可可以以选选修修多多门门课课程程,每每门门课课程程有有若干学生选修;若干学生选修;每个学生所学的每门课程都有一个成绩。每个学生所学的每门课程都有一个成绩。 nF=F=SnoSnoDeptDept,DeptDeptMnam

15、eMname,(SnoSno,CnameCname)ScoreScoren码:(码:(SnoSno,CnameCname) nonodepartmentdepartmentdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学9494存在的问题存在的

16、问题n(1 1)插插入入异异常常:如如果果一一个个系系刚刚成成立立,还还没没有有学学生生,无无法法将将该该系系及及其其负负责责人人的的信信息息存存入入数据库。数据库。n(2 2)删删除除异异常常:如如果果一一个个系系的的所所有有学学生生都都毕毕业业了了,在在删删除除所所有有学学生生选选课课记记录录的的时时候候,该系及其负责人的信息也丢失了。该系及其负责人的信息也丢失了。n(3 3)冗冗余余大大:多多少少学学生生选选课课,该该系系及及其其负负责责人人的的信信息息就就要要出出现现多多少少次次。造造成成存存储储空空间间的浪费,容易引起数据的不一致性。的浪费,容易引起数据的不一致性。n原因原因:数据之

17、间的依赖。:数据之间的依赖。2 2 函数依赖函数依赖 的概念和性质的概念和性质n(1 1) 函数依赖定义函数依赖定义n设设R R(U U)是是一一个个关关系系模模式式,X X和和Y Y是是U U的的两两个个子子集集,如如果果R R中中的的任任意意两两个个元元组组,X X上上属属性性值值相相同同时时,Y Y上上属属性性值值也也必必然然相相同同,称称Y Y函函数依赖于数依赖于X X,或或X X函数决定函数决定Y Y。记为记为XYXY。nonodepartmendepartment tdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统75

18、7591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学9494函数依赖的说明函数依赖的说明n函数依赖不是指关系模式函数依赖不是指关系模式R的某个或某些关系的某个或某些关系实例满足的约束条件,而是指实例满足的约束条件,而是指R的所有关系实例的所有关系实例均要满足的约束条件。均要满足的约束条件。n函数依赖是语义范畴的概念。只能根据数据的函数依赖是语义范畴的概念。只能根

19、据数据的语义来确定函数依赖。语义来确定函数依赖。n例如,例如,“姓名姓名年龄年龄”这个函数依赖只有在没有同名这个函数依赖只有在没有同名的条件下成立。如果有相同名字的人,则的条件下成立。如果有相同名字的人,则“年龄年龄”就就不再函数依赖于不再函数依赖于“姓名姓名”了。了。n若若XY,则则X称为这个函数依赖的决定属性集。称为这个函数依赖的决定属性集。n若若XY,并且并且YX,、,、则记为则记为X Y。n若若Y不函数依赖于不函数依赖于X,则记为则记为XY。n(2)平凡函数依赖与非平凡函数依赖)平凡函数依赖与非平凡函数依赖n若若YX,则称则称XY为平凡函数依赖为平凡函数依赖n平凡函数依赖不反映新的语义

20、。因此若不特别平凡函数依赖不反映新的语义。因此若不特别声明,函数依赖将指非平凡函数依赖。声明,函数依赖将指非平凡函数依赖。n(3)完全函数依赖与部分函数依赖)完全函数依赖与部分函数依赖 n如果对如果对X X的任何真子集的任何真子集X1X1,X1YX1Y不成立,不成立, 称称Y Y完全函数依赖于完全函数依赖于X X, 记为记为X1Y;X1Y;否则称否则称Y Y部分部分函数依赖于函数依赖于X X,记为记为X1Y X1Y 。fpfpnonodepartmendepartment tdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统7575

21、91019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学9494(4 4)传递函数依赖)传递函数依赖n 设设R R(U U)是是一一个个关关系系模模式式,X X、Y Y和和Z Z是是U U的的子子集集,若若XYXY,YZYZ,且且X X不不函函数数依赖于依赖于Y Y,称称Z Z传递函数依赖于传递函数依赖于X X。nonodepartmendepartment tdean

22、deancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学9494(5)码的定义与概念码的定义与概念n码:码:n设设K为关系模式为关系模式R(U,F)中的属性或属性组合。若中的属性或属性组合。若KU,则则K称为称为R的一个的一个候选码候选码。n若关系模式若关系模

23、式R有多个候选码,则选定其中的一个作为有多个候选码,则选定其中的一个作为主码主码。n组成候选码的属性称为组成候选码的属性称为主属性主属性,不属于任何候选码的,不属于任何候选码的属性称为属性称为非主属性非主属性。n外码:外码:n若关系模式若关系模式R中属性或属性组中属性或属性组X并非并非R的码,但的码,但X是另是另一个关系模式的码,则称一个关系模式的码,则称X是是R的外部码,也称为外码。的外部码,也称为外码。3关系模型的范式关系模型的范式n关系数据库中的关系必须满足一定的规范化要求,关系数据库中的关系必须满足一定的规范化要求,不同的规范化程度可用范式来衡量不同的规范化程度可用范式来衡量n范式范式

24、是符合某一种级别的关系模式的集合,是符合某一种级别的关系模式的集合,是衡是衡量关系模式规范化程度的标准量关系模式规范化程度的标准,达到范式的关系,达到范式的关系才是规范化的。才是规范化的。n目前主要有六种范式目前主要有六种范式n如果某一关系模式如果某一关系模式R为第为第n范式,简记为范式,简记为R nNFn一个低一级范式的关系模式,通过模式分解可以一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这转换为若干个高一级范式的关系模式的集合,这个过程称为规范化。个过程称为规范化。n(1 1) 第一范式第一范式1 1NFNFn满满足最低要求的称足最低要求的称为为1 1

25、NFNF。所有属性都是基本所有属性都是基本数据数据项项。n第一范式是对关系模式的最起码要求。不满足第一范式是对关系模式的最起码要求。不满足第一范式的数据库模式不能称为关系数据库。第一范式的数据库模式不能称为关系数据库。 nonodepartmentdepartmentdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统数据库数据库系统工程系统工程编译原理编译原理757578789090676791039103数学数学李力量李力量高等数学高等数学经济学经济学87879494n将一个元组拆开为多个元组。将一个元组拆开为多个元组。 nono

26、departmentdepartmentdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学94941NF存在数据冗余、插入、删除异常现象。 (2 2)第二范式)第二范式2 2NFNF n如如果果R R是是1 1NFNF,并并且且每每个个非非主主属

27、属性性都都完完全全函函数依赖于关键字,则数依赖于关键字,则R R是是2 2NFNF。n因因为为:(no, no, coursecourse)是是关关键键字字。(no, no, coursecourse)部部分分决决定定deandean和和departmentdepartment。拆拆分分为为nN_C(no,course,grade)N_C(no,course,grade)和和nN_D (no,department, dean)N_D (no,department, dean)n在在N_CN_C中中,(no, no, coursecourse)是是主主关关键键字字。(no, courseno,

28、course)完全决定完全决定gradegrade。nN_CN_Cnocoursegrade9101操作系统759101数据库789101系统工程909101编译原理679103高等数学879103经济学94在N_D中,no是主关键字,no完全决定department 和dean。N_D:nonodepartmentdepartmentdeandean91019101计算机计算机张强张强91039103数学数学李力量李力量(3 3)第三范式第三范式3 3NFNF n如如果果R R是是2 2NFNF,并并且且每每个个非非主主属属性性都都不不传传递递函函数数依依赖于关键字,则赖于关键字,则R R是

29、是3 3NFNF。nN_C N_C (no,course,grade)(no,course,grade)是是3 3NFNF,但但N_D N_D (no,department, (no,department, dean)dean)不不是是3 3NFNF,因因为为departmentdepartment函函数数依依赖赖于于no, no, deandean函函数数依依赖赖于于departmentdepartment,所所以以deandean传递函数依赖于传递函数依赖于nono。n将将N_D(no,department, N_D(no,department, dean)dean)拆拆分分为为N_D_1

30、(no,department)N_D_1(no,department)和和D_D(department, dean)D_D(department, dean)departmentdean计算机张强数学李力量nodepartment9101计算机9103数学N_D1D_D(4 4)其他范式其他范式 n3NF3NF不不能能完完全全消消除除关关系系模模式式中中的的各各种种异异常常情情况况和和数数据据冗冗余余。可可以以再再分分解解成成BCNFBCNF,4NF4NF或者或者5 5NFNFn引引入入更更高高级级的的范范式式,对对关关系系模模式式的的要要求求越越高,发生各种异常的可能性也越小。高,发生各种异常的可能性也越小。n关关系系数数目目的的增增加加,会会降降低低响响应应时时间间,使使管管理变得复杂理变得复杂n所以一般要求规范化到所以一般要求规范化到3 3NFNF即可。即可。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号