数据库——数据库结构设计

目标

1 数据库概念设计
2 数据库逻辑设计
3 数据库物理设计

数据库概念设计

概念设计 是数据库设计的 核心环节,通过对用户需求进行综合;归纳;与抽象,形成一个独立于DBMS 的概念模型

数据库概念设计的目标

1 定义与描述应用领域设计的数据范围
2 获取信息模型
3 描述数据的属性特征
4 描述数据之间的关系
5 定义和描述数据的约束
6 说明数据的安全性要求
7 支持用户的各种数据处理需求
8 保证信息模型转化成数据库的逻辑结构(数据库模式)

概念设计的依据及过程

依据:数据库概念设计以需求分析的结果为依据,即需求说明书,DFD图以及在需求阶段收集到的应用领域中的各类报表
结果:概念设计的结果是 概念模型(ER)与概念设计说明书

过程:
1 明确建模目标 (模型覆盖范围)
2 定义实体集 (自顶向上标识和定义实体集)
3 定义联系 (实体间关联关系)
4 建立信息模型 (构造ER 模型)
5 确定实体集属性 (属性描述一个实体集的特征或性质)
6 对信息模型进行集成与优化(检查和消除命名不一致,结构不一致等)
概念设计 是DB 设计的核心环节。概念数据模型是对现实世界的抽象和模拟

概念模型设计

采用最广泛的是ER建模方法。将现实世界抽象为具有属性的实体及联系
ER 图描述数据库的概念模型观点:
世界是由一组 作实体的基本对象和这些对象间的联系构成

与E-R模型有关的概念

实体或实例:客观存在并可相互去跟的事物叫实体
实体集:同型实体的集合叫实体集
属性:实体所具有的某一特性,一个实体可以由若干个属性来刻画,每个属性的范围称为域
码: 实体集中唯一标识每一个实体的属性或属性集合 。用来区别同一实体集中的不同实体称作主码。一个实体集中任意两个实体在主码的取值上不能相同
联系: 描述实体之间的相互关系
联系也可以有属性,同类联系的集合 称为联系集

实体间的联系有三类:
1对1联系:
‘系’与‘系主任’(一个系只有一个系主任,一个系主任只能管理一个系)
1 对多联系(1:n):
‘系’与‘学生’(一个系招收若干个学生,一个学生只属于一个系)
多对多联系(n:n):
学生与课程(一名学生可选修多门课程,每门课程可被多名学生选修)

E-R 图表示
在这里插入图片描述
在这里插入图片描述

IDEF1X建模方法

IDEF0 功能建模方法
IDEF1X 是数据建模方法

数据库逻辑设计

逻辑设计的任务:
将概念模型(ER图)转化为DBMS 支持的数据模型(关系模型),并对其优化

逻辑设计的依据与阶段目标
在这里插入图片描述

补充的相关概念

1 关系模型
2 数据依赖
3 候选码 主码 外码
4 数据规范化
5 范式

关系模型

层次模型;网状模型;关系模型
关系模型:简单灵活,有坚实的理论基础,称为当下最流行的数据模型
关系模型:用二维表结构来表示实体与实体间之间联系的模型
关系的描述称为 关系模式
由五部分 组成 五元组 R(U,D,DOM,F)
R :关系名
U : 组成该关系的属性名集合
D :属性组中U 中属性所来自的域
DOM : 属性到域的映射
F : 属性组上U 上的一组依赖数据
由于D,DOM 对模式的设计关系不大,这里把关系模式简化一个三元组
R<U,F>当且仅当 U 上的一个关系R 满足F时 ,R 称为关系模式 R <U,F> 的一个关系

关系数据库设计的核心: 关系模式的设计
关系模式设计目标: 按照一定的原则从数量众多而相互关联的数据中,构造出一组既能较好反映现实世界,而又有良好的操作性能的关系模式

新奥尔良发;数据库设计步骤:
需求分析 - 概念结构设计 - 逻辑结构设计 - 物理结构设计

数据依赖:
对于R(U)任意一个可能的关系r,r中不可能存在连个元组 在X 上的属性值不等,x函数确定y,y函数依赖x →y
关系内部 属性与属性之间的一种约束关系
现实世界属性间相互关系的抽象
数据的内在性质
语义的体现

完整约束的表现形式
限定属性的取值范围 age<60
定义属性间值得相互关联(主要体现于值相等与否)

数据依赖类型:
函数依赖(Functional Dependency,FD):
普遍存在于生活中,这种依赖关系雷士与数学中的函数 y = f(x), y 由 x 定
如 关系 :公民(身份证号,姓名,地址,工作单位)
身份证号确定;其地址就唯一确定;地址函数依赖于身份证号
姓名确定不一定能确定地址

多值依赖(Multivalues Dependency MD)
教师号可能多值依赖课程号,因为给定一个(课程号;参考书号)的组合,可能对应多个教师号。因为多个老师可以使用相同或不同的参考书上同一门课
简单点讲: 函数就是唯一的确定关系;多值依赖却不能唯一确定

函数依赖的几种特例:
1 平凡函数依赖与非平凡函数依赖
X → Y 且 Y 不包含于 X 则X → Y 非平凡依赖
Y 包含于 X 则 X → Y 平凡函数依赖必然成立

	2  完全函数依赖 与部分函数依赖
	3 传递函数依赖
	**(依赖关系 不明白)**

候选码;主码;外码
候选码: 某属性的值能唯一确定某个元组的值
候选码 有多个 可以选其中的一个作为主码
外码: 属性或属性组 X 不是关系模式 R的码(既不是主码也不是候选码)

数据规范化:
数据库的设计主要是关系模式的设计,关系模式的好坏,直接影响数据库设计的成败,将关系模式规范化,是设计较好的关系模式的唯一途径
关系模式规范化: 把一个底一级的关系模式分解为高一级关系模式的过程
关系数据库规范化理论是:数据库逻辑设计的工具
目的: 尽量消除插入;消除异常;修改复杂;数据冗余的问题

范式 : 关系模式满足的约束条件称为范式,根据满足规范化程度,范式由底到高 1NF ,2NF,3NF,BCNF,4NF,5NF
1NF :关系模式R,所有属性都是不可再分的基本数据项,R 属于第一范式,R ∈1NF
2 NF : 关系模式 R ∈ 1NF 且每个非主属性完全函数依赖与主码,则称R 属于 第二范式 R ∈ 2NF

数据库物理设计

索引技术分类:
有序索引:索引文件机制,利用索引文件(索引记录组成)实现记录域(查找码,排序码)取值到记录物理地址间的映射关系
数据文件(主文件)和索引文件(索引记录和索引项的集合)是有序索引技术中的两个主体,数据文件常采用顺序文件结构
散列索引:哈希(hash)索引机制,利用散列函数实现记录域值到记录物理地址间的间接映射关系

几种主要的有序索引:
(1)聚集索引(索引项与数据记录排列书顺序一致,索引顺利文件)和非聚集索引,一个数据文件只可建立一个聚集索引,但可建立多个非聚集索引。
(2)稠密索引(数据文件中每个查找码都对应索引记录)和 稀疏索引(部分查找码的值对应索引记录)
(3) 主索引(猪吗属性集上建立的索引)与辅索引(非主属性上建立的索引)
(4)唯一索引(索引列不包含重复值)
(5)单层索引 (线性索引,每个索引项的顺序排列直接指向数据文件中的数据记录)和多层索引 (大数据量文件中的采用多层模型(B,B+ 树) 索引快速定位)

数据库物理设计:

目标:
使内存空间占用少,数据访问效率高和维护代价低的数据库物理模式。数据库底层物理存储于存取,与DBS 所依赖的硬件环境,操作系统和DBMS 密切相关,目前大部分DBS 都是关系数据库系统

环节:主要包括5个环节
(1)数据库逻辑模式的描述
根据数据库逻辑结构信息设计目标DBMS 可支持的关系表(这里称为基本表)的模式信息,这个过程 称为 数据库逻辑模式的描述
关系模式及其视图转换成基本表和视图,利用完整性机制(如触发器) 设计面向应用的业务规则
SQL Server 采用 T-SQL 语言
为基本表选择合适的文件结构(堆文件,顺序文件,聚集文件,索引文件,散列文件)
(2)文件组织与存取设计
基本规则:根据应用情况将易变部分与稳定部分,存取评率较高的部分与存取评率较低的部分分来存放,以提高系统的性能
分析理解数据库事务访问特性,使用事务-基本表交叉应用矩阵;估计各事务执行评率;汇总各张表基本表各事务操作的评率信息;根据结果设计文件结构

影响数据文件存储结构的因素
存取时间,存储空间利用率,维护代价 这三个方面是相互矛盾的

解决方法 :适当冗余,增加聚餐功能,权衡选择折中的方案

DBMS 常用的存取方法
索引方法,目前主要是 B+ 树索引方法
聚餐方法
HASH 方法

建立索引的原则
一个组属性经常在操作条件中出现
一个组属性经常在连接操作的连接条件出现
一个组属性经常作为聚集函数的参数

建立聚集索引原则
检索数据时,常以某个组属性作为排序分组条件
检索数据时,常以某个组属性作为检索限制条件,并返回大量数据
表中每个组的重复性很大

(3)数据分布设计
不同类型数据的物理设计
将应用数据(基本表),索引,日志,数据库备份数据等合理安排在不同的介质中

应用数据的划分与分布
根据数据的使用特征(频繁使用分区和非频繁使用分区)
根据时间,地点划分(时间或地点相同的属于同一分区)
分布式数据库系统(DDBS )中的数据划分(水平划分和竖直划分)
派生属性数据分布(增加派生列或不定义派生属性)
关系模式的去规范化(降低规范化提高查询效率)

水平划分:
将基本表划分为多张的具有相同属性,结构完全相同的字表,字表包含的元组是基本表中元组的子集
垂直划分
将基本表划分为多张字表,每张子表包含的属性是原基本表的字迹

(4)确定系统配置
DBMS 产品一般都提供一些存储分配参数
同时使用数据库的用户数
同时打开数据库的对象数
使用缓存区的长度个数
时间片大小
数据库的大小
装填因子
锁的数目

(5)物理模式评估
对数据库物理设计结果存取时间,存取空间,维护代价等方面评估,重点是时间和空间效率

相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

inventertom

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值