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

前言:

  最近刚刚开始了机房合作,自己在其中主要参与了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关系中,会多添加他们的联系实体作为关系模式,而且联系实体中的主键是两个实体的主键的集合。

总结:

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

时间: 2024-10-28 23:16:11

[机房合作]-数据库设计的相关文章

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

GB8567--88 数据库设计说明书 1      引言 优质数据库在处理大数据的程序或系统中是有非常重要的作用的,所以对于数据库的设计有很多的要求和规定.首先数据库要有很好的可维护性.灵活性,并且数据库的算法逻辑性也要有一定的优化性,这样可以对资源进行有效利用,并且处理数据的时间也会缩短. 1.1   编写目的 由于上机的人越来越多,产生的上机数据越来越多,原始的保存方式已经不能满足数据存储的需要,所以使用数据库对各种记录进行存储.并且数据库可以节省很多的资源,如人力.时间.空间等. 数据库

机房收费系统数据库设计

之前,学习编写机房收费系统的文档时,曾写过 机房收费系统数据库概念设计模型--ER图 这篇文章,现在到了机房收费系统个人版重构阶段,需要再次进行数据库的设计.可以说,之前的数据库的概念设计给我现在的设计奠定了一定的基础,但是仍然发现自己的设计中有许多不合理并且需要改进的地方. 在这次的数据库设计当中,学习了一些数据库的命名规范,重温了经典的三范式(属性原子化,避免局部依赖,避免传递依赖).但是发现,在需求面前,一些分属两张表的字段,为了方便,还是得放到一张表中,不得不破坏三范式. 现在将自己设计

VB.NET版机房收费系统—数据库设计

之前第一遍机房收费的时候,用的数据库是别人的,认知也只能建立在别人的基础上,等自考中<数据库系统原理>这本书学完了之后,再去看以前的数据库,发现数据库真的还需要进一步的优化,下面是我设计数据库的一些见解,希望大家多提些意见. 数据库设计 E-R模型: 在观念模型设计阶段,一个系统都是建立在ER模型上的,设计好ER模型,很重要. 我设计的ER图: 系统中的实体:很简单,就是将系统中的名词都抽象出来,再具体了就是转换为数据库的逻辑设计时才要考虑的. 系统中的联系:在图中可以看得很清楚,这里我要重点

VB.Net版机房收费系统 ---数据库设计

数据库设计是根据用户需求设计数据库结构的过程,具体来说,数据库设计是对于给定的应用环境,在厝数据库理论的指导下,构造最优的数据库模式,在数据库管理系统上建立数据库及其应用系统,使之能有效地存储数据,满足用户的各种需求的过程.到底数据库该如何设计,古往今来,每个人都有每个人的想法,所以数据库设计并没有优劣之分,好坏之别,合适的数据库设计就是最好的. 走过自考--<数据库系统原理>,看过耿建玲老师的视频,对数据库设计有了一点了解,VB版的机房收费系统,直接用原来的脚本生成的数据库,当时对数据库设计

重构机房收费系统——数据库设计

曾记得,第一次编写机房收费系统的文档模板,整整有12个文档需要编写,仅仅花了两三天的时间就让师傅验收,完结项目,就这样囫囵吞枣的文档编写完成了. 要知道:欠下的账,终究是要还的.现在到了机房收费系统个人版重构阶段, (1)进行数据抽象,设计局部概念模型: (2)将局部概念模型综合成全局概念模型 (3)就可以按要求绘制机房收费系统数据库概念设计模型--ER关系图. 可以说,之前的数据库的概念设计给我奠定了一丢丢的设计基础,外加<数据库系统原理>中的三范式定理,本着求知好学.虚心请教的理念,于是乎

#【数据库】机房收费系统数据库设计

前言 前一段时间要参加自考,要考<数据库原理>,在其中也更加了解了好多数据库的问题.比如,如何创建一个好的数据库,怎么创建数据库. 图一 数据库创建框架 现在开始机房的重构,以前用的是师哥师姐设计的数据库,现在发现自己也可以设计出来了,所以,按这步骤来自己设计一个机房收费系统的数据库. 一.规划 由于机房收费系统是第二遍做的,所以在总体规划阶段很容易看出系统在技术.经济.效益.法律是可行的:目标就是要更好的搭配应用程序合理运行. 二.需求分析 这一阶段是计算机人员(系统分析员)和用户双方共同收

机房重构之数据库设计

一.画ER图 E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型.属性和联 系的方法,用来描述现实世界的概念模型. 绘制方法: ⑴确定所有的实体集合 ⑵选择实体集应包含的属性 ⑶确定实体集之间的联系 ⑷确定实体集的关键字,用下划线在属性上表明关键字的属性组合 ⑸确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型 二.将ER图转化成关系模式 1:1 :例如 CardInfo 和StudentInfo 

[Linux笔记]数据库mysql配置命令

# 检查MySQL服务器系统进程 ~ ps -aux|grep mysql mysql 1103 0.0 0.3 492648 51780 ? Ssl 14:04 0:21 /usr/sbin/mysqld sharon 15918 0.0 0.0 15940 968 pts/4 S+ 21:36 0:00 grep --color=auto mysql # 检查MySQL服务器占用端口 ~ netstat -nlt|grep 3306 tcp 0 0 127.0.0.1:3306 0.0.0.

数据库设计——三范式概念+实战

在利用三范式设计数据库的时候,以前总以为是先画完ER图,然后导出关系模式,最后用三范式去检验数据库设计的是否合理,but not!我们在一开始画ER图的时候,就应当和三范式联系起来,将错误消灭在源头.为了能最早的检验出错误,我们就要对ER图转换成关系模式的算法和三范式是如何消除冗余,避免冲突有深刻的了解,才能知道如何最早发现错误. 本文主要以机房收费系统数据库设计中的一些东西为例,结合三范式概念,简述下三范式. 一,1NF 定义: 如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是