【重构机房】 设计数据库

       在第一次机房的时候,是自己边做边建立的数据库,刚开始的时候 还好,到后边涉及到几张表的时候,就直接参照给的模板建立的,所以关于那些关系也没有区分。机房重构,要自己建立数据库,就重新翻了自考数据库的书,学着一步步的设计数据库。

一、数据库 生存周期

首先我们来再次了解一下数据库的整个生存周期数据库的生存周期一般包括下面几个阶段,重要的设计就是概念和逻辑设计。

(一)规划阶段,主要包括系统对应用单位做全面的调查,发现主要问题,画出组织结构图;可行性分析、确定数据库的总目标。
(
二) 需求分析
是计算机人员和用户共同的搜集数据库所需要的信息内容和用户对处理的需求。并且以需求说明书的形式确定下来,作为以后系统开发的指南和系统验证的依据。
对于机房收费系统,现在看来第一遍的理解很多都是错误的,我把一般用户理解成为了学生,权限最低。但是不是这样的,如果是学生的话,那么里边有强制学生下机的功能就不成立了。机房收费系统,主要就是为机房管理人员设定的。学生进入机房,去管理员那里注册,注册的时候,需要输入学生的相关的信息,学生就拥有了一张卡。以后所以的项目都是对卡操作的。如果学生想上机,向管理者申请,然后就可以上机了。上机需要向如果学生不适用卡了,就可以退卡,返还金额。管理者(一般用户、操作员、管理员),主要是对卡的操作,并且会产生操作记录。
(三) 概念设计阶段
  步骤:(1)进行数据抽象,设计局部概念模型
(2)将局部概念模型综合成为全局概念模型。
 (3)评审(师傅验收提建议)
四 逻辑设计阶段
     如果概念模型采用ER模型,逻辑模型采用关系模型,那么这一步就是把ER模型转化成为关系模型,也就是把ER 模型中的实体类型转换成为一张张的表。必要的时候,再进行修改。
五 物理设计阶段
    数据库的物理设计结构主要指数据库的存储记录格式、存储记录安排和存取方法,显然数据库的物理设计是完全依赖于给定的硬件环境和数据库产品。在机房收费系统基本不涉及。
六 数据库的实现
   主要包括用DDL定义数据库的结构、数据装载、编制和调试应用程序、数据库运行。目前我觉得重要的步骤就是在SQL等数据库中创建相应的表、字段、考虑数据类型、主外键、各种约束等。
七、 数据库的运行和维护。

二、概念设计—ER模型
     ER模型的基本元素:实体、联系、属性。我们采用ER模型的数据库设计的步骤:首先设计局部ER模型,然后把各个局部的ER转化为一个全局的ER模型,最后对全局的ER模型进行优化,得到最终的ER模型。
1、 设计局部的ER模型。
(1) 设计局部ER模型的第一步,是确定局部范围的范围划分,划分的方式一般有两种。一种是依据系统的当前用户进行自然划分。另一种似乎按照用户要求数据提供的服务归纳成为几类,使每一种应用访问的数据显著的不同其他类,然后为每类应用设计一个局部ER图。
(2) 定义实体,确定每一个实体的属性和键。
(3) 定义联系
   一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察是否存在联系。如有联系,进一步确定是1:1,还是1:N、N:M。还有考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系。
(4) 分配属性。一个是确定属性,另一个是把属性分配到有关实体和联系中去。
2、设计全局ER模型
(1)确定公共实体类型。
(2)合并局部ER模型。
合并原则:首先进行两两合并;先合并哪些显示世界中有联系的局部结构;合并从公共实体类型开始,最后再键入独立的局部结构。
(3)消除冲突
主要包括属性冲突、结构冲突、命名冲突,使之成为一个能够被全系统中的所有用户共同理解和接受的统一的概念模型。
3、全局的优化
优化原则:
合并实体类型,一般在权衡利弊后,可以把1:1联系的两个实体类型合并。所以在第一次机房收费系统中给出的学生表中,卡的信息也是包含在其中的,这样也是有道理的。

消除冗余属性:一般一个属性出现在一个实体类中中,或者一个类型可以从其他属性的值中导出,这个时候可以把冗余的属性删除。


小结

     数据库的 知识,学习过很久了,但是真正的实践很少,《数据库系统原理》那本书,也只是在自学考试的时候,好好的复习了,真正的实践还没有。一直觉得用处不大,但是真正到用的时候,再看这本书的时候,感觉很实用,这就是重复学习的力量。数据库是整个机房收费系统的基础,初次设计,肯定会有很多的问题,以后一定会越来越好,越来越容易的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值