数据库设计之E-R模型转换成关系模型

php中文网
发布: 2016-06-07 15:58:03
原创
1886人浏览过

个人重构版机房收费系统中需要自己重新设计数据库,那么如何设计数据库呢?这也是咱们自考中一门重要的课程《数据库原理》,对于考过这科的同学想必已经从中受益,直接就可以学以致用。我是今年10月份考这本书,所以就先实践一把。 原先看过的耿建玲老师的视

个人重构版机房收费系统中需要自己重新设计数据库,那么如何设计数据库呢?这也是咱们自考中一门重要的课程《数据库原理》,对于考过这科的同学想必已经从中受益,直接就可以学以致用。我是今年10月份考这本书,所以就先实践一把。

原先看过的耿建玲老师的视频,里面重点讲解的是数据库内部的具体操作,没有怎么涉及到数据库设计中不可或缺的一个步骤即从概念模型到逻辑模型的转换。进入正题:

背景:数据系统生存期

我们把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。这个生存期一般可以划分成七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。今天的重点概念设计到逻辑设计的转换。

关于E-R图百科中有详细介绍

以机房收费系统为基础,画出全局概念模型如图:

把E-R图转换成关系模型的步骤:

第一步:把三个实体类型转换成三个模式:

student(studentNo,studentName,sex,academy,major,grade,class)

card(cardID,money)

user(userID,password,level)

第二步:对于1:1关系“使用”,可以在“card”模式中加入学号(学号为外键)。这样第一步得到的三个模式如下:

student(studentNo,studentName,sex,academy,major,grade,class)

card(cardID,money,studntNo

第三步:对于M:N的联系,形成新的关系

Registe(cardID,studentNO,userID,note,Date,Time)

CancelCard(cardID,studentNo,cancelCash,date,time,userID,status)

BibiGPT-哔哔终结者
BibiGPT-哔哔终结者

B站视频总结器-一键总结 音视频内容

BibiGPT-哔哔终结者 871
查看详情 BibiGPT-哔哔终结者

Charge(cardID,studentNo,addCash,date,time,userID)

Online(cardID,studentNo,OnlineDate,OnlineTime,computer)

Outline(cardID,studentNo,OutelineDate,OutlineTime,concumeTime,concume,)

最后形成的8个关系模式:

T_student(studentNo,studentName,sex,academy,major,grade,class)

T_card(cardID,money,studntNo

T_user(userID,password,level)

T_Registe(cardID,studentNO,userID,note,Date,Time)

T_CancelCard(cardID,studentNo,cancelCash,date,time,userID)

T_Charge(cardID,studentNo,addCash,date,time,userID)

T_Online(cardID,studentNo,OnlineDate,OnlineTime,computer)

T_Outline(cardID,studentNo,OutelineDate,OutlineTime,concumeTime,concume,)

下面个关系模型是根据系统功能设计的:

T_Worklog(userID,OnlineDate,OnlineTime,OutelineDate,OutlineTime)

T_Basicdate(Rate,tmpRate,unitTime,leastTime,PrepareTime,limitCash,head,date,time)(关于报表的表有待更新)

这个过程让我明白的是数据库中的表不是凭空想象的,同时也不是根据系统功能需要什么我就设计出什么字段,而是现根据数据库设计的规划阶段和需求分析阶段对用户需求以及可行性分析得出实体,联系,属性之后设计出表,应用到系统功能时再根据功能设计出视图。根据上面的步骤设计出来的表,减少耦合的同时也符合三范式(第一范式:不可再分,第二范式:防止局部依赖,第三范式:消除传递依赖)

PS:初学者,如有错误往指正!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号