数据库管理规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库管理规范版本号:V1.0

信息科

2017年4月

数据库管理规范

1 规范说明 (3)

2 维护管理安全规范 (3)

3设计规范 (4)

4. SQL编写规范 (7)

5. 数据库备份与恢复策略规范 (8)

6开发测试与上线安全规范 (10)

7 监控 (10)

8连接池使用规范 (11)

9 数据库重要级别划分 (11)

10 数据库安装规范 (12)

11 业务上线数据库部分规范 (13)

1 规范说明

本规范是针对数据库使用,维护管理,设计开发等。

2 维护管理安全规范

2.1数据库版本使用规范【强制】

MYSQL使用5.6.39社区版本

2.3数据库账户安全与管理规范

2.3.1 密码安全【强制】

●密码不少于8位,应包含数字,字母,字符

●密码不应该和用户名一致

●删除数据库默认空用户账户

●必须修改root密码

2.4账户安全管理【强制】

●为应用程序设立独立访问账户

●禁止开发工程师通过应用帐号登录生产数据库

●禁止QA申请线上账号与使用账号登陆线上环境进行测试

●数据库只有root用户具有最高管理权限

●备份数据库用户要单独建立,并专属备份恢复操作

●数据库安装后删除或锁闭不需要使用的数据库账号

●数据库管理员账户可以锁定和解锁其他用户

●数据库管理账户在空闲5分钟以上会自动退出

●数据库管理权限账号不能超过2个

2.5数据库日志管理规范【强制】

windows、linux 下的日志管理

●Windows系统应开启日志功能,记录系统和系统中各个进程的相关信息

●linux的操作系统要开启系统日志

●Mysql数据库如果使用了innodb引擎必须打开二进制日志

●Mysql必须打开慢日志,并且将慢日志阀值设置为1-2秒之间

●对Mysql的错误日志等要进行定期查看,定期清理和定期备份管理

2.6数据库架构规范【强制】

2.6.1 mysql数据库高可用

●MYSQL 采用复制+第三方心跳软件或者第三方集群架构(经测试后)实现近7X24小时高

可用性要求,数据库架构必须能够实现故障自动迁移,满足业务7X24小时持续服务要求

3设计规范

3.1命名规范【强制】

3.1.1表的命名

表的名称在T_后增加一个或者多个后缀,表名、字段名必须使用小写字母或数字;禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。

3.1.2视图命名:V_相关表名(或者根据需要另取名字)

3.1.3存储过程命名:PRO_存储过程名(用英文表达存储过程意义)

3.1.4函数命名:FUN_函数名称(用英文表达函数作用)

3.1.5触发器命名:TRI_触发器名称(用英文表达触发器作用)

3.1.6索引命名:I_表名_字段名(如果存在多字段索引,取每字段前三个字符加下划线组合,如:在 hyid,hyname,hymobile上建立联合索引,命名:I_表名_hyi_hyn_hym,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如:在 zhyid,zhyname,zhymobile上建立联合索引,命名:I_表_id_nam_mob)

3.1.7唯一索引命名:UI_表名_字段名(如果存在多字段唯一索引,取每字段前三个字符加下划线组合,如:在 hyid,hyname,hymobile上建立唯一索引,命名:UI_表名

_hyi_hyn_hym,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如:在zhyid,zhyname,zhymobile上建立唯一索引,命名:UI_表_id_nam_mob)

3.1.8主键命名:PK_表名_字段名(如果存在多字段主键,取每字段前三个字符加下划线组合,如:在 hyid,hyname,hymobile上建立主键,命名:PK_表名_hyi_hyn_hym,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如:在zhyid,zhyname,zhymobile上建立主键,命名:PK_表_id_nam_mob)

3.1.9外键命名:FK_表名_主表名_字段名

3.1.10Sequence命名:SEQ_表名_列名(或者根据需要另取名字)

3.2设计原则

3.2.1表的设计

●【强制】每个表,都必须要有主键。主键是每行数据的唯一标识,保证主键不可随意更

新修改,在不知道是否需要主键的时候,请加上主键,它会为你的程序以及将来查找数据中的错误等等,提供一定的帮助;

●【强制】所有的MySQL数据库除历史原因外,都必须采用UTF8编码

●【建议】一个表的某列与另一表有关联关系的时候,请在应用程序维护外键关系,如

果在数据库建立外键约束请遵循以下几点:

尽量少使用外键,在高并发下数据库会增加较大开销;

不要以数据操作不方便为理由而不建外键。加上外键以后,一些数据操作变得有些麻烦,但是这正是对数据一致性的保护

以缺省的方式建立外键(即用delete restrict方式),以达到保护数据一致性的目的;

●【强制】外键一定要建立索引。

●【建议】单表行数超过 500万行或者单表容量超过 2GB,才推荐进行分库分表

3.2.2列的设计

●【强制】字段命名必须用英文来定义,如果太长可用缩写;

相关文档
最新文档