数据库表结构设计.ppt_第1页
数据库表结构设计.ppt_第2页
数据库表结构设计.ppt_第3页
数据库表结构设计.ppt_第4页
数据库表结构设计.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

第2章,数据库表结构设计,本课教学内容,数据库设计的重要性 实体和属性 提取关系 特殊情况下的表设计,数据库设计的重要性,实际的项目中,数据库设计非常重要,数据库设计过程中,最重要的是表设计。因此,好的表结构设计,对应着较高的效率和安全性,而差的表设计,对应着差的效率和安全性。(例子参考课本P16),实体和属性,在进行数据库设计之前,必须要进行需求分析。根据需求分析的结果,使用E-R模型描述系统中数据的概念。 在E-R模型中,首先遇到的就是实体和属性。,实体和属性,1. 实体的提取。 如何提取实体呢?我们知道,客观存在并可相互区别的事物称为实体,一般情况下,实体表现为名词。 因此,通过将需求中,需要保存的名词提取出来,就可以提取出实体。 2. 属性的提取。 实体所具有的某一特性称为属性,一般说来,一个实体可以由若干个属性来刻画。属性,一般表现为名词。因此,我们通过将需求中,需要保存的实体的具体特征提取出来,就可以得到属性。,实体和属性,有了实体和属性的E-R图,接下来是将实体映射为表。 实体映射为表的一般方法是:原则上,每个实体对应一个表,实体中的属性对应表中的列。,提取关系,一对一关系下的表设计 以学校和校长之间的关系为例,一个学校只有一个校长,一个校长只在一个学校任校长,属于一对一关系,其E-R图如图所示:,提取关系,一对一情况下,表设计的一般经验是: 1. 每个实体设计一张表。 2任选一表,其中的主键在另一个表中充当外键。,提取关系,学校与校长关系表设计:,校长信息表,学校信息表,提取关系,一对多情况下的表设计 以班级和学生之间的关系为例。一个班级中有若干名学生,每个学生只在一个班级中学习,其E-R图如图所示:,提取关系,一对多情况下,表设计的一般经验是: 1. 每个实体设计一张表。 2选“一”方表,其主键在“多”方表中充当外键。,提取关系,班级与学生关系表设计:,学生信息表,班级信息表,提取关系,多对多情况下的表设计 以学生和课程之间的关系为例。一个学生可以选多门课程,一门课程可以有多个学生选,其E-R图如图所示:,提取关系,多对多情况下,表设计的一般经验是: 1. 每个实体设计一张表。 2另建第三个表(关系表),两个“多”方的主键在关系表中充当外键;关系表中的主键为这两个外键的组合。,提取关系,学生与课程关系表设计,学生信息表,课程信息表,选课信息表,提取关系,实体自身发生联系情况下的表设计 以学生和班长之间的关系为例,学生中有班长,班长也属于学生的一员,班长和学生属于一对多关系,此时属于学生实体与自身的关系,其E-R图如图所示:,提取关系,此种情况下,表设计的一般经验,实际上可以参考一对多情况下的方法。为: 1. 每个实体设计一张表。 2选“一”方表,其主键在“多”方表中充当外键。 3将两个表合成一个表。,提取关系,学生与班长关系表设计,学生信息表,特殊情况下的表设计,引入冗余字段 一般说来,表及其字段之间的关系, 应尽可能避免冗余字段。但是,为了提高数据库的运行效率,有时可以降低标准,适当增加一些冗余,提高查询性能,达到以空间换时间的目的。,特殊情况下的表设计,例如:有一张存放订单明细的表,结构如表所示: 该表的设计没有什么问题。 但是,考虑一种特殊情况,如果系统经常进行统计总金额操作,而统计时将每一种图书的单价和数量相乘,然后加起来,如果统计操作反复执行,这里面将会执行大量的乘法,怎样避免大量乘法操作,提高统计速度呢?,订单明细表,特殊情况下的表设计,这就可以在订单明细表表中增加冗余字段。 增加了冗余字段的订单明细表,如表所示: 在新的订单明细表表中,增加了“总价”字段,由于“总价”可以由“单价”乘以“数量”得到,说明“总价”是冗余字段。因此,该表数据存在低级冗余。 但是,这种设计可以消除在统计时的大量乘法操作,提高查询统计的速度,从算法策略上讲,这是以空间换时间的作法。,订单明细表,

温馨提示

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

最新文档

评论

0/150

提交评论