首页 > 数据库 >数据库设计的步骤

数据库设计的步骤

时间:2023-03-19 20:32:12浏览次数:50  
标签:逻辑 步骤 数据库 结构设计 存取方法 设计 数据模型 物理

数据库设计是指:根据用户的需求,在数据库管理系统上(比如:MySQL、Oracle),设计数据库的结构和建立数据库的过程。

数据库设计的设计内容包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。

需求分析

需求分析是:在用户调查的基础上,通过分析,明确用户对数据库系统的使用需求(包括数据需求、业务处理需求),得到需求描述。

调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。

需求分析是在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。

在需求分析中,通过自顶向下,逐步分解的方法分析系统,分析的结果采用数据流程图进行图形化的描述。

概念结构设计

概念结构设计是:依据需求描述,建立抽象的概念数据模型。

概念数据模型最常见的是:实体-联系模型(E-R模型,Entity Relationship Model)

总结来说,概念结构设计就是:依据需求描述,得到实体-联系模型,画出 E-R图。

将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。

所建立的概念数据模型应该避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。

概念结构设计是整个数据库设计的关键。

逻辑结构设计

逻辑结构设计是:将现实世界的概念数据模型,设计成某种数据库管理系统(DBMS)所支持的逻辑数据模型。

逻辑数据模型最常见的是:关系数据模型。

关系数据模型的逻辑结构是一组关系模式的集合。一个实体转换为一个关系模式。

总结来说,逻辑结构设计就是:依据 E-R图,得到一组关系模式。

概念结构是独立于任何一种数据模型的信息结构,逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。

逻辑结构设计的主要工作是:将现实世界的概念数据模型设计成数据库的一种逻辑数据模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。

逻辑结构设计的结果就是所谓“逻辑数据库”。

物理结构设计

数据库的物理结构设计就是:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。

物理结构在关系型数据库中主要指:数据库在物理设备上的存储结构与存取方法:数据库在物理设备上的存储结构与存取方法。

数据库的物理结构依赖于选定的数据库管理系统。

物理结构设计的结果就是所谓的 “物理数据库”。


数据库的物理结构设计通常分为两步:

  1. 确定数据库的物理结构。
  2. 对物理结构进行评价,评价的重点是:时间和空间效率。

如果评价结果满足原设计要求,则可进入到物理实施阶段;否则,就需要重新设计或修改物理结构,有时甚至要返回到逻辑结构设计阶段修改逻辑数据模型。


物理结构设计的任务之一是:根据关系型数据库管理系统支持的存取方法确定选择哪些存取方法。

存取方法是快速存取数据库中数据的技术。数据库管理系统一般提供多种存取方法,常用的存取方法为:索引方法、聚簇方法。索引方法有:B+树索引、hash 索引。

DBSM常用的数据存取方法 - Judy518 - 博客园 (cnblogs.com)

数据库的实施

完成数据库的物理设计之后,设计人员就要用关系数据库管理系统提供的数据定义语言(DDL)和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为关系数据库管理系统可以接受的源代码,再经过调试产生目标模式,然后就可以组织数据入库了,这就是数据库的实施阶段。

数据库的运行和维护

数据库试运行合格后,数据库开发工作就基本完成,可以投入正式运行了。

但是由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。

在数据库运行阶段,对数据库经常性的维护工作主要是由数据库管理员完成的。

数据库的维护工作主要包括以下几方面。

  1. 数据库的转储和恢复
  2. 数据库的安全性、完整性控制
  3. 数据库性能的监督、分析和改造
  4. 数据库的重组织与重构造

参考资料

《数据库系统概论》第7章:数据库设计

标签:逻辑,步骤,数据库,结构设计,存取方法,设计,数据模型,物理
From: https://blog.51cto.com/haofeiyu/6131334

相关文章

  • 数据库设计的步骤
    数据库设计是指:根据用户的需求,在数据库管理系统上(比如:MySQL、Oracle),设计数据库的结构和建立数据库的过程。数据库设计的设计内容包括:需求分析、概念结构设计、逻辑结构设......
  • 创建数据库表
     ......
  • Mysql数据库系统部署使用
    拓补图:数据库的概念:数据库就是一个运行在系统上的软件,用于存储用户个人信息、用户的游戏资料等数据库是多个表的集合,是存储数据的仓库,以一定的组织方式存储的相互有关的数据......
  • 前端设计模式——原型模式
    原型模式(PrototypePattern):使用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。在JavaScript中,所有的对象都有一个原型链。原型链是一种机制,它允许我们在对......
  • 如何分析PG数据库内存告警
    导读PG数据库遇到内存问题要立即进行分析的场景并不多,因为大多数PG数据库的内存使用率过高的报警并不意味着内存使用情况异常,内存真的不够用了。因为PG数据库是使用DOU......
  • 设计模式(二十五)----行为型模式之访问者模式
    1概述定义:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。2结构访问者模式包含以下主要角色:抽......
  • 腾讯云数据库SQL Server(TencentDB for SQL Server)介绍
    云数据库SQLServer(TencentDBforSQLServer)具有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩容等特......
  • 腾讯云数据库SQL Server只读实例
    概述在对数据库有少量写请求,但有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至对业务产生影响。为实现云数据库SQLServer读能力的弹性扩展,分担数据库读压力,您......
  • 记第一次正式参加程序设计竞赛(程序设计天梯赛校赛)的感觉(随便写写)
    背景2021年冬天到2022年春天开始在学校的相关课程下接触计算机,了解到算法竞赛的一些东西,2022年春天也参加了一次,虽然那次是线上赛,而且没什么准备,到了比赛的时候只会做一些......
  • excel快速形成insert命令 用于快速插入数据库
    importpandasaspdfile=pd.read_excel('bb.xlsx')column=list(file.columns)foriinrange(len(file)):x=[file.iloc[i][x]forxinrange(len(column))......