数据库管理规范
版本号:
信息科
hyid,hyname,hymobile上建立唯一索引,命名:UI_表名
—4
精选文档
_hyi_hyn_hym,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下
划线组合,如:在zhyid,zhyname,zhymobile上建立唯一索引,命名:UI_表
_id_nam_mob)
:PK_表名_字段名(如果存在多字段主键,取每字段前三个字符加下划
线组合,如:在hyid,hyname,hymobile上建立主键,命名:PK_表名_hyi_hyn_hym,如果
前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如:在zhyid,zhyname,zhymobile上建立主键,命名:PK_表_id_nam_mob)
:FK_表名_主表名_字段名
:SEQ_表名_列名(或者根据需要另取名字)
【强制】每个表,都必须要有主键。主键是每行数据的唯一标识,保证主键不可随意更
新修改,在不知道是否需要主键的时候,请加上主键,它会为你的程序以及将来查找数据中的错误等等,提供一定的帮助;
【强制】所有的MySQL数据库除历史原因外,都必须采用UTF8编码
【建议】一个表的某列与另一表有关联关系的时候,请在应用程序维护外键关系,如
果在数据库建立外键约束请遵循以下几点:
尽量少使用外键,在高并发下数据库会增加较大开销;
不要以数据操作不方便为理由而不建外键。加上外键以后,一些数据操作变得有些麻烦,但是这正是对数据一致性的保护
以缺省的方式建立外键(即用deleterestrict方式),以达到保护数据一致性的目的;
【强制】外键一定要建立索引。
【建议】单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表
【强制】字段命名必须用英文来定义,如果太长可用缩写;
—5
精选文档
【强制】相应类型数据存入相应类型字段(如:数字=>NUMBER,日期
=>DATE,定长字符=>CHAR,变长字符=>VARCHAR2等)否则会自动进行不必要的类型转换,降低性能,破坏数据完整性
【强制】表达是与否概念的字段,必须使用is_xxx的方式命名,数据类
型是unsignedtinyint(1表示是,0表示否)
【强制】小数类型为decimal,禁止使用float和double
【建议】varchar是可变长字符串,不预先分配存储空间,长度不要超过
5000,如果存储长度大于此值,定义字段类型为text,独立出来一张表,用主键来对应,避免影响其它字段索引效率
【建议】字段的宽度要在一定时间内足够用,但也不要过宽,占用过多的
存储空间;
【建议】除非必要,否则尽量不加冗余列。所谓冗余列,是指能通过其他
列计算出来的列,或者是与某列表达同一含义的列,或者是从其他表复制过来的列等等。冗余列需要应用程序来维护一致性,相关列的值改变的时候,冗余列也需要随之修改,而这一规则未必所有人都知道,就有可能因此发生不一致的情况。如果是应用的特殊需要,或者是为了优化某些逻辑很复杂的查询等操作,可以加冗余列;
【强制】业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引
【强制】超过三个表禁止join。需要join的字段,数据类型保持绝对一
致;多表关联
【强制】查询时,保证被关联的字段需要有索引
【强制】在varchar字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,
【强制】页面搜索严禁左模糊或者全模糊,如果需要请走搜索引擎来解决
—6
精选文档
【制】如果有orderby的景,注意利用索引的有序性。orderby最
后的
数据库管理规范 来自淘豆网m.daumloan.com转载请标明出处.