第六章数据库设计
- 格式:ppt
- 大小:1.43 MB
- 文档页数:138


陈志泊数据库原理第四版第六章设计题好嘞,今天我们来聊聊数据库设计的话题,尤其是陈志泊《数据库原理》第四版第六章的内容。
虽然这本书的名字听上去就挺让人心头一紧的,但其实它里面讲的东西呢,真心并不那么难。
别担心,咱们今天会用轻松的语气把这块内容捋顺,保证你能听懂又不失风趣,咱们一点儿也不走那些死板板的路线,反正今天是讲数据库,不是讲人生的哲学,对吧?!首先呢,咱们说数据库设计。
你可以把它想成是你在装修新房子的时候,得先规划好每个房间的位置,做个蓝图啥的。
你想想,如果厨房和卫生间直接连到一起,那得多尴尬?客厅和卧室一个门能进去,那住起来就没啥隐私了。
所以,设计数据库就像是给这些“房间”安排合理的位置,保证它们之间的关系既不冲突,又能高效运行。
这事儿,看起来有点复杂,其实掌握了窍门,就能轻松搞定了。
在《数据库原理》这本书里,第六章其实讲的就是如何设计一个高效又合理的数据库。
重点是什么呢?就是要先搞清楚你要存什么,怎么存,存了之后,怎么取出来方便又快捷,最好能实现“懒得找数据”这种高效操作。
你想啊,如果数据库的设计一开始就乱七八糟,拿到数据的时候你得费老劲,那个时候你才会知道,设计不合理真是让人抓狂。
你看数据库设计的第一个步骤,就是要搞清楚数据的“实体”。
这就像你在装修的时候,先得弄明白你要建几个房间,厨房需要多大,客厅要有几盏灯,卧室得有多少插座。
你说得清楚了,设计才好开展。
而在数据库里呢,这些“实体”就是那些你要存储的对象,比如学生、课程、老师这些,搞清楚这些实体之间的关系,才是后续工作的基础。
接着就是要搞清楚它们之间的“关系”了。
比如学生和课程之间是啥关系?是“一对多”呢?还是“多对多”?就像你在装修时,要决定客厅和餐厅是不是连着的,卧室是不是得有个衣柜。
这些细节看似不重要,实则关系到你以后能不能舒服地住进去。
同样的道理,搞清楚数据库中实体之间的关系,才能保证后面的操作顺畅。
比方说,学生和课程之间的“多对多”关系,咱们就得弄个关联表来处理,避免“很多学生选同一门课”这种情况搞得一团糟。
第6章数据库设计一、选择题1、下列对数据库应用系统设计的说法中正确的是应用程序员可以不必参与数据库的概念结构设计2、在需求分析阶段,常用数据流图描述用户单位的业务流程。
3、下列对E-R图设计的说法中错误的是集成后所得的E-R图中可能存在冗余数据和冗余联系,应予以全部清除4、下列属于逻辑结构设计阶段任务的是将E-R图转换为一组关系模式5、将一个一对多联系型转换为一个独立关系模式时,应取多端实体型的关键属性为关键字。
6、将一个M对N(M>N)的联系型转换成关系模式时,应转换为一个独立的关系模式7、在从E-R图到关系模式的转化过程中,下列说法错误的是关系模式的规范化程度越高,查询的效率就越高8、对数据库的物理设计优劣评价的重点是时空效率A.B.动态和静态性能C.用户界面的友好性D.成本和效益9、下列不属于数据库物理结构设计阶段任务的是确定选用的DBMS10、确定数据的存储结构和存取方法时,下列策略中将表和索引存储在同一磁盘上不利于提高查询效率。
二、填空题1、在设计分E-R图时,由于各个子系统分别面向不同的应用,所以各个分E-R图之间难免存在冲突,这些冲突主要包括_命名冲突_、_属性冲突_和_结构冲突_三类。
2、数据字典中的_数据项_是不可再分的数据单位。
3、若在两个局部E-R图中都有实体“零件”的“重量”属性,而所用重量单位分别为公斤和克,则称这两个E-R图存在_属性_冲突。
4、设有E-R图如图6.18,其中实体“学生”的关键属性是“学号”,实体“课程”的关键属性是“课程编码”,设将其中联系“选修”转换为关系模式R,则R的关键字应为属性集_学号与课程编码__。
5、确定数据库的物理结构主要包括三方面内容,即:_确定数据存放位置和存储结构_、_确定数据存取方法_和_系统配置_。
6、将关系R中在属性A上具有相同值的元组集中存放在连续的物理块上,称为对关系R基于属性A进行_聚簇_。
7、数据库设计的重要特点之一要把_结构(数据)_设计和__行为(处理)_设计密切结合起来,并以_结构(数据)_为核心而展开。
软件工程第六章详细设计软件工程第六章详细设计6.1 概述本章节旨在对软件系统的详细设计进行介绍。
详细设计将在系统的高层设计基础上,进一步细化系统结构、模块划分以及相互关系,并定义系统中各个组件的详细功能和接口。
6.2 系统结构设计系统结构设计主要包括以下内容:- 系统总体架构:描述系统整体的结构和组成部分,包括各个模块和它们的关系。
- 模块划分:根据系统需求,将系统划分为若干个模块,并定义各个模块的职责和功能。
- 模块关系:描述各个模块之间的依赖关系和通信方式,包括模块之间的接口和数据流。
6.3 模块设计模块设计是详细设计的核心内容,主要包括以下内容:- 模块接口:定义模块的输入和输出接口,包括参数和数据格式。
- 模块内部实现:描述模块内部的算法、数据结构以及运行流程。
- 模块测试方法和策略:定义对模块进行单元测试的方法和策略。
6.3.1 模块A设计本节详细介绍模块A的设计。
- 模块接口:模块A接收来自模块B的数据输入,处理后输出结果给模块C。
- 模块内部实现:模块A内部使用算法X对输入数据进行处理,然后将结果输出给模块C。
- 模块测试方法和策略:对模块A进行单元测试时,使用测试用例集合Y进行测试。
6.3.2 模块B设计本节详细介绍模块B的设计。
- 模块接口:模块B接收来自模块D的数据输入,处理后输出结果给模块A。
- 模块内部实现:模块B内部使用算法Z对输入数据进行处理,然后将结果输出给模块A。
- 模块测试方法和策略:对模块B进行单元测试时,使用测试用例集合Z进行测试。
6.3.3 模块C设计本节详细介绍模块C的设计。
- 模块接口:模块C接收来自模块A的数据输入。
- 模块内部实现:模块C内部对输入数据进行处理,并输出结果。
6.4 数据库设计如果系统涉及数据库,本节详细介绍数据库的设计。
- 数据库结构:描述数据库的表、字段以及它们之间的关系。
- 数据库访问接口:定义系统访问数据库的接口和方法。
6.5 接口设计本节详细介绍系统与外部系统或用户的接口设计。