数据库表字段规范

1.操作规范

1.表中的第一个id字段一定是主键且为自动增长,一般为1,请使用UNSIGNED属性,主键与业务无关。
2.外键名字修改成’关联对象——id’(例如:study表patient_id),数据库不设外键约束。
3.所有字段都增加非空约束,防止业务逻辑报npe异常。
4.使用utf8mb4字符集,防止表情出现乱码。
5.所有字段增加注释。(除非显而易见)
6.每张表包含mtime,ctime字段,仍使用unsigned int。
7.时间字段使用时间戳(秒数)储存,设置默认值。
8.使用tinyint代替enum,默认值default=0,在业务中处理enum字段。
9.varchar类型设置长度为2的倍数,(32,64,128等)
10.增加null处理,比如特殊字段null,0,处理。
11.与sql 关键字,系统函数区别处理。

2.约定俗成

1.所以表名都小写,单词之间用下划线分开,单词都用单数形式。
2.主键是针对一个表的, 而不是针对一个字段,因为主键是唯一的,一个表一般只能有一个主键。
3.数据库字段一般不超过32字节。
4.double,float,改成 decimal类型。
5.int,tinyint,bigint不设置长度(设置也没用)。
6.用尽量少的存储空间来存数一个字段的数据。
7.使用常用英语(或者其他任何语言)而不要使用编码或者拼音首字母缩写

3.续言

以上只是本人在设计数据库表使用的规范,如果有好的建议或意见请及时和我联系www.codemanzz@163.com,大致的建标语句如下:

-- ----------------------------
-- Table structure for dcm_beam_limiting
-- ----------------------------
DROP TABLE IF EXISTS `dcm_beam_limiting`;
CREATE TABLE `dcm_beam_limiting` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `control_point_id` int(11) unsigned NOT NULL,
  `beam_id` int(11) unsigned NOT NULL DEFAULT '0',
  `beam_number` int(11) NOT NULL DEFAULT '0',
  `control_point_index` int(11) NOT NULL DEFAULT '0',
  `rt_beam_limiting_device_type` varchar(256) NOT NULL DEFAULT '' COMMENT '射线 限制装置类型',
  `leaf_jaw_pairs_number` int(11) NOT NULL DEFAULT '0' COMMENT '成对多页光栅的数量',
  `source_to_device_distance` decimal(20,12) NOT NULL DEFAULT '0.000000000000' COMMENT '源面距离',
  `leaf_position_boundaries` varchar(512) NOT NULL DEFAULT '' COMMENT '叶片位置边界',
  `leaf_jaw_positions` varchar(1024) NOT NULL DEFAULT '' COMMENT '多叶光栅位置',
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  `mtime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值