数据库的设计

简介: 数据库的设计

数据库设计主要有以下步骤:


需求分析


概念结构设计


逻辑结构设计


物理结构设计


数据库的实施


数据库的运行和维护


根据重点,这里主要介绍一下前四点,其中着重介绍概念结构设计和逻辑结构设计。


1需求分析


作用顾名思义,一般采用自顶向下的方法。值得注意的是,系统统中的数据则借助数据字典(data dictionary,DD)来描述。数据字典是系统中各类数据描述的集合,数据字典通常包括数据项,数据结构,数据流,数据存储,和处理过程5个阶段。


2.概念结构设计


这里主要是建立E-R图,一般采用自底向上的方法。

大致步骤如下,首先对数据进行抽象处理,再局部设计E-R图,最后再合并成总的E-R图。


2.1数据抽象


对数据进行分类,聚集,概括抽象处理。

分类是确定实体;聚集是确定实体的属性;概括原来的E-R模型没有,这里是对其扩充,是一种子集联系,比如学生下面可以分成本科生、研究生,前者称为超类,后者称为子类。


2.2局部设计E-R图


在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点 ,将各局部应用涉及的数据分别从数据字典中抽取出来参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型(1:1,1:n,m:n)

这里有几条原则,主要和属性有关

(1)属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成

(2)属性不能与其他实体具有联系。联系只发生在实体之间

(3)能做属性对待的,尽可能用属性对待


2.3总的E-R图


分两步走

一是合并局部E-R图,形成初步E-R图,二是对初步E-R图优化,消除冗余。

合并局部E-R图,形成初步E-R图:

合理消除各E-R图中的冲突是合并E-R图的主要工作与关键所在。各子系统的E-R图之间的冲突主要有三类:

1)属性冲突:属性域冲突,即属性值的类型、取值范围或取值集合不同;属性取值单位冲突。 解决方法商议,统一

2)命名冲突:同名异义,即不同意义的对象在不同的局部应用中具有相同的名字;异义同名(一义多名),即同一意义的对象再不同的局部应用中具有不同的名字。 解决方法商议、统一

3)结构冲突:同一对象在不同应用中具有不同的抽象(实体、属性,变换成一致的抽象);同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同(属性取并集);实体间的联系在不同的E-R图中为不同的类型(综合,调整)。

消除冗余,形成基本E-R图:

主要方法如下:

分析方法

规范化理论


3逻辑结构设计


这里主要是将E-R图转化为对应模型,以关系模型为例。

E-R图向关系模型的转换,要解决的问题是如何将实体型和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。

主要原则如下:

1685011988117.jpg

(3)具有相同码的关系模式可以合并


4.数据库的物理结构设计


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

这里主要是了解其常见的存取方法,常用的存取方法有三类:1.索引方法,目前主要是B+树索引方法。2.聚簇方法(Clustering)方法。3.是HASH方法

相关文章
|
6月前
|
数据库 索引
评论功能里数据库的设计
【4月更文挑战第2天】本文探讨了评论系统的树形结构设计,提出了四种方法:邻接表、分段式path、Nested Set和Closure Table。针对评论业务功能,如加载评论页和查看回复,优先考虑邻接表和分段式path。采用邻接表思路,设计了评论表结构,包括Uid、Biz、BizID、RootID、PID、Content、索引和级联删除规则。同时提到了索引设计,如Uid、Biz+BizID、PID和Ctime/Utime,以优化查询性能。
127 3
|
1月前
|
SQL 关系型数据库 MySQL
【数据库】常用数据库简介
【数据库】常用数据库简介
|
3月前
|
监控 安全 NoSQL
如何设计数据库架构?
【8月更文挑战第17天】如何设计数据库架构?
71 4
|
3月前
|
存储 SQL 缓存
优化数据库
【8月更文挑战第15天】优化数据库
26 1
|
4月前
|
数据库 数据库管理
数据库基础
数据库基础
18 0
|
6月前
|
存储 SQL Java
【数据库】数据库语言
【数据库】数据库语言
69 1
|
6月前
|
存储 SQL 安全
6.数据库技术基础
6.数据库技术基础
|
存储 Oracle NoSQL
了解学习数据库知识
了解学习数据库知识
221 30
了解学习数据库知识
|
存储 SQL 数据管理
【数据库技术基础】数据库的三级模式结构
【数据库技术基础】数据库的三级模式结构
232 0
【数据库技术基础】数据库的三级模式结构
|
SQL 网络协议 安全