【机房重构】-数据库设计

这次机房重构没有用之前机房的数据库,自己重新建了一个,想着既然数据库重建了,那就顺便按数据库系统生存期详细走一遍。虽然上次自考学习过数据库系统原理,但是只是学习了理论,没有实践,趁着这次机会,好好实践一把,增强自己对规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护七阶段的理解。


规划阶段

对于数据库系统,特别是大型数据库系统或者大型信息系统中的数据库群,规划阶段是十分必要的。规划的好坏将直接影响到整个系统的成功与否。

规划的步骤大体为:系统调查,可行性分析、确定数据库系统的目标。

这次重构虽然不是大型数据库系统,但是理清数据库间关系,对我们后续系统的完成相当重要。对于系统的目标:准备做一个学校机房或图书馆用的上机系统。


需求分析

这一阶段是系统分析员和用户双方共同手机数据库所需要的信息内容和用户对处理的需求。并以需求说明书的形式确定下来,作为以后系统开发的指南和系统验证的依据。

下图是对用户如何操作的简单分析


根据面向对象的思想,将系统中实体分为最重要的三类:卡、学生、用户(操作员、管理员、一般用户)然后对各自的实体进行业务分析。
    对学生:查看学生信息(要求组合查询)
            学生信息维护(主要是修改学生信息)
     对用户:修改密码
             增加、删除用户
             基本数据设定
             工作记录查询
             正在值班教师记录查询
     对卡: 注册
            充值-----充值记录查询
            退卡-----退卡记录查询
            上下机-----上机记录查询------上机状态查询
            结账
            账单查询

    这三个实体的提取既可以把整个系统的功能分析出来,从学生、用户、卡这个次序,功能复杂程度越来越大,对于系统功能逻辑的理解在这个阶段先有简单的认识即可。


概念设计

概念设计的目标是产生反映用户单位信息需求的数据库概念结构,即概念模型,概念模型能充分反映现实世界中实体间的联系,又是各种基本数据模型的共同基础,同时也容易像现在普遍使用的关系模型转换。

概念设计的任务一般分三步来完成:进行数据抽象,设计局部概念模型;将局部概念模型综合成全局概念模型;评审

(1)进行数据抽象,设计局部概念模型

除需求分析中提到的三大实体外,根据卡的需求又抽象出账单,工作记录和基本数据,

(2)将局部概念模型综合成概念模型


这张图是整个系统的ER图,


(3)评审

评审分为用户评审和DBA评审两部分。用户评审的重点是确认全局模型是否完整的反映了用户的信息需求;DAB和应用开发人员评审子侧重于确认全局结构是否完整,各种成分划分是否合理,是否存在不一致,以及各种文档是否齐全。


逻辑设计

将ER图转换成关系模型:

用户(用户名,密码,级别,状态)
卡(卡号,余额,是否使用,是否结账,类型,注册日期,用户名)
学生(学号,姓名,性别,年龄,专业,年级,班级,卡号)
充值(卡号,充值金额,充值日期,充值时间,用户名)
退卡(卡号,退卡金额,退卡日期,退卡时间,用户名)
上下机(卡号,上机日期,上机时间,下机日期,下机时间,消费时间,电脑名,用户名)
基础数据(会员金额,临时金额,单位时间,最少上机时间,准备时间,最低消费,用户名)
工作记录(用户名,上机日期,上机时间,下机时间,状态,电脑名)
账单(充值金额,上期余额,退卡金额,消费金额,当前总金额,结账日期,结账时间,用户名)


物理设计

在物理设计阶段主要是从关系模型到数据库建立做准备,然后确定数据库的物理结构,这期间需要考虑的有数据类型,长度,外键,表见关系,以及三范式等等。


小结

三范式的总结整理和数据库的实现均会放在下一篇博客,写这篇博客的时候又把数据库原理中的第二章又过了一遍,学习就这样,一遍遍的重复,一遍遍的深化。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子松的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值