数据库设计包括三个阶段:
1)概念设计
2)逻辑设计
3)物理设计

这三个阶段是什么意思?阶段任务是什么?

1、概念设计
也称为概念结构设计,任务是在需求分析阶段产生的需求规格说明书的基础上,将需求抽象为一个不依赖于任何DBMS的数据模型,即概念模型,表现形式为E-R模型。就是画E-R图吧。

2、逻辑设计
也称为逻辑结构设计,主要任务是将概念模型转化为某个特定DBMS上的逻辑模型。具体来说,就是设计库表。

3、物理设计
物理结构设计。为逻辑模型选取一个最适合应用环境的物理结构。就是创建物理数据库,建好相应的数据库文件、索引文件,做好各项系统配置等。

前不久,我学习到模型驱动这一概念。所谓模型驱动(MDA),就是先设计出平台无关模型,然后经过模型转换,建立平台相关模型,最后结合代码框架,自动生成源代码和文档,一个成品就出来了。模型驱动的好处之一,就是可移植性很高,从一个平台移植到另一平台,只需将平台无关模型转换一下就可以了。我感觉数据库的设计思想,跟模型驱动有类似之处。

那么这个数据库设计工作,在什么时候开展呢?众所周知,系统生命周期里面,系统开发部分分为总体规划、系统分析、系统设计、系统实施、系统验收几个环节。名为数据库设计,是系统设计阶段吗?其实,数据库设计应该分处于系统分析、系统设计、系统实施三个阶段。系统分析阶段,如果采用结构化分析方法(SA)的话,需要完成数据建模、功能建模、行为建模三项工作。其中数据建模,就是负责数据库的概念设计,绘制E-R模型。数据库的逻辑设计,在系统设计阶段;物理设计,在系统实施阶段。开发方法有多种,结构化方法、面向对象方法、面向服务方法,等等,通常混合使用,数据建模往往都是必须的。

说另外一个话题。

访问数据库,由外到内,有所谓三级模式-两层映射的机制。三级模式,外模式、逻辑模式、内模式;两层映射,外模式-逻辑模式映射,逻辑模式-内模式映射。

外模式是以一种对外的视角,称为用户视图,或者说,从外部的角度看到或理解的数据库样子。简单点吧,就是数据库里的视图。视图是虚拟表,它的行列数据均来自于一个或多个基本表。

逻辑模式,对应的就是基本表。

内模式,对应的是存放基本表的数据文件。




这是一种分层结构,类似网络的ISO7层模型,最上面,是面向用户和应用的外模式,屏蔽了大量细节;最下面,是底层的物理文件,内模式。内模式中的数据从这个数据文件转移到别的文件,对概念模式的基本表来说是透明的;同理,基本表的结构发生了改变,只要视图相应做适配,对外部的应用程序来说也是透明的,不必做任何修改。

大道不孤必有邻,活到老,学到老。

数据库设计的阶段任务相关推荐

  1. 数据库设计的阶段及对应产物

    数据库设计一般分为以下六个阶段: 1. 需求分析: 分析用户的需求,包括数据.功能和性能需求,生成数据流图DFD: 2. 概念结构设计:主要采用E-R模型进行设计,包括画E-R图: 3. 逻辑结构设计 ...

  2. mysql设计体会_数据库设计心得体会

    组名:NoobStruggle. 成员:刘海天.胡亮.谭晓杰.宁君辉. 一.分析需求 对于每一个项目,数据库的设计都是至关重要的,它关系到后端进行接口开发时实现的难度,数据库中数据的可维护性,一致性, ...

  3. 数据库设计------(数据库设计基本概念)、需求分析(数据字典)

    数据库设计的特点:三分技术,七分管理,十二分基础数据 数据库设计分6个阶段: 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行和维护 1. 需求分析阶段 是否做得充分与准确, ...

  4. 《数据库系统概论》7——数据库设计

    数据库设计概述 数据库设计 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信 ...

  5. 【数据库系统】第二部分 设计与应用开发(7) 数据库设计

    本文属于「数据库系统」系列文章之一,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏数据库系统系列文章汇总目录一文以作备忘.需要特别说明的是,为了透彻理解 ...

  6. 数据库系统及应用复习——第七章数据库设计

    重点:概念设计中ER模型的设计方法,逻辑设计中ER模型向关系模型的转换方法,数据库设计的阶段组成,每个阶段的主要任务. 一.数据库设计概述 数据库应用系统的开发也是一项软件工程,称为数据库工程,数据库 ...

  7. 数据库系统:第七章数据库设计

    7.1 数据库设计概述 数据库设计: 广义地讲,设计整个数据库应用系统. 侠义地讲,是指设计数据库本身. 一般性定义:数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构, ...

  8. 数据库题目之数据库设计

    一.选择题 1.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的阶段. A.需求分析 B.概念设计 C.逻辑设计 D.物理设计 [答案:]B 2.在关系数据库设计 ...

  9. 【数据库题目复习】第7章 数据库设计

    文章目录 一.选择题: 二.填空 三.应用 参考文章:https://blog.csdn.net/qq_46139801/article/details/117453449 知识点: (1)各子系统的 ...

  10. 数据库设计的步骤(数据库设计概述)

    数据库设计概述 数据库设计是指对于一个给定的应用环境,设计一个优良的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据 ...

最新文章

  1. Python-OpenCV 处理视频(二): 视频处理
  2. 1、MySQL 8.0.20最新版本在Linux上安装
  3. 在apache访问日志中统计统计前十名pv
  4. 1.9 编程基础之二分查找 13:整数去重 python
  5. 迷宫问题(栈解决)--2015年8月9日19:23:23v1.0版
  6. eclipse java web乱码_JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)...
  7. JS实现让页脚一直固定在页面底部
  8. php json 封装,laravel json返回封装
  9. visual stdio打开之后与屏幕尺寸不匹配_柔和点亮桌面,让眼睛更舒服,雷神屏幕挂灯L1体验...
  10. php session位置,关于PHP中Session文件过多的问题及session文件保存位置
  11. 如何入门AI?五大新手项目奉上
  12. 思达报表工具Style Report基础教程—用选择列表,选择树进行数据过滤
  13. 【ceph】vdbench的使用教程——裸盘测试和文件系统测试vdbanch
  14. Oracle 定时任务执行存储过程
  15. Springboot 支持Emoji 表情
  16. 用 js判断 一个数是否是素数(质数)_Javascript 判断一个数是不是素数
  17. 100份开工礼送粉丝,体验嵌入式高级感!
  18. 问答社区竞品分析——知乎与悟空的较量
  19. 【认知计算】Deepfake/Anti-deepfake综述探究
  20. 关于硕士毕业论文中会议conference的参考文献格式修正GB7714-87#outputstyle#endnote

热门文章

  1. 计算机三种桌面图标,例举win7电脑桌面图标排列方式
  2. python中字节(bytes)是如何转换成整型(long)的?
  3. 高校如何优雅的使用Ipv6--抱着道长的大腿
  4. 怎么查询电脑mac地址
  5. 荣耀笔记本linux版拆机,荣耀MagicBook Pro 16.1拆机有惊喜,官方都没提,居然能拓展...
  6. 《2022谷歌开发者大会》参会之旅
  7. 计算机协会活动策划,计算机协会活动策划书
  8. ip地址,二进制,十进制、ip地址的组成 重点、ip分割网段
  9. 最值得拥有的免费Bootstrap后台管理模板
  10. 海洋女神亲身体验灵翼龙岛飞行任务--壮志凌云:空军指挥官穆维里克--完成后的诀窍总结...