首页 > 数据库 >数据库设计心得-软件2005-讨口子队

数据库设计心得-软件2005-讨口子队

时间:2022-11-04 21:36:23浏览次数:37  
标签:需求 概念模型 CDM 数据库 实体 2005 设计 心得

数据库设计心得

撰写人:赵春生、王思涵

一、数据库设计的重要性

数据库设计软件开发的过程中起着很大的作用,如若不进行数据库设计就进行开发,很可能会导致诸如设计与需求不符、性能低下、数据完整性丧失、可扩展性性差、非必要数据冗余量大、不利于计算或统计、没有详尽的数据记录信息、表之间的耦合性大、字段设计考虑不周等问题。数据库设计在整个软件开发的起到的举足轻重的作用,它与需求设计是相辅相成的,软件设计的整个过程环环相扣,后一过程是建立在前一过程正确的前提基础之上的。如果在数据库设计阶段发现纰漏,可以进行需求修改,如果到了实际开发阶段发现这个错误,那么我们就要把从把整个设计全部遍历才能在进行错误的修改,越到后面发现设计上的问题,所付出的代价越大,修改的难度也越大。

二、数据库设计的原则

1、数据库设计最起码要占用整个项目开发的40%以上的时间

2、数据库设计不仅仅停留于页面demo的表面

3、数据库设计完成后,项目80%的设计开发在脑海中就已经完成了

4、数据库设计时就要考虑到效率和优化问题

5、添加必要的(冗余)字段

6、设计合理的表关联

7、设计表时不加主外键等约束性关联,系统编码阶段完成后再添加约束性关联

8、选择合适的主键生成策略

三、需求分析

对于每个项目,数据库的设计都是很重要的。设计数据库需要考虑各方面的因素,比如数据是否可维护,数据是否冗余等,同时也关系到接口开发实现的难度。所以在设计之前我们先对需求进行分析,通过对需求的分析来确定需要的表。

我们使用 PowerDesigner 进行设计概念模型CDM,再由概念模型导出SQL语句、物理模型数据字典等。

四、CDM设计

根据之前讨论需要的表及字段创建实体

然后确定各实体间的关系一对一、一对多、多对多(我们队刚开始在这里出错搞混了实体间的关系),然后创建出CDM:

 

这是我们概念模型的整体截图

需要注意的是,要满足第三范式同时也要注意一些命名的规范

创建好CDM可根据自己需求使用PowerDesigner的Tolls导出PDM、SQL语句、数据字典

五、心得体会

遇到的问题

1、再设计CDM时,由于是分工写实体,所以存在许多重复的地方

2、在确定实体间关系时没有查相关资料,除了一对一、一对多、多对多,还写了一些其他东西,最后在老师的指正下修改过来(实体关系只有一对一、一对多、多对多三种)

3、在写实体的字段时,对是否需要增加外键存在疑惑

收获:

通过这次数据库设计,帮助我们重新梳理了一遍需求,也让我们对用PowerDesigner来进行设计更加熟悉,对数据库设计有了一次宝贵的实战经验

标签:需求,概念模型,CDM,数据库,实体,2005,设计,心得
From: https://www.cnblogs.com/3309-c/p/16859159.html

相关文章

  • 数据库设计心得-软件2003坤坤说的都队
    数据库设计心得项目连锁门店管理系统数据库设计思路设计思路:我们小组根据开会讨论,初步确定了10个数据表,后根据边耐政老师的数据库评审意见,添加了角色表、用户表、权限......
  • 数据库设计心得——五班再卷紫砂辣
    数据库设计心得——五班再卷紫砂辣项目简介与背景“新冠”疫情爆发后,“健康码”通过大数据赋能,为统筹做好疫情防控和加快恢复生产生活秩序提供了有力支撑。“健康码”起......
  • 数据库设计心得--百万项目组
    数据库设计心得--百万项目组前言在软件工程导论课程中,我们通过分析业务需求来构建数据库实体对象,以及通过PowerDesigner完成了本项目的数据库概念模型、物理模型的设计。......
  • 学习笔记——base标签、加密方式、JDBC、将java中添加的数据增加到数据库中
    2022-11-03一、base标签1、作用:用于添加web项目的前缀。2、放置位置:放置在head标签内部,一般放在首行。3、使用方式:<basehref="/项目名称/">,在html网页中的其他(例如:图......
  • 关系型数据库VS非关系型数据库
    关系型数据库:mysql库表行列结构关系型数据库的以下问题逐渐凸显:●难以应付每秒上万次的高并发数据写入。●查询上亿量级数据的速度极其缓慢。●修改表结构困难非关......
  • 数据库设计心得
    项目连锁门店管理系统太美丽了HNU队数据库概述1.数据(1)数据库中存储的基本对象,是描述事物的符号记录(如存储某一个人(2)数据的种类包括文字、图形、图象、声音(3)数据的......
  • python操作mysql数据库
    一、python连接MySQL####1.基本语法#(1)创建连接hostuserpassworddatabase这四个参数必须写conn=pymysql.connect(host="127.0.0.1",user="root",passw......
  • 数据库设计心得-软4什么都做不队
    数据库设计心得项目名称:基于知识图谱的课程考核系统成员:高玉榕张龙飞梁海文陈依诺苟珊珊丑怡丹使用工具我们使用了powerdesigner工具来进行数据库的建模数据库:my......
  • 数据库设计心得-4班-代码怎么敲都队
    团队介绍项目名称:基于深度学习的人体生理数据监测系统指导老师:荣辉桂小组名称:代码怎么敲都队小组成员:崔光博(PM)、安冠东、海日娜、刘文韬、冯秋怡数据库设计目标1.涵......
  • Oracle数据库知识总结
    一、Sql语句1.1查询语句order排序(其中含有null)查询雇员的奖金并做降序排序(关于nullsfirst/nullslast)​​​selectename,commfromemporderbycommdescnulls......