数据库设计心得

本文探讨了数据库设计中的核心问题,包括如何根据实际业务需求定义表结构,以及优秀数据库设计的标准,如满足业务需求、具备良好的可扩展性和易于使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

            在培训学校学习期间,老师一直很重视培养我们的(在这里只指关系数据库)数据库设计能力的提高,在软工期间很注意,现在的项目练习中又重点训练,这是我对数据库的设计不敢轻视。

  第一个问题,数据库的表依据什么来建立。

 面向对象的编程思想自产生以来经久不衰,“一切皆为对象”更是经典中的经典,这就说明在数据库设计中也可用对象的思想解决问题,那我们可以说一个表就是一个对象,而什么对象呢?那就看具体的业务了,老师一直提醒我们数据库的设计最主要的目的是为程序服务,程序依托于实际业务,这样简化一下,数据表就是实际业务存在的对象的映射。一般情况,当我们分析实际业务功能时,就已经分析出有哪些对象,基本确定要建哪几个表。比如,一个简单的新闻发布系统,最基本的有新闻、新闻类别等对象吧,如果有发布评论的业务,那评论又是一个对象,这样新闻表、新闻类别表、评论表就确定下来了。一目了然,我们就清楚这个数据库大体的框架。

第二个问题,一个优秀的数据库具备哪些标准。

 我想,首先以满足业务要求为底线,业务需要操作的数据及不同对象之间的关系在数据库表现为表中的字段齐全而不产生冗余,表与表之间的主外键关系正确清除。

其次,我们应考虑数据库的可扩张性。上一要求做到不难,而一个好的数据库设计者应该有发展的目光,比如,我们一个小组做一个旅游局的项目时,有一报表打印的功能,其报表的模版初定时就几项数据要填,对应数据库表中就几个字段,后来业务变化,报表的数据在原基础上,增加十几项,这是我们设计数据库始料未及的,结果更改了数据耗库,其结果大家重加工,产生的无用功太多。

还有,数据库的使用者首先是开发人员,那我们设计的数据库对于开发人员应该是简单方便的,是受欢迎的。这就要求我们多动脑筋,简化一些繁琐的工作,如联合查询,我们可以建立视图,又如,有几十个文本框的数据要记录在数据库中,我们可以采用二进制数据类型把所有文本框的值存储在一起。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值