《数据库系统概论》十一章汇总--基于《数据库系统概论》第五版王珊一书|第七章--数据库设计

简介: 该系列的博客都是基于《数据库系统概论》第五版王珊一书,进行的知识总结和课后习题汇总,从第一章到第十一章,如果觉得不错记得收藏点个赞吧~你的小小支持,是我的大大动力

第七章:数据库设计


了解

数据库设计的特点 数据库物理设计的内容和评价 数据库的实施和维护


掌握:

数据库设计基本步骤 数据库设计过程中数据字典的内容 数据库设计各个阶段的具体设计内容、设计描述、设计方法 E-R图的设计 E-R图向关系模型的转换


数据库设计过程

这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、数据库运行和维护。


1.需求分析(问喝什么口味奶茶)

准确了解与分析用户需求(包括数据与处理)。

2.概念结构设计(大概设计个口味)–E-R图

通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。**

3.逻辑结构设计(往里面加材料)–视图,外模式

将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。**

4.数据库物理设计(装进奶茶杯)–索引,内模式

为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)**

5.数据库实施(递奶茶给客人)

设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。**

6.数据库运行和维护(给吸管和保证客人不会喝出事)

在数据库系统运行过程中对其进行评价、调整与修改。**

一句话:按照买奶茶流程去理解,需求分析,概念设计,逻辑结构设计,数据库物理设计,数据实施,数据库运


需求分析阶段的设计目标、调查内容


需求分析阶段的设计目标是 通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。 调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求: 信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。 处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。 安全性与完整性要求。

E-R图?

E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为:


实体型:用矩形表示,矩形框内写明实体名;

属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)也有1:*,和 星 :星(同是1对多,多对多)


数据库设计过程中形成的数据库的各级模式

在概念设计阶段形成独立于机器特点,独立于各个DBMS产品的概念模式,在本篇中就是E-R图 在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后在基本表的基础上再建立必要的视图(View),形成数据的外模式 在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。


数据库设计的特点

数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有: 数据库建设是硬件、软件和干件(技术与管理的界面)的结合。 从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来


什么叫数据抽象?

数据抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。 如分类这种抽象是:定义某一类概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的“is member of”的语义。在E-R模型中,实体型就是这种抽象。例如在学校环境中,李英是老师,表示李英是教师类型中的一员,则教师是实体型,李英是教师实体型中的一个实体值,具有教师共同的特性和行为:在某个系某个专业教学,讲授某些课程,从事某个方向的科研(这个概念和java里实体概念几乎一样)


数据字典?

内容通常包括:数据项、数据结构、数据流、数据存储、处理过程5个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。 作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。


数据库的概念结构,特点和设计策略

概念结构是信息世界的结构,即概念模型,其主要特点是 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。 易于向关系、网状、层次等各种数据模型转换。


概念结构的设计策略通常有四种


自顶向下

即首先定义全局概念结构的框架,然后逐步细化;

自底向上

即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构

逐步扩张

首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;

混合策略

即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。


重要性和设计步骤


重要性:数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一DBMS实现这些需求。

设计步骤:概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构


为什么要视图集成?视图集成的方法是什么?

在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机的融合起来,综合成一个系统的总视图。 这样设计清晰,由简到繁。由于数据库系统是从整体角度看待和描述数据的,因此数据不再面向某个应用而是整个系统。因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用。一般说来,视图集成可以有两种


方式:

1.多个分E-R图一次集成; 2.逐步集成,用累加的方式一次集成两个分E-R图。

无论采用哪种方式,每次集成局部E-R图时都需要分两步走:

1.合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。 2.修改和重构。消除不必要的冗余,生成基本E-R图。


数据库的逻辑结构设计,设计步骤

数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。


设计步骤为:

1.将概念结构转换为一般的关系、网状、层次模型; 2.将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换; 3.对数据模型进行优化。


课后答案


数据流程图是用于描述结构化方法中【需求分析】阶段的工具。

数据库设计中,用E-R图赖描述信息结构但不涉及信息在计算机中的表示,这是数据库设计的【概念设计阶段】

在数据库设计中,将E-R图转换成关系数据模型的过程属于【逻辑设计阶段】

子模式DDL是用来描述【数据库的局部逻辑结构】

数据库设计的概念设计阶段,表示概念结构的常用方法和描述工具是【实体联系法和实体联系图】

在E-R模型向关系模型转换时,M:N的联系转换为关系模式时,其关键字是【M、N端实体的关键字组合】

某学校规定,每一个班级最多有50名学生,至少有10名学生;每一名学生必须属于一个班级。在班级与学生实体的联系中,学生实体的基数是【(1,1)】

在关系数据库设计中,设计关系模式是数据库设计中【逻辑设计阶段】阶段的任务

关系数据库的规范化理论主要解决的问题是【如何构造合适的数据逻辑结构】 数据库设计可划分为七个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上、键什么样的索引”这一设计内容应该属于【物理设计】设计阶段。

  • 假设设计数据库性能用“开销”,即时间、空间及可能的费用来衡量,则在数据库应用系统生存期中存在很多开销。其中,对物理设计者来说,主要考虑的是【操作开销】
  • 数据库物理设计完成后,进入数据库实施阶段,下述工作中,【扩充功能】一般不属于实施阶段的工作。
  • 从ER图导出关系模型时,如果实体间的联系是M:N的,下列说法中正确的是【增加一个关系表示联系,其中纳入M方和N方的关键字】
  • 在ER模型中,如果有3个不同的实体集,3个M:N联系,根据ER模型转换为关系模型的规则,转换为关系的数目是【6】
  • 数据库外模式在【数据库逻辑结构设计】阶段设计
  • 生成DBMS系统支持的数据模型在【数据库逻辑结构设计】阶段完成
  • 根据应用需求建立索引在【数据库物理设计】阶段完成
  • 员工性别取值“男”女”/“1”“0”属于【属性冲突】
  • 数据库设计方法包括【新奥尔良方法】【基于E-R模型的方法】【3NF的设计方法】【面向对象的设计方法】【统一建模语言(UML)方法】
  • 数据库设计的基本步骤包括【需求分析】【概念结构设计】【逻辑结构设计】【物理结构设计】【数据库实施】【数据库运行和维护】
  • 集成E-R图要分两个步骤【合并、修改】和【重构】
  • 数据库常见存取方法【索引】【聚簇】【Hash方法】
  • 在进行概念结构设计时,将事物作为属性的基本准则是什么

作为属性,不能再具有需要描述的性质,属性必须是不可分的数据项,不能包含其他属性 属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系

将E-R图转换为关系模式时,可以如何处理实体型间的联系

一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 一个m:n联系转换为一个关系模式。 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。 具有相同码的关系模式可合并。

综合题多画画,注意实体是矩形框,属性是椭圆,联系用菱形答案就不贴了

目录
相关文章
|
7月前
|
NoSQL Java 关系型数据库
基于Java swing和mysql实现酒店管理系统(源码+数据库+运行指导视频+系统用户使用手册+系统PPT+数据库设计说明书+系统概要说明书+需求说明书+详细说明书)
基于Java swing和mysql实现酒店管理系统(源码+数据库+运行指导视频+系统用户使用手册+系统PPT+数据库设计说明书+系统概要说明书+需求说明书+详细说明书)
225 0
|
7月前
|
存储 SQL 数据库
数据库设计案例:电商系统数据库设计实践
数据库设计案例:电商系统数据库设计实践
718 1
|
7月前
|
存储 关系型数据库 数据库
关系型数据库数据库设计
关系型数据库设计是一个综合考虑多个方面的过程。在设计过程中,我们需要遵循一系列原则和实践,以确保数据库能够满足业务需求、保证数据的安全性和一致性,并具备良好的可伸缩性和可扩展性。
122 5
|
7月前
|
存储 监控 关系型数据库
关系型数据库数据库设计优化
【5月更文挑战第18天】关系型数据库数据库设计优化
84 1
|
7月前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表4、数据库设计——2、数据库规范化(Normalization)——3、实体-关系模型(ER Modeling)
MySQL技能完整学习列表4、数据库设计——2、数据库规范化(Normalization)——3、实体-关系模型(ER Modeling)
147 0
|
7月前
|
存储 安全 数据库
电商管理系统的数据库设计思路和数据库代码
电商管理系统的数据库设计思路和数据库代码
139 0
|
存储 SQL Oracle
【SQL Server】数据库开发指南(一)数据库设计
在实际的软件项目中,如果系统中需要存储的数据量比较大,需要设计的表比较多,表与表之间的关系比较复杂,那我们就需要进行规范的数据库设置。如果不经过数据库的设计,我们构建的数据库不合理、不恰当,那么数据库的维护、运行效率会有很大的问题。这将直接影响到项目的运行性和可靠性。
379 0
【SQL Server】数据库开发指南(一)数据库设计
|
数据库 索引
数据库上机实验7 数据库设计
数据库上机实验7 数据库设计
108 0
|
存储 SQL 数据管理
【数据库原理 • 四】数据库设计和规范化理论
数据库技术是计算机科学技术中发展最快,应用最广的技术之一,它是专门研究如何科学的组织和存储数据,如何高效地获取和处理数据的技术。它已成为各行各业存储数据、管理信息、共享资源和决策支持的最先进,最常用的技术。 当前互联网+与大数据,一切都建立在数据库之上,以数据说话,首先需要聚集数据、分析数据和管理数据,数据库技术已成为各种计算机系统的核心技术。数据库相关知识也已成为每个人必须掌握的知识。
699 0
|
存储 数据管理 数据挖掘
【数据库原理 • 四】数据库设计和规范化理论
数据库技术是计算机科学技术中发展最快,应用最广的技术之一,它是专门研究如何科学的组织和存储数据,如何高效地获取和处理数据的技术。它已成为各行各业存储数据、管理信息、共享资源和决策支持的最先进,最常用的技术。 当前互联网+与大数据,一切都建立在数据库之上,以数据说话,首先需要聚集数据、分析数据和管理数据,数据库技术已成为各种计算机系统的核心技术。数据库相关知识也已成为每个人必须掌握的知识。
254 0
下一篇
DataWorks