建表规范的简单了解

基本建表规范:

  1. 自增主键一般都需要设置(id int unsigned NOT NULL AUTO_INCREMENT`);
  2. 不定长字符串长度使用varchar类型,需要考虑实际业务最长长度的基础上扩容20%到40%为宜,且长度取2的指数长为宜(64,128,256等);
  3. 定长长度使用char类型,长度直接取实际长度即可,类似于手机号字段;
  4. 所有字段除了软删除字段(delete_time),都需要设置为not null,并且设置默认值(字符串默认值为’’,整型默认值为0);
  5. 基本所有的字段,表名都加上备注,除了自增主键,创建时间,更新时间之类的通用字段。
  6. 表结构需指定存储引擎,默认字符集。
  7. 关于索引的创建,建议只创建其它表在这个的表的外键和查询频繁的字段。其它字段在业务扩展时需要及时跟进并设定。
  8. 表名和字段名以英文加下划线隔分,字段中英文单词以不超过三个单词为宜。
  9. 状态字段设置为tinyint,同时备注写清楚不同数字代表的类型。

范式标准:

基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式(数据库建表三范式简单了解与思考)的数据库设计,往往不是最好的设计。
为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间的目的。

冗余:

主键与外键在多表中的重复出现,不属于数据冗余,这个概念必须清楚。
非键字段的重复出现, 才是数据冗余。而且是一种低级冗余,即重复性的冗余。
高级冗余不是字段的重复出现,而是字段的派生出现(派生表)。
派生属性解释
比如学生实体有姓名,出生年月这些属性,
那么年龄是可以通过出生日期计算得到的。年龄就是派生属性。

视图:

对于某些与国家政治、安全利益有关的信息系统,视图的作用更加重要。
这些系统的基本表完成物理设计之后,
立即在基本表上建立第一层视图,这层视图的个数和结构,与基本表的个数和结构是完全相同。
并且规定,所有的程序员,一律只准在视图上操作。
(问题:可以直接对视图进行update,delete操作吗?
答:某些情况可以,有些情况不可以,
例如join 建视图:create view a as select * from b

数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值