工作中对数据库设计有什么经验

工作中对数据库设计有什么经验

以下描述仅仅是个人经验总结,仅供参考!!! 我认为数据库设计分为库和表的设计,所以从这两方面着手介绍。 库的设计 1、数据库名称要明确,可以加前缀或后缀的方式,使其看起来有业务含义,比如数据库名称可以为Business_DB(业务数据库)。 2、在一个企业中,如果依赖很多产品,但是每个产品都使用同一套用户,那么应该将用户单独构建一个库,叫做企业用户中心。 3、不同类型的数据应该分开管理,例如,财务数据库,业务数据库等。 4、由于存储过程在不同的数据库中,支持方式不一样,因此不建议过多使用和使用复杂的存储过程。为数据库服务器降低压力,不要让数据库处理过多的业务逻辑,将业务逻辑处理放到应用程序中。 表设计 1. 数据库表命名,将业务和基础表区分,采用驼峰表示法等。 2. 数据不要物理删除,应该加一个标志位,以防用户后悔时,能够恢复 。 3. 添加时间,有添加时间可以明确知道记录什么时候添加的 4. 修改时间,可以知道记录什么时候被修改了,一旦数据出现问题,可以根据修改时间来定位问题。比如某人在这个时间做了哪些事。 5. 基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式的数据库设计,往往不是 最好的设计。为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间 的目的 6. 若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实 体。这样,原来一个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配 到三个实体中去 7.对于主键的设计: 1. 不建议用多个字段做主键,单个表还可以,但是关联关系就会有问题,主键自增是高性能的。导入导出就有问题 2. 一般情况下,如果有两个外键,不建议采用两个外键作为联合主建,另建一个字段作为主键。除非这条记录没有逻辑删除标志,且该表永远只有一条此联合主键的记录。 3. 一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主键(因为它无子孙), 但必须要有外键(因为它有父亲)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值