计算机网络第3班第六章,计算机网络教程第3版彭澎第6章J课件教学.ppt

计算机网络教程第3版彭澎第6章J课件教学.ppt

第6章 数据库设计 6.1 关系数据模型的规范化 6.2 数据库设计 关系与关系模式 关系是一张二维表,它是所涉及属性的笛卡尔积的一个子集。从笛卡尔积中选取哪些元组构成该关系,通常是由现实世界赋予该关系的元组语义来确定的。 关系模式是对关系的描述,为了能够清楚地刻划出一个关系,它需要由五部分组成,即应该是一个五元组: R(U,D,DOM,F) 其中:R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。 例:有如下关系,如下表: 上述关系可以构成两个域:    姓名:{嘉琦,王干....}    专业:{计算机,金融...}    由于导师和研究生出自同一个域“姓名”,所以要取不同的属性名,用DOM表示,即:   DOM(导师)=DOM(研究生)=姓名       关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,关系是动态的,不同时刻关系模式中的关系可能会有所不同,但它们都必须满足关系模式中数据依赖关系集合F所指定的完整性约束条件。 由于在关系模式R(U,D,DOM,F)中,影响数据库模式设计的主要是U和F,而D和DOM对数据库模式设计的影响不大,所以,为了方便讨论,本章将关系模式简化为一个三元组,即:    R(U,F) 6.1 关系数据模型的规范化 6.1.1 数据依赖 6.1.2 规范数据模型要解决的问题 数据依赖 数据依赖是数据库模式设计的关键,数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。 在关系模式中,属性间数据的依赖关系集合F实际上就是描述关系的元组语义,用以限定组成关系的各个元组必须满足的完整性约束条件。在实际中,这些约束或者通过对属性取值范围的限定,或者通过对属性值间的相互关连(主要体现于值的相等与否)反映出来。属性值间的相互关连就是所谓的数据依赖. 6.1.2 规范数据模型要解决的问题 函数依赖普遍地存在于现实生活中。 例:描述一个学生的关系,可以有学号(SNO)、姓名(SNAME)、所在系(DEPT)等几个属性。 由于一个学号只对应一个学生,一个学生只在一个系。因而当“学号”值确定之后,姓名及其所在系的值也就被唯一地确定了。 属性间的这种依赖关系类似于数学中的函数。因此说 SNO函数决定SNAME和DEPT 或者说 SNAME和DEPT函数依赖于SNO 记做 SNO→SNAME, SNO→DEPT。        建立一个描述学校的数据库,该数据库涉及的对象包括学生的学号(SNO)、所在系(DEPT)、系主任姓名(MNAME)、课程名(CNAME)和成绩(GRADE)。假设学校的数据库模式由一个单一的关系模式 S 构成,则该关系模式的属性集合为: U={SNO, DEPT, MNAME, CNAME, GRADE} 由常识可知: ①一个系有若干学生,但一个学生只属于一个系; ②一个系只有一名主任; ③一个学生可以选修多门课程,每门课程有若干学生选修; ④每个学生所学的每门课程都有一个成绩。  从上述事实可以得到属性组U上的一组函数依赖F: F={SNO→DEPT, DEPT→MNAME, (SNO, CNAME)→GRADE} 码:KEY=(SNO, CNAME) 对上述只考虑函数依赖这一数据依赖,所得到的描述学生的关系模式,存在如下问题: ①插入异常(insertion anomalies)。当学生刚入学时,还没有选课,因此无法确定属性CNAME的值,码(SNO, CNAME)存在空值,根据实体完整性规则,插入无法执行。 ②删除异常(deletion anomalies)。如果某个系的学生全部毕业了,在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。 ③数据冗余太大。比如,每一个系主任的姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同。这不仅浪费大量的存储空间,而且当更新数据库中的数据时,系统要付出很大的代价来维护数据库的完整性。并且存在数据不一致的隐患。 鉴于存在以上种种问题,可以说关系模式 S 不是一个好的模式。一个“好”的模式应当不会发生插入异常、删除异常、数据冗余应尽可能少。 6.2 数据库设计 6.2.1 数据库设计的方法和步骤 6.2.2 需求分析 6.2.3 概念结构设计 6.2.4 逻辑结构设计 6.2.5 数据库物理设计 6.2.6 数据库的实

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值