软件设计师笔记之数据库建模

本章的内容主要集中在下午的第二题,相对比较简单。

(1)设计关系模式:掌握给定一个实际的应用问题如何设计E-R模型,如何将E-R模型转换成关    系模式,确定联系类型、主键、候选键、外键,判断关系模式规范化的程度。

(2)数据库语言(SQL):掌握给定一个实际的应用问题如何用SQL进行数据定义(创建表、   视图)、完整性定义及权限定义。

(3)数据库访问:掌握常用数据库的访问方法。

本章的考点主要有:E-R模型、关系模式、主键、外键,偶尔出现SQL   语言方面的试题。


目录

一、数据库设计的阶段划分

二、ER模型高级知识


数据库建模技术

之前已经对数据库系统的基础知识进行了详细说明(详细内容参考 “软件设计师笔记之数据库系统基础”),这些知识点也是解答案例分析题的要点。但这些知识相对比较独立,本节从数据库建模的角度来分析整个数据库设计是怎样做的,解决比选择题更难的案例分析题。


一、数据库设计的阶段划分

前面的几篇文章曾提到软件的开发分了多个阶段,而软件开发的本身包括了流程方面的设计与数据方面的设计。数据库设计正是数据层面的规划,所以数据库设计也有阶段的划分,它与软件开发的阶段是吻合的。数据库设计包括需求分析、概念结构设计、逻辑结构设计和数据库物理设计四个阶段。如图 “ 数据库设计流程图” 所示。

 数据库设计流程图

这四个阶段的主要工作与产出物总结起来,如表 “数据库设计的阶段划分” 所示。

数据库设计的阶段划分

二、ER模型高级知识

关于ER模型的相关内容,第5章已有相关说明,应对上午考试的相关问题那些知识已经足够用   了,但下午案例分析题难度将超过该水平,因为会涉及ER模型的高级知识。ER模型的高级知识包    括:弱实体、特殊化、概括、聚集,考试中要求掌握弱实体与特殊化。

(1)弱实体

弱实体是一类特殊的实体,这种实体需要依赖于另一个实体,若另一个实体不存在了,它也随之消失。相对而言,弱实体所依赖的那个实体称为强实体

例如:订单实体与订单明细之间便存在这样的关系,订单实体是强实体,而订单明细为弱实体,若订单实体不存在了,订单明细也就没有存在的必要性了。强实体与弱实体之间的关系表达,   与常规的ER模型略有差异,如图 “弱实体示意图” 所示。

弱实体示意图

(2)特殊化

在数据库的设计过程中,有时我们会发现,一个实体可以按照某些特征分为几个子实体,这其实是从普遍到特殊的一个过程,这被称为“特殊化”。仅从概念理解,会非常抽象,下面看一个例子。

例如:学生这个实体,它就包含了多个子集:大专生、本科生、硕士生、博士生。这便是特殊化。其示意图如图 “特殊化示意图” 所示。

特殊化示意图
发布了83 篇原创文章 · 获赞 188 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_40791253/article/details/91352052