好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

40页
  • 卖家[上传人]:新**
  • 文档编号:575723132
  • 上传时间:2024-08-18
  • 文档格式:PPT
  • 文档大小:237.50KB
  • / 40 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第4 4章章 数据库及应用程序开发数据库及应用程序开发 西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心2006软件开发技术基础软件开发技术基础软件开发技术基础软件开发技术基础 第第4章章 数据库及应用程序开发数据库及应用程序开发4.1 数据库技术基础数据库技术基础数据模型、规范化理论数据模型、规范化理论关系数据库标准语言关系数据库标准语言SQL4.2 数据库设计数据库设计需求分析与概念设计、逻辑结构设计需求分析与概念设计、逻辑结构设计数据库物理设计及实施数据库物理设计及实施4.3 数据库编程数据库编程数据库连接技术数据库连接技术利用利用Visual C++开发应用系统、编程实例开发应用系统、编程实例 4.14.1数据库技术基础数据库技术基础 n4.1.1 数据模型数据模型 n客观事物客观事物 数据模型数据模型 计算机处理计算机处理 1. 现实世界的信息化过程现实世界的信息化过程 n现实世界:现实世界:n事物的客观存在,由事物的客观存在,由事物事物及其及其性质性质反映n信息世界:信息世界:n是对现实世界的抽象,事物在信息世界中称为是对现实世界的抽象,事物在信息世界中称为实体实体。

      n实体实体是由是由属性属性来描述的来描述的属性值属性值)n反映事物及其之间联系的模型称为(实体)反映事物及其之间联系的模型称为(实体)概念模型概念模型n数据世界:数据世界:n信息的数据化信息的数据化n用用记记录录和和数数据据项项分分别别描描述述信信息息世世界界中中的的实实体体及及属属性性实体模型数据化后实体模型数据化后为为数据模型数据模型 2、概念模型、概念模型n概念模型概念模型n是数据库设计人员对现实世界研究的产物是数据库设计人员对现实世界研究的产物n是数据库设计人员与用户进行交流的工具是数据库设计人员与用户进行交流的工具n要能完整地表现设计人员的思想,要能完整地表现设计人员的思想,n简单清晰,能实现用户需求简单清晰,能实现用户需求 n((1)基本概念:)基本概念:n实实体体((Entity))客客观观存存在在并并可可互互相相区区别别的的事事物称为实体物称为实体n属性属性(Attribute)::实体具有的特性称为属性实体具有的特性称为属性n多个属性组合起来表征一个实体多个属性组合起来表征一个实体n属性的具体体现称为属性的具体体现称为属性值属性值 n码(码(Key):):n唯一标识实体的属性或属性组。

      关键字、)唯一标识实体的属性或属性组关键字、)n域域(Domain)::n属性的取值范围属性的取值范围n实体型(实体型(Entity Type):):n具具有有相相同同属属性性的的实实体体所所具具有有的的共共同同特特征征和和性性质质用用实实体体名名及及属属性性名名集集合合来来抽抽象象例例如如,,学学生生((学学号号、、姓姓名名、、性别、出生年月、系、入学时间)性别、出生年月、系、入学时间)n实体集(实体集(Entity Set))n同种实体的集合全体学生就是一个实体集同种实体的集合全体学生就是一个实体集 ((2 2)实体间的联系)实体间的联系 n实体之间的联系分为三类:实体之间的联系分为三类:n①①一对一联系(一对一联系(1:1):):n实实体体集集A中中的的每每一一个个实实体体最最多多与与实实体体集集B中中的的一个实体,反之亦然一个实体,反之亦然n②②一对多联系一对多联系(1:n)n实实体体集集A中中的的每每一一个个实实体体与与实实体体集集B中中的的n个个实实体体(n>=0)联联系系,,而而实实体体集集B中中的的每每一一个个实实体体与与实实体体集集A最最多多只只有有一一个个实实体体联联系系。

      如如班班级集和学生集是一对多联系级集和学生集是一对多联系 一对一联系举例一对一联系举例 一对多联系一对多联系(1:n)举例举例 ③③多对多联系多对多联系(m:n)n实实体体集集A中中的的每每一一个个实实体体与与实实体体集集B中中的的n个个实实体体(n>=0)联联系系,,而而实实体体集集B中中的的每每一一个个实实体体与与实实体体集集A中中的的m个个(m>=0)实实体体联联系系如如课程和学生之间的联系课程和学生之间的联系 多对多联系多对多联系(m:n)举例举例课程学生选课 ((3)) 概念模型的表示方法概念模型的表示方法n实体联系模型(实体联系模型(Entity-Relation)) n实体:矩形表示实体:矩形表示 n属性:用椭圆表示属性:用椭圆表示n联系:用菱形表示联系:用菱形表示 概念模型的表示概念模型的表示学生选修学号姓名性别年龄课程课程号课程名学分成绩mn 3 3、数据模型、数据模型 ——关系模型关系模型n(1)(1)数据结构数据结构 n用关系(表)来描述实体及实体之间的联系用关系(表)来描述实体及实体之间的联系n关系:表关系:表n元组:表中的一行元组:表中的一行n属性:表的一列属性:表的一列n主码:唯一确定元组的属性或属性组。

      主码:唯一确定元组的属性或属性组n关系的描述方式:关系的描述方式:n关系名(属性关系名(属性1,属性,属性2,, …,属性,属性n))n学生(学号、姓名、性别、出生年月、系、入学生(学号、姓名、性别、出生年月、系、入学时间)学时间) n如学生课程、学生与课程之间的多对多联系:如学生课程、学生与课程之间的多对多联系:n 学生(学号、姓名、性别、年龄)学生(学号、姓名、性别、年龄)n 课程(课程号,课程名,学分)课程(课程号,课程名,学分)n 选课(学号,课程号,成绩)选课(学号,课程号,成绩)n特点:特点:n((1 1)建立在严格的数学基础上建立在严格的数学基础上n((2 2)简单:结构简单、清晰易用简单:结构简单、清晰易用n((3 3)存取路径透明存取路径透明n缺点:查询效率不高缺点:查询效率不高 ((2 2)数据操纵)数据操纵 n查询操作查询操作n选择、投影、连接、并、交和差选择、投影、连接、并、交和差n更新操作更新操作n插入、删除和修改插入、删除和修改n关系操作的特点关系操作的特点n集合操作方式,操作对象和结果都是集合,而不是单集合操作方式,操作对象和结果都是集合,而不是单记录的操作方式记录的操作方式n关系操作语言都是高度非过程的语言,操作容易,效关系操作语言都是高度非过程的语言,操作容易,效率高率高n关系模型把存取路径向用户隐藏起来,使得数据的独关系模型把存取路径向用户隐藏起来,使得数据的独立性大大地提高了立性大大地提高了 ((3 3)) 完整性约束完整性约束 n①①实体完整性规则实体完整性规则 n关系中元组的关键字不能为空且取值惟一关系中元组的关键字不能为空且取值惟一 n②②参照完整性规则参照完整性规则 n在关系数据库中,关系与关系之间的联系是通过公共在关系数据库中,关系与关系之间的联系是通过公共属性实现的。

      这个公共属性是一个关系的关键字,在属性实现的这个公共属性是一个关系的关键字,在另一个关系中称为外部关键字,简称另一个关系中称为外部关键字,简称外键外键 n关键字的关系称为关键字的关系称为参照关系参照关系,外键在的关系称为,外键在的关系称为依赖依赖关系关系n参照完整性参照完整性n依赖关系中外键的取值必须是参照关系的关键字的值依赖关系中外键的取值必须是参照关系的关键字的值之一 DBMSDBMS保证参照完整性保证参照完整性的措施的措施n受限删除:受限删除:n如果删除操作会破坏参照完整性,将禁止删除,如果删除操作会破坏参照完整性,将禁止删除,即通过限制来保证即通过限制来保证n级联删除:级联删除:n在删除参照关系中的记录时,同时将依赖关系在删除参照关系中的记录时,同时将依赖关系中的相应记录也全部删除中的相应记录也全部删除n置空值删除:置空值删除:n在删除参照关系中的记录时,同时将依赖关系在删除参照关系中的记录时,同时将依赖关系中的外部关键字置为空值中的外部关键字置为空值 n③③用户定义完整性规则用户定义完整性规则n是针对某一具体数据的约束条件,由具体应用是针对某一具体数据的约束条件,由具体应用来确定。

      它反映某一具体应用所涉及的数据必来确定它反映某一具体应用所涉及的数据必须满足的语义要求须满足的语义要求n例如,学生成绩应大于等于零,教师教龄不能例如,学生成绩应大于等于零,教师教龄不能大于年龄等大于年龄等 ((4 4)存储结构)存储结构 n在关系数据库的物理组织中,关系以文件形式存在关系数据库的物理组织中,关系以文件形式存储n一些小型的关系数据库管理系统直接利用操作系一些小型的关系数据库管理系统直接利用操作系统的文件实现关系存储统的文件实现关系存储n一个关系对应一个数据文件一个关系对应一个数据文件n许多关系数据库管理系统采用自己设计的文件结许多关系数据库管理系统采用自己设计的文件结构、文件格式和数据存取机制进行关系存储构、文件格式和数据存取机制进行关系存储n以保证数据的物理独立性和逻辑独立性,更有效地保以保证数据的物理独立性和逻辑独立性,更有效地保证数据的安全性和完整性证数据的安全性和完整性 4.1.2 4.1.2 规范化理论规范化理论n如何构造一个合理的数据模式,使数据库系统如何构造一个合理的数据模式,使数据库系统无论是在数据存储方面,还是在数据操作方面无论是在数据存储方面,还是在数据操作方面都具有较好的性能都具有较好的性能 n1.1.问题的提出问题的提出 n关系:关系:nS S((no,name,department,dean,course, no,name,department,dean,course, gradegrade))n选选课课关关系系((学学号号,,姓姓名名,,所所在在系系,,系系主主任任,,课课程,成绩)存在以下问题:程,成绩)存在以下问题: 逻辑规则逻辑规则①①一一个个系系有有若若干干学学生生,,但但一一个个学学生生只只属属于于一一个系;个系;②②一个系只有一名系主任;一个系只有一名系主任;③③一一个个学学生生可可以以选选修修多多门门课课程程,,每每门门课课程程有有若干学生选修;若干学生选修;④④每个学生所学的每门课程都有一个成绩。

      每个学生所学的每门课程都有一个成绩 nF=F={{SnoSno→→DeptDept,,DeptDept→→MnameMname,,((SnoSno,,CnameCname))→→ScoreScore}}n码:(码:(SnoSno,,CnameCname)) nonodepartmentdepartmentdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学9494 存在的问题存在的问题n((1 1))插插入入异异常常::如如果果一一个个系系刚刚成成立立,,还还没没有有学学生生,,无无法法将将该该系系及及其其负负责责人人的的信信息息存存入入数据库n((2 2))删删除除异异常常::如如果果一一个个系系的的所所有有学学生生都都毕毕业业了了,,在在删删除除所所有有学学生生选选课课记记录录的的时时候候,,该系及其负责人的信息也丢失了。

      该系及其负责人的信息也丢失了n((3 3))冗冗余余大大::多多少少学学生生选选课课,,该该系系及及其其负负责责人人的的信信息息就就要要出出现现多多少少次次造造成成存存储储空空间间的浪费,容易引起数据的不一致性的浪费,容易引起数据的不一致性n原因原因:数据之间的依赖数据之间的依赖 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记为记为X→YX→Ynonodepartmendepartment tdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学9494 函数依赖的说明函数依赖的说明n①①函数依赖不是指关系模式函数依赖不是指关系模式R的某个或某些关系的某个或某些关系实例满足的约束条件,而是指实例满足的约束条件,而是指R的所有关系实例的所有关系实例均要满足的约束条件。

      均要满足的约束条件n②②函数依赖是语义范畴的概念只能根据数据的函数依赖是语义范畴的概念只能根据数据的语义来确定函数依赖语义来确定函数依赖n例如,例如,“姓名姓名→年龄年龄”这个函数依赖只有在没有同名这个函数依赖只有在没有同名的条件下成立如果有相同名字的人,则的条件下成立如果有相同名字的人,则“年龄年龄”就就不再函数依赖于不再函数依赖于“姓名姓名”了n③③若若X→Y,则则X称为这个函数依赖的决定属性集称为这个函数依赖的决定属性集n④④若若X→Y,,并且并且Y→X,、,、则记为则记为X Yn⑤⑤若若Y不函数依赖于不函数依赖于X,,则记为则记为X→Y n((2)平凡函数依赖与非平凡函数依赖)平凡函数依赖与非平凡函数依赖n若若Y→X,,则称则称X→Y为平凡函数依赖为平凡函数依赖n平凡函数依赖不反映新的语义因此若不特别平凡函数依赖不反映新的语义因此若不特别声明,函数依赖将指非平凡函数依赖声明,函数依赖将指非平凡函数依赖n((3)完全函数依赖与部分函数依赖)完全函数依赖与部分函数依赖 n如果对如果对X X的任何真子集的任何真子集X1X1,,X1→YX1→Y不成立,不成立, 称称Y Y完全函数依赖于完全函数依赖于X X,, 记为记为X1→Y;X1→Y;否则称否则称Y Y部分部分函数依赖于函数依赖于X X,,记为记为X1→Y X1→Y 。

      fp fpnonodepartmendepartment tdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学9494 ((4 4)传递函数依赖)传递函数依赖n 设设R R((U U))是是一一个个关关系系模模式式,,X X、、Y Y和和Z Z是是U U的的子子集集,,若若X→YX→Y,,Y→ZY→Z,,且且X X不不函函数数依赖于依赖于Y Y,,称称Z Z传递函数依赖于传递函数依赖于X Xnonodepartmendepartment tdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学9494 (5)码的定义与概念码的定义与概念n码:码:n设设K为关系模式为关系模式R(U,F)中的属性或属性组合。

      若中的属性或属性组合若K→U,,则则K称为称为R的一个的一个候选码候选码n若关系模式若关系模式R有多个候选码,则选定其中的一个作为有多个候选码,则选定其中的一个作为主码主码n组成候选码的属性称为组成候选码的属性称为主属性主属性,不属于任何候选码的,不属于任何候选码的属性称为属性称为非主属性非主属性n·外码:外码:n若关系模式若关系模式R中属性或属性组中属性或属性组X并非并非R的码,但的码,但X是另是另一个关系模式的码,则称一个关系模式的码,则称X是是R的外部码,也称为外码的外部码,也称为外码 3.关系模型的范式.关系模型的范式n关系数据库中的关系必须满足一定的规范化要求,关系数据库中的关系必须满足一定的规范化要求,不同的规范化程度可用范式来衡量不同的规范化程度可用范式来衡量n范式范式是符合某一种级别的关系模式的集合,是符合某一种级别的关系模式的集合,是衡是衡量关系模式规范化程度的标准量关系模式规范化程度的标准,达到范式的关系,达到范式的关系才是规范化的才是规范化的n目前主要有六种范式目前主要有六种范式n如果某一关系模式如果某一关系模式R为第为第n范式,简记为范式,简记为R∈ ∈nNFn一个低一级范式的关系模式,通过模式分解可以一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这转换为若干个高一级范式的关系模式的集合,这个过程称为规范化。

      个过程称为规范化 n((1 1)) 第一范式第一范式1 1NFNFn满足最低要求的称足最低要求的称为1 1NFNF所有属性都是基本所有属性都是基本数据数据项n第一范式是对关系模式的最起码要求不满足第一范式是对关系模式的最起码要求不满足第一范式的数据库模式不能称为关系数据库第一范式的数据库模式不能称为关系数据库 nonodepartmentdepartmentdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统数据库数据库系统工程系统工程编译原理编译原理757578789090676791039103数学数学李力量李力量高等数学高等数学经济学经济学87879494 n将一个元组拆开为多个元组将一个元组拆开为多个元组 nonodepartmentdepartmentdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学94941NF存在数据冗余、插入、删除异常现象。

      ((2 2)第二范式)第二范式2 2NFNF n如如果果R R是是1 1NFNF,,并并且且每每个个非非主主属属性性都都完完全全函函数依赖于关键字,则数依赖于关键字,则R R是是2 2NFNFn因因为为::((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, course))完全决定完全决定gradegradenN_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是是3 3NFNFnN_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传递函数依赖于传递函数依赖于nonon将将N_D(no,department, N_D(no,department, dean)dean)拆拆分分为为N_D_1(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即可。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.