数据库系统原理:第三章:数据库设计

简介: 学习

第一节:数据库设计概述

1.数据库生命周期:

(1)数据库分析与设计阶段:包括需求分析、概念设计、逻辑设计
(2)数据库实现与操作阶段:包括数据库的实现、操作与监督、修改与调整

2.数据库设计的两个重要目标:

(1)满足应用功能需求
(2)良好的数据库性能

3.数据库设计方法可分为三类:

直观设计法、规范设计法、计算机辅助设计法

4.数据库设计分为以下几个阶段:

(1)需求分析阶段
(2)结构设计阶段
(3)行为设计阶段
(4)数据实施阶段
(5)数据库运行和维护阶段

第二节:数据库设计的基本步骤

1.概念结构设计的常用方法:

实体分析方法(自顶向下法)、属性综合法(自低向上法)

2.数据库逻辑模型的三种表示:

层次、网状、关系

3.物理设计的任务是什么:

物理设计是指对于一个给定的数据库逻辑结构,研究并构造物理结构的过程,其具体任务主要是确定数据库在存储设备上的存储结构以及存取方法,因DBMS的不同还可能包括建立索引和聚集,以及物理块大小,缓冲区个数和大小,数据压缩的选择等

4.逻辑结构设计通常要求提供的输入信息包括:

(1)独立于特定DBMS的概念模型
(2)有关响应时间、安全保密性、数据完整性及回复方面的要求说明,包括保持数据一致性的规则说明
(3)数据量及使用频率
(4)特定DBMS特性,包括DBMS支持的数据模型及数据定义语言的说明

5.在完成逻辑结构设计之后,应该形成的输出信息包括:

(1)一个特定DBMS支持的概念模式,或称之为模式
(2)一个或多个外部视图,或称之为子模式
(3)物理设计说明,主要包括存入数据库中的数据量,使用频率及响应时间要求
(4)程序设计说明,他是在需求分析的基础上,根据已完成的逻辑模型,编制各程序名,执行逻辑步,存取数据的名,顺序及操作特征(读写删改)的说明

第三节:关系数据库的设计方法

1.关系数据库是一类采用关系模型作为逻辑数据模型的数据库系统,它的实际过程遵从数据库设计的基本步骤,关系数据库的概念结构设计逻辑结构设计是关系数据库整个设计过程的关键
2.通常使用E-R图来作为描述现实世界的建模工具

实体-矩形
属性-椭圆形
联系-菱形

3.局部信息结构设计的步骤分为:

(1)确认局部范围
(2)选择实体
(3)选择实体关键字
(4)确定实体间联系
(5)确定实体的属性

4.一个好的全局E-R模型除能反映用户功能需求之外,还应满足下列条件:

(1)实体类型个数尽可能少
(2)实体类型所含属性尽可能少
(3)实体类型间联系无冗余

5.全局E-R模型的优化步骤包括:

(1)相关实体类型的合并
(2)消除不必要的冗余属性
(3)消除不必要的冗余联系

目录
相关文章
|
3月前
|
算法 关系型数据库 MySQL
【MySQL 解析】数据库的乐观锁和悲观锁实现原理
【1月更文挑战第11天】【MySQL 解析】数据库的乐观锁和悲观锁实现原理
|
3月前
|
NoSQL Java 关系型数据库
基于Java swing和mysql实现酒店管理系统(源码+数据库+运行指导视频+系统用户使用手册+系统PPT+数据库设计说明书+系统概要说明书+需求说明书+详细说明书)
基于Java swing和mysql实现酒店管理系统(源码+数据库+运行指导视频+系统用户使用手册+系统PPT+数据库设计说明书+系统概要说明书+需求说明书+详细说明书)
|
3月前
|
NoSQL 中间件 API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(下)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
82 2
|
3月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(上)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
73 0
|
2天前
|
存储 SQL 数据库
数据库库表结构设计:原理、实例与最佳实践
数据库库表结构设计:原理、实例与最佳实践
17 0
|
1月前
|
缓存 Java 数据库连接
mybatis 数据库缓存的原理
MyBatis 是一个流行的 Java 持久层框架,它封装了 JDBC,使数据库交互变得更简单、直观。MyBatis 支持两级缓存:一级缓存(Local Cache)和二级缓存(Global Cache),通过这两级缓存可以有效地减少数据库的访问次数,提高应用性能。
282 1
|
2月前
|
存储 关系型数据库 数据库
数据库索引的原理,为什么要用 B+树,为什么不用二叉树?
数据库索引的原理,为什么要用 B+树,为什么不用二叉树?
|
2月前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表4、数据库设计——2、数据库规范化(Normalization)——3、实体-关系模型(ER Modeling)
MySQL技能完整学习列表4、数据库设计——2、数据库规范化(Normalization)——3、实体-关系模型(ER Modeling)
60 0
|
2月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
298 0
|
2月前
|
SQL 存储 算法
【数据库SQL server】数据库系统概述与DBS结构
【数据库SQL server】数据库系统概述与DBS结构
68 0
【数据库SQL server】数据库系统概述与DBS结构

热门文章

最新文章