1 / 23
文档名称:

mysql数据库设计规范.doc

格式:doc   大小:209KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

mysql数据库设计规范.doc

上传人:48216984 2021/5/9 文件大小:209 KB

下载得到文件列表

mysql数据库设计规范.doc

文档介绍

文档介绍:mysql,数据库设计规范
篇一:MySQL设计规范
MySQL设计规范
MYSQL 设 计 规

1
1. 数 据 库 设

1


1
表 和 字 段 命

1 字 段 结

2 SQL 语

2 性 能 与 效

3 定 长 与 变 长

3 运 算 与 检

.•… 3 结构优化与索引优

4查询优

4 兼容性问题和效率查询语

6 分享一些 SQL 语

7

字段
表和字段命名
MySQL常见的表类型介绍:
A:MylSAM 数据表又分为 MylSAM Satic (静态 MylSAM)、
My ISAM Dynamic (动态 My I SAM)、My I SAM Compressed (压缩 MyISAM)o
B:InnoDB占用空间大,但是支持事务处理。
C: HELP表类型是放在内存中的速度很快。
所有数据表名称,只要其名称是可数名词,则必须以 复数方式命名,例如:oms_members (用户表)、 oms_serverlist(主机表);存储多项内容的字段,或代表数 量的字段,也应当以复数方式命名,例如: params (parameters,自定义代码的参数个数)。
当几个表间的字段有关连时,要注意表与表之间关联字 段命名的统一,如omsgroup表中的id与groupcorr表中的 id。(举例)
代表id自增量的字段,通常用以下几种形式:
9
9
?最常用的核心id,或经常在URL中进行调用的,尽 量用简写的形式,例如tid、pid、uid;有功能性作用,URL 中偶尔用到的id,使用全称的形式,例如pluginid;没有 功能性作用,只为管理和维护方便而设的id,可以使用全称
的形式,也可只将其命名为
ido
字段结构
允许NULL值的字段,数据库在进行比较操作时,会先 判断其是否为NULL,非NULL时才进行值的比对。因此基于 效率的考虑,所有字段均不能为空,即全部NOT NULL;
预计不会存储非负数的字段,例如各项id、数量等, 必须设置为UNSIGNED类型。UNSIGNED类型比非UNSIGNED类 型所能存储的正整数范围大一倍,因此能获得更大的数值存 储空间;
存储开关、选项数据的字段,通常使用tinyint (1)非 UNSIGNED类型,少数情况也可能使用enum()结果集的方式。 tinyint作为开关字段时,通常1为打开;0为关闭;T为 特殊数据,例如N/A(不可用);高于1的为特殊结果或开关 二进制数组合;
任何类型的数据表,字段空间应当本着足够用,不浪 费的原则,数值类型的字段取值范围见下表:
SQL语句
所有SQL语句中,除了表名、字段名称以外,全部语 句和函数均需大写,应当杜绝小写方式或大小写混杂的写法。 例如select * from members;是不符合规范的写法。
很长的SQL语句应当有适当的断行,依据JOIN、FROM、 ORDER BY等关键字进行界定。
通常情况下,在对多表进行操作时,要根据不同表名 称,对每个表指定一个「
2个字母的缩写,以利于语句简洁 和可读性。
如下的语句范例,是符合规范的:
性能与效率
定长与变长表
包含任何varchar、text等变长字段的数据表,即为 变长表,反之则为定长表。
?对于变长表,由于记录大小不同,在其上进行许多 删除和更改将会使表中的碎片更多。需要定期运
行OPTIMIZE TABLE以保持性能。而定长表就没有这个 问题;
?如果表中有可变长的字段,将它们转换为定长字段 能够改进性能,因为定长记录易于处理。但在试
图这样做之前,应该考虑下列问题:
?使用定长列涉及某种折衷。它们更快,但占用的空 间更多。char(n)类型列的每个值总要占用n个
字节(即使空串也是如此),因为在表中存储时,值的 长度不够将在右边补空格;
?而vdrchar(n)类型的列所占空间较少,因为只给它 们分配存储每个值所需要的空间,每个值再加
一个字节用于记录其长度。因此,如果在char和 varchar类型之间进行选择,需要对时间与空间作出折衷;
?变长表到定长表的转换,不能只转换一个可变长字 段,必须对它们全部进行转换。而且必须使用一
个ALTER TABLE语句同时全部转换,否则转换将不起 作用;
9
?有时不能使用定长类型,即使想这样做也不行。例 如对于比255字符更长的串,没有定长类型;在设计表结 构时如果能够使用定长数据类型尽量用定长的,因为定长表 的查询、检索、更新

最近更新