[机房合作]-数据库设计

前言:

  最近刚刚开始了机房合作,自己在其中主要参与了D层的设计,而且在文档设计的阶段主要参与了数据库设计.之前在机房重构的时候对于数据库设计没有按照文档来进行驱动,所以这次在写文档的时候我很认真,所以遇到了很多细节的问题,比如对于视图,存储过程在数据库设计的哪一个部分加入,以及对数据库的外部模式进行了深入的了解!

内容:

   数据库的设计的周期,分为了规划,需求分析,概要设计,逻辑设计,物理设计,实现,运行维护。我将数据库的设计分为了前期准备,中期设计,后期实现维护。

周期划分前期准备中期设计后期运行维护

规划,需求分析文档概要设计,逻辑设计,物理设计实现,运行维护
在这里我主要讲的就是中期设计,下面主要是我对数据库数据文档的布局:

   一:在数据库设计中主要遇到的问题主要是结构设计与外部设计的关系,于是乎重新学习数据库原理这本书,在这里找到了答案,结构设计和外部设计关系离不开对于“三模型两映像”。


概念模型表达了整体数据的整体逻辑结构,基于用户需求出发,对数据建模,独立于硬件和软件,是数据库设计人员和用户之间的交流工具

逻辑模型表达了DB的整体的逻辑结构,从数据库实现观点出发,数据建模,独立于硬件,依赖于软件;是数据库设计人员与应用程序员之间交流的工具。

外部模式是为了适应不同的业务单位设计不同的外部模式,也称为用户级的模型,反映了用户使用数据库的观点,是逻辑模型的一个逻辑子集。其中通过设计外模型让数据库和应用程序进行交互。而外模式就是数据库设计的表,视图,存储过程等,面对不同的用户,访问的不同。

内部模型是物理模型,是数据库最低层的抽象,它主要描述的是存储的方式,在这里数据库的存储结构应该是索引结构,存取方法通过主索引和辅助索引。主要是与我们学习的操作系统中文件相关知识有关。


  二:结构设计中概念模型设计阶段实体联系模型(ER模型)是广泛被采用的概念模型设计方法,对于ER模型中基本元素是实体,联系和属性。其中最关键的联系中的映射基数,映射基数反应的是实体与实体之间相互关系,例如对于二元关系中主要是1:1,1:N,M:N的关系。

结构设计概念模型到逻辑模型主要是ER图向关系模型转换的过程,他们之间根据映射基数的转换机制:

1.若关系1:1,那么两个实体间的关系模式中任意一个关系模型的属性加入另一个关系模型的键和联系类型的属性。

卡和学生的关系为1:1,所以在卡的属性中可以把学号作为外键,也可以在学生表中把卡号作为外键。

2.若关系1:N,那么N端实体类型转换成关系模式中加入1端的实体类型主键和联系类型的属性。

如图上的注册的关系,由于卡和用户之间的关系N:1,所以在卡中拥有了用户的主键作为了卡的外键。

那么两个实体对应两个关系模式为

  卡(卡号,卡的余额,卡的类型,卡的状态,用户ID)

  用户(用户ID,用户名,密码)

3.若关系M:N,那么联系类型也准换成关系模式,其属性为两端实体类型的键(作为外键)加上联系类型的属性。

   如图上的退卡和充值的关系,由于用户和卡之间的关系是M:N,所以他们在转换成为关系模式的时候,退卡和充值就会成为两个关系模式,那么在退卡和充值,用户,卡,他们两个实体就会转换成四个关系模式,分别为

 用户(用户ID,用户名,密码)

 卡(卡号,卡余额,卡的类型,卡状态)

退卡(卡号,退卡金额,退卡日期,退卡时间,退卡用户)

充值(卡号,充值金额,充值日期,充值时间,充值用户)

   总的概括来说就是1:1或者是1:N关系,他们之间都没有添加关系模式,两个实体就会对应于两个关系模式,只是增加了主外键之间添加关系;M:N关系中,会多添加他们的联系实体作为关系模式,而且联系实体中的主键是两个实体的主键的集合。

总结:

   这是在数据库设计阶段遇到基本的问题,发现好多的问题都是非常的基础的,好好学习基础知识缘来真的这么重要,这些东西很多都来自于数据库系统原理,发现原来翻翻以前学过的书,对于以前认识的知识会得到加深。不仅仅是这一本书,希望以后的学习都是这样,学过之后就回过头看看,会有意外的惊喜!


Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值