数据库的设计大致流程想必大家都知道,不知道的也能很容易的在网上找到相关的资料,通常,我们将数据库设计分为6个阶段,即需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、实施阶段、运行和维护阶段。

本次我们不谈数据库设计的理论知识,主要是以机房收费系统的数据库设计为背景来说明数据库的概念结构设计是如何产生的,当然包括了数据库设计中最难的需求分析了,否则就谈不上什么数据库的概念结构设计了。

因为我们都已经做过一遍了,而且从一开始我们就是照着系统原型做的,没有从无到有的过程,所以无法体会真正的需求分析是什么样的,也就不会去思考待开发系统的的各种功能是如何抽象出来的。下面我就以我个人的理解来开始机房收费系统的数据库的设计之旅。

机房收费系统是给机房的值班人员和管理人员使用的,因此系统的用户将会是一个实体,为了满足客户需要,还要给用户进行权限设置。系统要管理的信息自然是学生本身的信息和学生因上机所产生的数据记录,因此学生也是一个必不可少的实体。

很多人因为三范式的原则,将原来学生信息中的有关卡信息的部分抽出来,形成了另一个实体,即卡实体。这样做提高了数据库的灵活性,在某位学生的卡丢了之后,即可将丢失的卡的信息从数据库中删除,将学生信息中的卡号更新即可。但是在系统的实际使用过程中,这样的设计并无多大优势,反而降低了查询效率,因为涉及到了两张表。有人说用视图就可搞定,但是相对于一张表来说,那就相对麻烦了点。

我们接着分析,系统用户操作会产生工作记录,学生在机房上机会产生上机记录,系统用户拥有对卡的注册、注销和充值的权限,因此会产生相应的数据信息,这样就差一个系统运行的基础数据设置了,这些数据信息需要一张表去存储,因此基本的数据库实体图就可以画出来了。

上面的图是极其简单的一张图,可能还有很多错误,毕竟还没有具备熟练准确的对待开发系统的进行抽象分析的能力。当然上面的图并没有给出各个实体的属性,下面我用power designer软件画出系统的概念结构图,当然这个图也不是标准的CDM,主要目的是给大家展示出各个实体的属性。

总之数据库的设计最难的是初期的需求分析阶段,也许需要开发方和客户方经过很长时间的反复讨论和交流,方才能够产生最终的结果,并且在后续的开发过程中也许还要不断的进行改进和完善。当然严格来讲,我这里说的也不能算是真正意义上的数据库设计,因为系统的蓝本和数据库蓝本的存在,会干扰我们的思考和分析,但这就是学习,要经历这个过程,亲手去做一个数据库,才会有深刻的体会,因为站在岸上永远也学不会游泳!

机房收费系统数据库概念结构设计相关推荐

  1. 客房收费系统数据库设计

    之前.当学习编写计算机房收费系统文件.我写 机房收费系统数据库概念设计模型--ER图 这篇文章,如今到了机房收费系统个人版重构阶段,须要再次进行数据库的设计. 能够说.之前的数据库的概念设计给我如今的 ...

  2. 【机房收费系统】——傻瓜式报表设计器制作报表模板

    一.下载安装Grid++Report5.0: 1.搜索下载Grid++Report5.0并安装:(附赠哟~但是建议大家自己去下载) 云盘分享:https://yunpan.cn/c6ggtnHFDsg ...

  3. 数据库设计说明书——机房收费系统

    数据库设计说明书 1引言 1.1编写目的 说明编写这份数据库设计说明书的目的,指出预期的读者. 本数据库设计说明书说明了机房收费系统的数据库设计和结构情况,用于开发人员进行项目设计,同时也为后期数据库 ...

  4. 数据库设计不求人(机房收费系统)

    前言 我想在进行数据库设计之前,需要要明白为什么设计数据库,不进行数据库设计可以吗?如果只是随便在院子里搭一个棚子需不需要先画图设计,但是如果要建造一栋大厦又需不需要设计? 思考之后,可以得出结论:面 ...

  5. VB查询数据库之写入数据库——机房收费系统总结(三)

         在机房收费系统中,新注册的用户,更改的密码,上机下级记录,上机收费记录等等都要写入数据库,这样,后面的查询才能生效.像数据库中写入数据,首先,找到你要写入数据的数据库中的表,在表中建立新的行 ...

  6. 【VB与数据库】机房收费系统开发阶段之登陆

    在机房收费系统中开始就是登陆窗体,在开始的时候如果全局观没有把握好,就会丢掉更新数据库中的数据,我刚开始就忘了更新Onwork _Info中的数据,所以要做一个窗体前,就要给它建立好自己的关系图,牵一 ...

  7. 机房收费系统 概要设计

    1. 引言... 2 1.1 编写目的... 2 1.2 背景... 2 1.3 定义... 2 1.4 参考资料... 2 2. 总体设计... 2 2.1 需求规定... 2 2.2 运行环境.. ...

  8. vb.net机房收费系统重构——存储过程的使用

    在敲写七层登陆过程中,接触了存储过程的概念,但当时还没使用.在正式的重构过程中,一点点添加,将存储过程也添加到了重构中.才正式了解了存储过程. 首先 [存储过程的概念] 存储过程Procedure是一 ...

  9. 机房收费系统---详细设计说明书

    详细设计说明书 1引言 1.1编写目的 说明编写这份详细设计说明书的目的,指出预期的读者. 该文档是在概要设计的基础上,进一步的细化系统结构,展示了软件结构的图表,物理设计,数据结构设计,以及算法设计 ...

最新文章

  1. python转cython_Cython安装与使用入门
  2. IEC 6-1131/3的5种标准编程语言
  3. React中redux原理图
  4. 物联网-移远M26模块MQTT开发(AT命令)
  5. The 6 richest people in the world
  6. 我是做php的个子矮,当一个矮个子的烦恼作文
  7. ElementUI:使用nav报错Invalid prop: custom validator check failed for prop “index“.
  8. ANTLR实现的SQL解析器 - OQL
  9. 设计模式相关书籍推荐
  10. 如何将 txt 文本文件保存为 html 文件
  11. 无人机——像素坐标系转世界坐标系(NED)
  12. 2021国赛新大陆物联网Ubuntu系统维护(中职)
  13. 小朋友把游戏藏在计算机里,给两、三岁宝宝的60个超简单家庭早教游戏
  14. python 绘制3D图
  15. Python也有对象了哈哈哈哈哈哈嗝
  16. 我不怕未知的困难,我只怕身边没有你
  17. YML(YAML)语法(文件后缀为.yml格式)
  18. 一度智信:拼多多商家被恶搞怎么办
  19. ArcScene制作三维地图-三维模型
  20. [日推荐]『明星在哪儿』这可能是你离爱豆最近的一次!

热门文章

  1. vue 使用 element-ui 实现小问号提示
  2. Kendryte K210 官方标准SDK gc0328 摄像头驱动移植
  3. 怎么把pdf转换成word转换器
  4. 安卓学习日记——APP共享内容
  5. 《痞子衡嵌入式半月刊》 第 12 期
  6. arduino uno r3单片机封装图_Arduino提高篇22—实时时钟DS1302
  7. vmware虚拟机mac连接iphone调试safari浏览器
  8. Python基于Django医药药品销售订单管理系统
  9. 在 Windows 7 上编译 QtAudioEngine 模块
  10. GreyBox基本应用