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

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

目标

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 上的一个关系R 满足F时 ,R 称为关系模式 R 的一个关系

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

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

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

完整约束的表现形式 限定属性的取值范围 age

数据依赖类型: 函数依赖(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)物理模式评估 对数据库物理设计结果存取时间,存取空间,维护代价等方面评估,重点是时间和空间效率

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注