一、数据库设计的基本步骤:

1. 需求分析阶段:
  准确了解与分析用户需求(包括数据与处理),是整个设计过程的基础,是最困难、最耗费时间的一步。
2.数据库设计阶段

 (1)概念结构设计阶段:
  是整个数据库设计的关键,通过对用户的需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。从实际到理论。
 (2)逻辑结构设计阶段:
  将概念结构转换为某个DBMS所支持的数据模型,对其进行优化。优化理论。
(3)数据库物理设计阶段:
  为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。选择理论落脚点。
3.数据库实施阶段:
  运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果,建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。理论应用于实践。
4.数据库运行和维护优化阶段:
  数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。理论指导实践,反过来实践修正理论。

二、详解数据库设计阶段几个概念区别:

概念数据模型设计与逻辑数据模型设计、物理数据模型设计是数据库及数据仓库模型设计的三个主要步骤。

(1)在数据仓库领域有一个概念叫conceptual data model ,中文一般翻译为“概念数据模型”。

角度:概念数据模型是最终用户对数据存储的看法 ,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。

内容:概念数据模型的内容包括重要的实体及实体之间的关系。( 在概念数据模型中不包括实体的属性,也不用定义实体的主键。这是概念数据模型和逻辑数据模型的主要区别。)

目标:概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。(在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的)。例如:

(2)在数据仓库领域有一个概念叫logical data model ,中文一般翻译为“逻辑数据模型”。

  角度:逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化 。逻辑数据模型是根据业务规则确定的,关于业务对象、业务对象的数据项及业务对象之间关系的基本蓝图。

内容:逻辑数据模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。

目标:逻辑数据模型的目标是尽可能详细的描述数据,但并不考虑数据在物理上如何来实现。

逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。如果在实现逻辑数据模型时投入得足够多,那么在物理数据模型设计时就可以有许多可供选择的方法。

(3)在数据仓库领域有一个概念叫physical data model ,中文一般翻译为“物理数据模型”。

角度:是从数据库实施人员的角度考虑,物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。

内容:物理数据模型的内容包括确定所有的表和列,定义外键用于确定表之间的关系,基于用户的需求可能进行发范式化等内容。 在物理实现上的考虑,可能会导致物理数据模型和逻辑数据模型有较大的不同。

目标:物理数据模型的目标是指定如何用数据库模式来实现逻辑数据模型,以及真正的保存数据。

注意:powerdesigner中

对刚创建的CDM进行详细之前有必要先说说有关实体属性命名问题

  PowerDesigner默认在CDM中不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当我们进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。为此需要对更改PowerDesigner相关 设置。软件默认为DataItem不能重复使用(重名),需要进行以下操作:

  选择Tools->Model Options,

  在Model Setting设置目录中,将Data Item下的Unique Code取消选中即可,系统默认将Unique Code和Allow Reuse均选中。

数据库设计阶段和三个重要的设计模型相关推荐

  1. 自适应控制——仿真实验三 用超稳定性理论设计模型参考自适应系统

    自适应控制--仿真实验三 用超稳定性理论设计模型参考自适应系统 一.问题描述 二.问题建模 三.问题求解 参考书目 一.问题描述 设控制对象的传递函数为 W p ( s ) = k 1 T 1 2 s ...

  2. 数据库原理实验三 数据库综合设计实验 实验报告

    实验三 数据库系统设计综合实验 1.实验目的通过实验,使学生掌握数据库系统设计和开发的一般方法,能够设计并实现简单的数据库系统. 2.实验要求熟悉实验室实验环境,掌握实验预备知识,了解实验中故障排除的 ...

  3. 【数据库】第三章 事务、索引和SQL优化

    [数据库]第三章 事务.索引和SQL优化 文章目录 [数据库]第三章 事务.索引和SQL优化 一.事务 1.原子性 2.持久性 3.隔离性 4.一致性 二.索引 1.介绍 2.分类 3.底层实现 4. ...

  4. 【数据库】(三)-- mysql 数据库操作应用

    [数据库](三)-- mysql 数据库操作应用 操作说明 使用 navicat 针对 mysql 进行 sql 的使用,mysql 运行在本地的 docker 环境的应用容器中. 语法和关键字什么的 ...

  5. MySQL数据库程序设计(三)

    MySQL数据库程序设计(三) 前言 数据查询 SELECT语句 单表查询 选择字段 选择指定记录 分组聚合查询 查询结果排序 限制结果数量 链接查询 交叉连接 内连接 外连接 子查询 IN关键字的子 ...

  6. KUDU(三)kudu的模式设计

    文章目录 基于HTAP方式 列设计 Decimal类型 列编码 列压缩 主键设计 主键索引 时间戳主键回填问题 分区设计 范围分区 哈希分区 多级分区 修剪分区 分区案例 模式变更 局限性 总结 基于 ...

  7. 案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,期限控制,参数调试等)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127669684 长期持续项目技术分享,有专业Qt需求请 ...

  8. 关系型数据库由哪三部分组成_关系数据库| 第2部分

    关系型数据库由哪三部分组成 关系数据库理论 (Theory of relational databases) The foundations of the theory of relational d ...

  9. 机甲大师机器人控制(三):软件架构设计

    本文是机甲大师机器人控制的系列博客之一.在功能分析的基础上,本文设计软件的架构以及定义输入输出接口. 系列博客: 机甲大师机器人控制(一):概念与流程 机甲大师机器人控制(二):功能分析 机甲大师机器 ...

最新文章

  1. EF-Entity Framework 相关技术点收集贴
  2. android monitor不能查看/data目录
  3. js获得页面鼠标位置
  4. lua5.3 获取table的元素数量
  5. 了解Python编程——Python学习(三)
  6. Python实现Kmeans文本聚类
  7. Alibaba之EasyExcel使用
  8. Arcpy处理月NDVI,最大合成法合成年NDVI
  9. 计算机组成原理带符号的阵列乘法器,计算机组成原理阵列乘法器课程设计报告精选.doc...
  10. 北大数学系「扫地僧」韦东奕爆红!拒绝哈佛offer,留任北大,却因长相引热议...
  11. Real-Time Rendering 第二章 渲染管线
  12. android开发data/data/文件包/files下的保存,删除,获取文件
  13. 泰拉瑞亚手机版html,泰拉瑞亚提基套装怎么得 提基套装属性详解
  14. 大学计算机编程考试用什么软件?
  15. ITE EC代码解析1
  16. 中国落石防护网市场十四五规划及未来发展趋势报告2022-2028年
  17. 32b汇编——数组分配和访问
  18. 基于Webio交互的Pyecharts数据分析脚本小记
  19. mysql数据库—PXC集群
  20. python卡尔曼滤波室内定位_基于核函数与卡尔曼滤波的室内定位方法

热门文章

  1. CreateCompatibleDC CreateCompatibleBitmap SelectObject详解
  2. python 游戏脚本制作(一)autopy包的使用
  3. 黑客入侵自我保护手册
  4. VMware要求更新,系统更新后VMware打不开,要求更新
  5. Pandas详解十之Dropna滤除缺失数据
  6. 梯度下降法 python_(四)梯度下降法及其python实现
  7. Hexo博客配置笔记
  8. github上传自己的代码
  9. Java如何配置环境变量?
  10. burpsuite破解webshell密码+国内黑阔shell密码收集