数据库原理与应用快速入门 课件 10.2 理解范式_第1页
数据库原理与应用快速入门 课件 10.2 理解范式_第2页
数据库原理与应用快速入门 课件 10.2 理解范式_第3页
数据库原理与应用快速入门 课件 10.2 理解范式_第4页
数据库原理与应用快速入门 课件 10.2 理解范式_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理与应用快速入门10.1了解数据库设计过程10.2理解范式第10章

设计数据库10.3数据库设计选题10.2.1理解依赖的概念10.2.2理解第一范式10.2.3理解第二范式10.2理解范式10.2.4理解第三范式10.2.1理解依赖的概念1、依赖

有了X,便确定了唯一的Y,称Y依赖X,记为X→Y。10.2.1理解依赖的概念假如有一张职工表,记录职工的相关信息,表结构为:职工号(职工号,姓名,性别,年龄,职务),其示例如表10.1所示。10.2.1理解依赖的概念在这个关系中,有了职工号,就可以唯一地确定一条记录。SQL“Select姓名from职工表where职工号='01'”要么没有记录返回,要么返回一条。各字段依赖关系如下:职工号→姓名,职工号→性别,职工号→年龄,职工号→职务可简记为:职工号→(姓名,性别,年龄,职务)10.2.1理解依赖的概念怎样才能找出字段间的依赖关系呢?这里给出一个方法——矩阵穷举法。10.2.1理解依赖的概念2、完全依赖,部分依赖设一个教师任课关系为:教师任课(教工号,姓名,职称,课程号,课程名,课时数,课时费)。该关系给出某个学校每个教师在一个学期内任课安排的情况。假定每个教师可以讲授多门课程,每门课程可以由不同教师来讲授,不同的教师教同一门课有不同的课酬,同一门课不同的老师教亦有不同的课酬(课酬与教师的职称和课程的课时数等有关)。10.2.1理解依赖的概念2、完全依赖,部分依赖10.2.1理解依赖的概念2、完全依赖,部分依赖10.2.1理解依赖的概念2、完全依赖,部分依赖查看表10.4中各列,可以看出“教工号”和“课程号”是关键字段,这两个字段合起来,可以决定其他所有字段,故主键可设为(教工号,课程号),并有如下依赖:教工号→(姓名,职称)课程号→(课程名,课时数)(教工号,课程号)→(姓名,职称,课程名,课时数,课酬)10.2.1理解依赖的概念3、直接依赖,传递依赖设一个学生关系为(学号,姓名,性别,系号,系名,系主任名),通常每个学生只属于一个系,每个系有许多学生,每个系都对应唯一的系名和系主任名,其中系名唯一。示例表如表10.7所示。10.2.1理解依赖的概念3、直接依赖,传递依赖10.2.1理解依赖的概念3、直接依赖,传递依赖查看各列,根据前述所学知识,可以初步认定(学号,系号)作主键,因为根据分析结果,从(学号,系号)唯一可得其他字段。但是“系号”依赖于“学号”,故“系号”可从主键的字段组合中去掉,这样,主键确认为“学号”。依赖如下:学号→(姓名,性别,系号,系名,系主任名)学号→(姓名,性别,系号)学号→系号→(系名,系主任名)其中,系名、系主任名直接依赖于系号,对学号则是传递依赖。10.2.2理解第一范式第一范式:每个字段是最小单位。记住关键字:最小单位。10.2.2理解第一范式不满足第一范式的情况通常有如下三种类型:1、多成分字段(又称复合字段),它的值中包含两个或多个不同的项。2、多值字段,包含相同类型的多个实例。3、计算字段,包含由其他字段计算的结果。10.2.2理解第一范式不满足第一范式的情况通常有如下三种类型:1、多成分字段(又称复合字段),它的值中包含两个或多个不同的项。2、多值字段,包含相同类型的多个实例。3、计算字段,包含由其他字段计算的结果。10.2.2理解第一范式1、多成分字段多成分字段难以处理是因为它的值包含两个或多个不同的项目,难以从中提取信息,并且对表中记录按字段值排序或分组也很困难。传统的第一范式主要是解决多成分字段问题。10.2.2理解第一范式1、多成分字段多成分字段难以处理是因为它的值包含两个或多个不同的项目,难以从中提取信息,并且对表中记录按字段值排序或分组也很困难。传统的第一范式主要是解决多成分字段问题。10.2.2理解第一范式1、多成分字段对于多成分字段,假如它的成分数量是固定的,则可以把各个成分作为独立的字段。10.2.2理解第一范式1、多成分字段表10.16的部门表可能有一个正主任,多个副主任。10.2.2理解第一范式1、多成分字段10.2.2理解第一范式1、多成分字段总体来看,有两种方法纠正多成份字段,一种是“平展”,即修改现有的表,为每一种成份建立一个字段;另一种方法是“竖展”,即新增一个表,建立若干个字段,每种成份对应新增表中的一条记录。如果一个多成份字段的成份个数是固定的,以“平展”为宜,如果成份个数是变化的且较多,以“竖展”为宜。当然,也有其他的影响因素,需视具体的情况而定。10.2.2理解第一范式2、多值字段总体来看,一般用“竖展”的方法修正多值字段,即设计新表,一个值对应新表中的一条记录。10.2.2理解第一范式2、多值字段10.2.2理解第一范式3、计算字段计算字段的问题在于数据的冗余,以及需要额外的计算,并可能造成数据不一致。修正的最简单有效的方法是把计算字段去掉。10.2.3理解第二范式第二范式:在满足第一范式的基础上,所有非主键字段完全依赖于主键,而不能部分依赖。记住关键字:完全依赖,不能部分依赖。10.2.3理解第二范式针对表10.27,做以下几点:1)写出数据的依赖关系。2)指定主键。3)更正设计。4)把数据转入新设计的表。5)指出新设计的各表的主键、外键及其表间联系。10.2.3理解第二范式1)写出数据的依赖关系。

可用矩阵穷举法分析。

教工号→(姓名,职称)

课程号→(课程名,课时数)(教工号,课程号)→课酬10.2.3理解第二范式2)指定主键。由1)分析可见,主键为(教工号,课程号),因为所有字段都可依赖(教工号,课程号)。10.2.3理解第二范式3)更正设计。更正的方法是,把完全依赖的放在一个表,一共三个表:教工(教工号,姓名,职称)课程(课程号,课程名,课时数)课酬(教工号,课程号,课酬)10.2.3理解第二范式4)把数据转入新设计的表。注意,虽然原来的表有三条记录,但教工只有两个,课程只有两门。10.2.3理解第二范式5)指出新设计的各表的主键、外键及其表间联系。教工表的主键是“教工号”;课程表的主键是“课程号”;课时费表的主键是(教工号,课程号),外键是教工号,课程号。教工(教工号)一对多课时费(教工号)课程(课程号)一对多课时费(课程号)10.2.4理解第三范式第三范式:在满足第一、第二范式的基础上,所有非主键字段直接依赖于主键,而不能传递依赖。记住关键字:要直接依赖,不能传递依赖。10.2.4理解第三范式针对表10.30,做以下几点:1)写出数据的依赖关系。2)指定主键。3)更正设计。4)把数据转入新设计的表。5)指出新设计的各表的主键、外键及其表间联系。10.2.4理解第三范式1)写出数据的依赖关系。可用矩阵穷举法分析。学号→(姓名,性别,系号)学号→系号→(系名,系主任名)10.2.4理解第三范式2)指定主键。因为学号可唯一确定其他字段,可见学号可做主键。10.2.4理解第三范式3)更正设计。把直接依赖的放

温馨提示

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

最新文档

评论

0/150

提交评论