0
点赞
收藏
分享

微信扫一扫

数据库设计知识大杂烩


   由于下周需要给小学弟学妹补知识,我趁这个机会将自己的数据库相关的知识体系化一下。 

   数据库设计基础规范:

             必需使用InnoDB存储引擎。

             必需使用UTF-8字符集

             数据表,数据字段必需加入中文注释

             禁止使用存储过程,视图,触发器,Event

             禁止存储大文件或者大照片。

数据库设计命名规范:

             只允许使用内网域名,而不是ip连接数据库。

             库名,表明,字段名:小写,下划线风格,不超过32个字符,必需见名知意,禁止拼音与中英文混用。

             表名: t_xxx; 非唯一索引名:  idx_xxx, 唯一索引名:   uniq_xxx

数据库设计表设计规范:

             单表列数必须小于30

             表必须有主键,如自增主键

             禁止使用外键,如有完整性约束,需用程序控制

字段设计规范:

             必须把字段定义为NOT NULL 并且提供默认值

             禁止使用Text,Blob类型。

             必须使用varchar(20)存储手机号

             禁止使用ENUM,使用TINYINT代替。

SQL使用规范:

             禁止使用 SELECT * ,只获取必要的字段,需要显示说明列属性。

             禁止使用 INSERT INTO t_xxx  VALUES(xxx),必须显示指定插入的列属性

             禁止使用属性隐式转换。

             禁止大表使用子查询以及JOIN查询。

             禁止使用OR条件,必须改为IN查询。

-------------------------------------------------------------------------------------------------------------------------------------------

      突然发现一个问题,就是里面的问题比较空,或者说自己的经验还是比较少,没有再实际的环境中遇到这样的问题。还是去互联网再去补充一点。。。。  

  命名规范:

          禁止使用mysql 保留关键字

          临时表必须以tmp_为前缀并以日期为后缀。

          备份表必须以bak_为前缀并以日期为后缀

    设计规范:

           禁止在表中建立预留字段

           不要使用uuid,md5,hash ,字符串列作为主键。

        

举报

相关推荐

0 条评论