数据库基础

前言:

最近在做一个信息收集的小项目,一个星期,开始感觉时间挺富裕的因为需要的技巧什么啦可以说有现成的代码,稍微改动就行了,现在快到期了,数据库设计90%的完工,之前认为数据库设计没什么,现在在云姐的带领下,感觉数据库设计还是值得总结一下的,这里主要说一下字段的命名规范还有类型介绍,如果有时间就写一些类型选择,先写吧~

正文:

之前Wuli阿里公开了一pdf版的《Java开发手册》,大家都说好,以小菜现在的水平对这个还没有什么体会,不过~业界良心这个称赞是不为过滴

第三章有说mysql数据库,大家都是数据库、上下五百年差不了多少,就以MySQL为例了(一家之言,以后学习深入这句话可能就不是我说的了)


建表规约;

命名采用26个英文字母(区分大小写)和0-9这十个自然数,加上下划线'_'组成,共63个字符.不能出现其他字符(注 释除外).

是与否:

命名为:is_xxx,类型为;类型:unsigned tinyint(1为是,0为否);unsigned:将数字类型无符号化tinyint字段类型,一个TINYINT型数据只占用一个字节,一个INT型数据占用四个字节。

表、字段名:

小写字母、数字,两个字母中间要加“_”

禁止数字开头、2个"_"之间只有数字

表名不使用复数名词,最好的命名:业务名_表作用:tiger_task

禁用保留字(很多地方都有这样的要求)

小数类型:decimal,如果超过decimal范围,将数据拆成整数和小数、分开存储

长度超过5000,类型text且独立一张表,用主键对应,避免影响其他字段索引效率

必备字段:id、类型:unsigned bigint(整数值超过int,gmt_create,gmt_modified:类型data_time

索引

主键索引:pk_      唯一索引:uk_      普通索引:idx_

业务上具有唯一特性的字段,即使是多个字段的组合,也必须建立唯一索引(什么意思?)

超过三个表禁用join,join字段类型一致;多表关联查询,被关联字段需要有索引

varchar建立索引,指定索引长度:可根据count(distinct left(列名,索引长度))、count(*)区分度决定长度

建立索引时,等号条件列之前:where  a> ?  and b = ? X 错错错,是我的错,后面歌词是什么

推荐做法:注释及时跟上

字段适当冗余、冗余字段:不频改、非varchar、text

三年后预计单表行数超过500万行,单表容量超过2GB(宝宝表示惊呆了)推荐分库分表

pojo

布尔属性不能加is,数据库字段必须加

网路上的资源:

命名<=30个字符,采用英文字符,不要空格

库:

使用前缀,1、正式数据库:前有;2、备份数据库:正式库名_备份时间

表:

1、正式 :前缀(表明应用)_***:论坛前缀:cdb    博客:supe:前缀<=5字

2、备份:正式表名_时间

字段:

1、单词组合完成,首字母小写,后面单词的首字母大写,最好是带表名前缀(单词间_)

2、

更新数据库不要改动无变化的字段

java中的几个O(实体类)的区别


对应类型推荐:


索引:http://blog.csdn.net/desow/article/details/4683241


评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值