码迷,mamicode.com
首页 > 数据库 > 详细

数据库设计简要说明

时间:2018-08-23 13:13:01      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:原型设计   不同   说明   功能设计   多次   设计思想   测试数据   网上   table   

最近,从头做一个项目,把大概的功能捋了捋,然后做出一个原型。根据原型大家讨论,提一提建议,做一些修改和完善,我们下一步的工作就是根据原型进行程序的开发。依据原型设计要求,我们首先进行数据库的设计。

数据库的设计,网上的资料比较多,设计步骤分为六个阶段,一是需求分析阶段,了解和分析用户需求,涉及数据和处理,这一步是基础。二是概念结构设计阶段,对用户的需求进行总结、归纳和抽象,形成概念模型。三是逻辑结构设计阶段,将概念模型转换为数据库系统支持的数据模型。四是数据库物理设计阶段,为数据模型选取一个合适的物理结构,主要是存储结构和存取方法。五是数据库实施阶段,根据数据模型和物理结构,创建数据库,组织测试数据,并运行数据库。六是数据库的运行和维护,根据数据的运行情况,对数据库进行适当的调整。

我们项目没有严格按照规定的步骤进行,但也是遵循这种设计思想,把数据库设计的大概步骤和注意的问题做一些记录。步骤分为3个。一是根据需求列出事实表(提法可能不准确,暂时用这个词),也就是罗列事实,比如学校的管理系统,把学生,老师,班级,课程等以事实表的形式列出来,根据需求设计适当的字段。二是考虑事实表之间的关系,考虑各个表之间的关系,然后根据关系的不同分别处理。表间关系主要有一对一,一对多,多对多。如果是一对一,原则上可以合并,但根据含义的不同也可以分开。比如学生和用户的关系,学生表可以记录学生相关的信息,用户只是学生登录时的状态,这两个表可以分开设计。一对多,这种情况比较多,比如,A表的一条记录,在B表中多次使用,可以设计成A的主键为B的外键。班级和学生的关系是典型的一对多。多对多,这时候就需要中间表来完成,比如学生和老师就是多对多的关系,可以通过课程表作为中间表,建立老师和学生的联系,如果没有这种合适的中间表,也可以直接创建一个tableA_tableB_node的中间表。第三个步骤就是建立根据表间关系建立数据库,然后再进行功能分析,可以尝试着写接口文档,看数据结构能不能满足接口要求,如果不能实现接口功能,再进一步调整数据库。

一些注意的问题,要确定中心,围绕着那个业务展开,则这个业务表要位于整个数据库的中心,其它表(人和物)都和它有关联。交易系统就是订单,上课管理系统就是课表,等等。对A表中的数据进行分组,根据分组进行不同功能设计,可以加入group表,作为A表的外键。每个表的外键应该用不同的名称,即外键不能重复,否则在创建表的过程中会报错。

数据库设计简要说明

标签:原型设计   不同   说明   功能设计   多次   设计思想   测试数据   网上   table   

原文地址:https://www.cnblogs.com/coodream2009/p/9523013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!