文档库 最新最全的文档下载
当前位置:文档库 › 数据库规范

数据库规范

数据库规范
数据库规范

数据库相关规范

1.使用utf8mb4字符集

2.所有表、字段必须写清中文注释

3.金额字段禁止使用小数存储(单位:分)

4.禁止使用字段属性隐式转换(如:“WHERE ms_no = 1234”ms_no为字符串类型)

5.尽量不使用负向查询(NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等)

6.禁止使用外键,如有完整性约束,需要应用程序控制

7.禁止使用程序配置文件内的账号访问线上数据库

8.禁止非DBA对线上数据库进行写操作

9.开发、测试、线上环境分离

10.所以提交的SQL语句必须经过测试

11.禁止存储大文件或大照片

12.库名、表名、字段名:小写,下划线分割,不超过32个字符,必须见名知意,禁止拼

音英文混用

13.表必须有主键

14.必须把字段定义为NOT NULL并设置默认值

15.必须使用varchar(20)来存储手机号

16.单表索引控制在5个以内,单索引字段数不许超过5个

a)索引的使用。?

b)(1) 尽量避免对索引列进行计算。如计算较多,请提请管理员建立函数索引。?

c)(2) 尽量注意比较值与索引列数据类型的一致性。?

d)(3) 对于复合索引,SQL语句必须使用主索引列?

e)(4) 索引中,尽量避免使用NULL。?

f)(5) 对于索引的比较,尽量避免使用NOT=(!=)?

g)(6) 查询列和排序列与索引列次序保持一致

(7) 禁止在更新频繁、区分度不高(如:性别)的字段上建立索引

(8) 建立组合索引,必须把区分度高的字段放在前面

17.禁止使用SELECT * ,只获取必要的字段

18.禁止使用INSERT INTO t_xxx VALUES(xxx),必须指定插入的列名

19.禁止在WHERE条件的属性上使用函数或表达式

20.禁止%开头的模糊查询

21.禁止使用OR条件

22.应用程序必须捕获SQL异常,并作出相应处理

23.逻辑删除代替物理删除

24.选择最有效的表名、查询条件顺序(从右到左)

25.减少访问数据库的次数

26.SQL中的关键字均使用大写字母,数据表最好起别名

27.查询条件中“>=”代替“>”

28.等号两边使用空格,逗号后使用空格

29.多表操作必须使用别名

30.整条语句必须写明注释,关键逻辑单独书写注释,说明算法、功能

a)注释风格:注释单独成行、放在语句前面。?

b)(1) 应对不易理解的分支条件表达式加注释;?

c)(2) 对重要的计算应说明其功能;?

d)(3) 过长的函数实现,应将其语句按实现的功能分段加以概括性说明;?

e)(4) 每条SQL语句均应有注释说明(表名、字段名)。?

f)(5) 常量及变量注释时,应注释被保存值的含义(必须),合法取值的范围(可选)?

g)(6) 可采用单行/多行注释。(-- 或/* */ 方式)?

31.尽量减少使用ORDER BY与GROUP BY操作影响性能

32.所有写入上线程序的SQL语句,都必须提取保存并写清注释与所在位置模块

33.创建共享SQL语句,并写清帮助文档

34.避免变量循环赋值、使用

索引设计准则

1.应该对WHERE 子句中经常使用的列创建索引

2.应该对经常用于连接表的列创建索引

3.应该对ORDER BY 子句中经常使用的列创建索引

4.不应该对小型的表(仅使用几个页的表)创建索引,这是因为完全表扫描操作可能比使

用索引执行的查询快

5.单表索引数不超过6个

6.不要给选择性低的字段建单列索引

7.充分利用唯一约束

8.索引包含的字段不超过5个(包括include列)

9.不要给选择性低的字段创建单列索引

10.SQL SERVER对索引字段的选择性有要求,如果选择性太低SQL SERVER会放弃使用

11.不适合创建索引的字段:性别、0/1、TRUE/FALSE

12.适合创建索引的字段:ORDERID、UID等

13.充分利用唯一索引

14.唯一索引给SQL Server提供了确保某一列绝对没有重复值的信息,当查询分析器通过唯

一索引查找到一条记录则会立刻退出,不会继续查找索引

15.表索引数不超过6个

16.表索引数不超过6个(这个规则只是携程DBA经过试验之后制定的。。。)

17.索引加快了查询速度,但是却会影响写入性能

18.一个表的索引应该结合这个表相关的所有SQL综合创建,尽量合并

19.组合索引的原则是,过滤性越好的字段越靠前

20.索引过多不仅会增加编译时间,也会影响数据库选择最佳执行计划

SQL查询

1.禁止在数据库做复杂运算

2.禁止使用SELECT *

3.禁止在索引列上使用函数或计算

4.禁止使用游标

5.禁止使用触发器

6.禁止在查询里指定索引

7.变量/参数/关联字段类型必须与字段类型一致

8.限制JOIN个数

9.限制SQL语句长度及IN子句个数

10.尽量避免大事务操作

11.关闭影响的行计数信息返回

12.使用UNION ALL替换UNION

13.查询大量数据使用分页或TOP

14.递归查询层级限制

15.NOT EXISTS替代NOT IN

16.尽量避免使用OR运算符

17.增加事务异常处理机制

禁止在数据库做复杂运算

1.XML解析

2.字符串相似性比较

3.字符串搜索(Charindex)

4.复杂运算在程序端完成

5.禁止使用SELECT *

6.减少内存消耗和网络带宽

7.给查询优化器有机会从索引读取所需要的列

8.表结构变化时容易引起查询出错

禁止在索引列上使用函数或计算

假设在字段Col1上建有一个索引,则下列场景将可以使用到索引:

[Col1]=

[Col1]>100

[Col1] BETWEEN 0 AND 99

[Col1] LIKE ‘abc%’

[Col1] IN(2,3,5,7)

LIKE查询的索引问题

1.[Col1] like “abc%”? –index seek ?这个就用到了索引查询

2.[Col1] like “%abc%”? –index scan ?而这个就并未用到索引查询

3.[Col1] like “%abc”? –index scan 这个也并未用到索引查询

我想从上而三个例子中,大家应该明白,最好不要在LIKE条件前面用模糊匹配,否则就用不到索引查询。

禁止使用游标

关系数据库适合集合操作,也就是对由WHERE子句和选择列确定的结果集作集合操作,游标是提供的一个非集合操作的途径。一般情况下,游标实现的功能往往相当于客户端的一个循环实现的功能。

游标是把结果集放在服务器内存,并通过循环一条一条处理记录,对数据库资源(特别是内存和锁资源)的消耗是非常大的。

禁止使用触发器

触发器对应用不透明(应用层面都不知道会什么时候触发触发器,发生也也不知道,感觉莫名……)

禁止在查询里指定索引

With(index=XXX)(?在查询里我们指定索引一般都用With(index=XXX) ??)

随着数据的变化查询语句指定的索引性能可能并不最佳

索引对应用应是透明的,如指定的索引被删除将会导致查询报错,不利于排障

新建的索引无法被应用立即使用,必须通过发布代码才能生效

变量/参数/关联字段类型必须与字段类型一致

避免类型转换额外消耗的CPU,引起的大表scan尤为严重

限制JOIN个数

单个SQL语句的表JOIN个数不能超过5个

过多的JOIN个数会导致查询分析器走错执行计划

过多JOIN在编译执行计划时消耗很大

限制IN子句中条件个数

在IN 子句中包括数量非常多的值(数以千计)可能会消耗资源并返回错误8623 或8632,要求IN子句中条件个数限制在100个以内

尽量避免大事务操作

只在数据需要更新时开始事务,减少资源锁持有时间

增加事务异常捕获预处理机制

使用UNION ALL替换UNION

UNION会对SQL结果集去重排序,增加CPU、内存等消耗

查询大量数据使用分页或TOP

合理限制记录返回数,避免IO、网络带宽出现瓶颈

递归查询层次限制

使用MAXRECURSION 来防止不合理的递归CTE 进入无限循环

尽量避免使用OR运算符

对于OR运算符,通常会使用全表扫描,考虑分解成多个查询用UNION/UNION ALL来实现,这里要确认查询能走到索引并返回较少的结果集

增加事务异常处理机制

应用程序做好意外处理,及时做Rollback。

设置连接属性“set xact_abort on”

架构设计

读写分离

schema解耦

数据生命周期

读写分离

设计之初就考虑读写分离,哪怕读写同一个库,有利于快速扩容

按照读特征把读分为实时读和可延迟读分别对应到写库和读库

读写分离应该考虑在读不可用情况下自动切换到写端

Schema解耦

禁止跨库JOIN

数据生命周期

根据数据的使用频繁度,对大表定期分库归档

主库/归档库物理分离

日志类型的表应分区或分表

对于大的表格要进行分区,分区操作将表和索引分在多个分区,通过分区切换能够快速实现新旧分区替换,加快数据清理速度,大幅减少IO资源消耗

频繁写入的表,需要分区或分表

注释范例?

过程注释:

过程都以sp_开头,注意过程名称要符合命名要求?

参数:p_变量名_in(传入)、p_变量名_out(传出)

游标:cur_变量名

/**************************************************************************? name:sp_Write_log

parameter:p_textContext_in in varchar2 参数描述?

parameter:p_textContext_out out varchar2 参数描述?

create date:2003-04-1?

creater:创建人员

desc:过程总功能描述?

****************************************************************************/?

函数注释:

函数以f开头,命名符合命名标准

/**************************************************************************? name:f_Get_JobId?

parameter:p_Name in varchar2 参数描述

return number:返回值描述

create date:2003-04-1?

creater: 创建人员?

desc:函数总功能描述?

****************************************************************************/

视图注释?:

视图以v开头,命名符合命名标准?

/************************************************************************** name:v_Unit_Ms?

parameter:p_Name in varchar2 参数描述?

create date:2003-04-1?

creater: 创建人员

desc:视图描述

****************************************************************************/

-- SQL语句编写格式样例

-- 关键词换行,换行后空两个空格

SELECT

, -- 用户名称

,

,

COUNT(1) trueworkload -- 单位缴费个人帐户个数

FROM

t_systemuserinfo ts, -- 医疗保险单位缴费表

t_genworkflow tg,

t_batch tb,

t_companyinfotmp tc,

(

SELECT DISTINCT

batchid,

companyid,

userid,

direction,

fromwkfid,

towkfid

FROM

T_WorkflowLog

WHERE

dotime BETWEEN '2008-09-02'

AND '2008-09-03' -- 医疗保险缴费时间

) AS twfl

WHERE

=

AND =

AND =

AND =

AND = 1 -- 人员类别(1:正式员工)

AND =

GROUP BY

,

,

, ;

软件工程-数据库设计规范与命名规则

数据库设计规范、技巧与命名规范 一、数据库设计过程 数据库技术是信息资源管理最有效的手段。 数据库设计是指:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据, 满足用户信息要求和处理要求。 数据库设计的各阶段: A、需求分析阶段:综合各个用户的应用需求(现实世界的需求)。 B、在概念设计阶段:形成独立于机器和各DBMS产品的概念模式(信息世界模型),用E-R图来描述。 C、在逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。 然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。 D、在物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。 1. 需求分析阶段 需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。 需求分析的重点:调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。 需求分析的方法:调查组织机构情况、各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。 常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。 分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis, 简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。 数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。 2. 概念结构设计阶段 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。 概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一 DBMS 支持的特定数据模型。 概念模型特点: (1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。 (2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。 概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术, 用于建立系统信息模型。 使用IDEF1X方法创建E-R模型的步骤如下所示:

数据库设计规范范本

数据库设计规范

1概述 1.1目的 软件研发数据库设计规范作为数据库设计的操作规范,详细描述了数据库设计过程及结果,用于指导系统设计人员正确理解和开展数据库设计。 1.2适用范围 1.3术语定义 DBMS:数据库管理系统,常见的商业DBMS有Oracle, SQL Server, DB2等。 数据库设计:数据库设计是在给定的应用场景下,构造适用的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。 概念数据模型:概念数据模型以实体-关系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库概念级别的设计,独立于机器和各DBMS产品。能够用Sybase PowerDesigner工具来建立概念数据模型(CDM)。 逻辑数据模型:将概念数据模型转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。能够用Sybase PowerDesigner工具直接建立逻辑数据模型(LDM),或

者经过CDM转换得到。 物理数据模型:在逻辑数据模型基础上,根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。能够用Sybase PowerDesigner工具直接建立物理数据模型(PDM),或者经过CDM / LDM转换得到。 2数据库设计原则 按阶段实施并形成该阶段的成果物 一般符合3NF范式要求;兼顾规范与效率 使用公司规定的数据库设计软件工具 命名符合公司标准和项目标准 3数据库设计目标 规范性:一般符合3NF范式要求,减少冗余数据。 高效率:兼顾规范与效率,适当进行反范式化,满足应用系统的性能要求。 紧凑性:例如能用char(10)的就不要用char(20),提高存储的利用率和系统性能,但同时也要兼顾扩展性和可移植性。 易用性:数据库设计清晰易用,用户和开发人员均能容易地理解。

数据库基础操作语句

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

专题数据库建设推荐标准规范

专题数据库建设推荐标准规范 (一)数据采集规范 1.数据来源包括在人文社会科学研究过程中采集、加工和积累的研究数据。 2.采集对象包括社会调查、统计分析、案例集成、基础文献等一手数据和原始资料。 3.数据类型包括数值、文本、图片、音频、视频和空间数据等。 4.采集方式包括自动采集、半自动采集和手工采集等。 (二)数据加工规范 1.数字对象唯一标识符规范采用《我国数字图书馆标准规范建设》项目(CDLS)所推荐的唯一标识符体系以及数据中心规定的相关标准。 2.专题数据库的核心元数据应符合《TR-REC-014数据集核心元数据规范》及数据中心的相关要求。 3.音频资料描述元数据规范及著录规则,遵循《CDLS-S05-031音频资料描述元数据规范》和《CDLS-S05-032音频资料元数据著录规则》所推荐的一系列相关标准以及数据中心规定的相关标准。 4.其它资料描述元数据规范及著录规则,遵循《我国数字图书馆标准规范建设》项目(CDLS)所推荐的一系列相关标准及数据中心规定的相关标准。

5.各类接口所实现服务的标识应符合《TR-REC-017资源唯一标识规范》的相关规范要求。 6.文本、图片、音频、视频等各类型数据能够转换为数据中心规定的数字文件格式。 7.专题数据库数据的加工过程需严格执行两重审核制度,保证数据格式符合规定标准。 (三)数据库系统规范 1.专题数据库系统平台必须使用正版数据库管理系统软件,推荐使用关系数据库管理系统,遵守SQL语言系列标准。 2.专题数据库系统平台应具备数据备份及容灾机制,重要数据应进行异地备份。 3.专题数据库系统平台应具备一定的扩充能力,系统的模块化程度高,软件维护方便。 4.专题数据库系统平台应遵循中国国家标准GB/T 20273-2006《数据库管理系统安全技术要求》,具有切实可行的安全保护和保密措施,确保数据永久安全。 (四)专题数据库应用系统规范 1.专题数据库应用系统至少包括数据采集、数据加工、数据检测、数据浏览、数据检索、用户管理和数据维护七大类功能。 2.专题数据库应用系统至少支持开放数据访问接口、开放索引数据收割接口和开放服务状态监控接口三类功能接口。 3.专题数据库应用系统向数据中心提供访问完整数据记

数据库设计和编码规范

数据库设计和编码规范 Version

目录

简介 读者对象 此文档说明书供开发部全体成员阅读。 目的 一个合理的数据库结构设计是保证系统性能的基础。一个好的规范让新手容易进入状态且少犯错,保持团队支持顺畅,系统长久使用后不至于紊乱,让管理者易于在众多对象中,获取所需或理清问题。 同时,定义标准程序也需要团队合作,讨论出大家愿意遵循的规范。随着时间演进,还需要逐步校订与修改规范,让团队运行更为顺畅。 数据库命名规范 团队开发与管理信息系统讲究默契,而制定服务器、数据库对象、变量等命名规则是建立默契的基本。 命名规则是让所有的数据库用户,如数据库管理员、程序设计人员和程序开发人员,可以直观地辨识对象用途。而命名规则大都约定俗成,可以依照公司文化、团队习惯修改并落实。 规范总体要求 1.避免使用系统产品本身的惯例,让用户混淆自定义对象和系统对象或关键词。 例如,存储过程不要以sp_或xp_开头,因为SQL SERVER的系统存储过程以 sp_开头,扩展存储过程以xp_开头。 2.不要使用空白符号、运算符号、中文字、关键词来命名对象。 3.名称不宜过于简略,要让对象的用途直观易懂,但也不宜过长,造成使用不方 便。 4.不用为数据表内字段名称加上数据类型的缩写。 5.名称中最好不要包括中划线。

6.禁止使用[拼音]+[英语]的方式来命名数据库对象或变量。 数据库对象命名规范 我们约定,数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。避免中文和保留关键字,做到简洁又有意义。前缀就是要求每种对象有固定的开头字符串,而开头字符串宜短且字数统一。可以讨论一下对各种对象的命名规范,通过后严格按照要求实施。例如:

数据库设计方法、规范与技巧

数据库设计方法、规范与技巧 一、数据库设计过程 数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。 数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。 1. 需求分析阶段 需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。 需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。 需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。 常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。 分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。 数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。 数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。 数据项描述={数据项名,数据项含义说明,别名,数据类型,长度, 取值范围,取值含义,与其他数据项的逻辑关系} 数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}} 数据流描述={数据流名,说明,数据流来源,数据流去向, 组成:{数据结构},平均流量,高峰期流量} 数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流, 组成:{数据结构},数据量,存取方式} 处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流}, 处理:{简要说明}} 2. 概念结构设计阶段 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。 概念模型特点: (1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。 (2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。 概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。 使用IDEF1X方法创建E-R模型的步骤如下所示: 2.1 第零步——初始化工程

数据库设计规范

数据库设计规范 V 1.0 2007-8-28

目录 1) 目的 (3) 2) 范围 (3) 3) 术语 (3) 4) 设计概要 (3) 5) 命名规范(逻辑对象) (4) 6) 数据库对象命名 (6) 7) 脚本注释 (8) 8) 数据库操作原则 (9) 9) 常用字段命名(参考) (9)

1) 目的 为了统一公司软件开发的设计过程中关于数据库设计时的命名规范和具体工作时的编程规范,便于交流和维护,特制定此规范。 2) 范围 本规范适用于开发组全体人员,作用于软件项目开发的数据库设计、维护阶段。 3) 术语 数据库对象:在数据库软件开发中,数据库服务器端涉及的对象包括物理结构和逻辑结构的对象。 物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。一般对数据库服务器物理设备的管理规程,在整个项目/产品的概要设计阶段予以规划。 逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段/域、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计、数据库配置有关的设计以及数据库中其他特性处理相关的设计等。 4) 设计概要 ?设计环境 数据库:ORACLE 9i 、MS SQL SERVER 2000 等 操作系统:LINUX 7.1以上版本,显示图形操作界面; RedHat 9 以上版本 WINDOWS 2000 SERVER 以上 ?设计使用工具 使用PowerDesigner 做为数据库的设计工具,要求为主要字段做详尽说 明。对于SQL Server 尽量使用企业管理器对数据库进行设计,并且要求 对表,字段编写详细的说明(这些将作为扩展属性存入SQL Server中) 通过PowerDesigner 定制word格式报表,并导出word文档,作为数据 字典保存。(PowerDesigner v10 才具有定制导出word格式报表的功能)。

人口基础数据库建设规范

竭诚为您提供优质文档/双击可除人口基础数据库建设规范 篇一:全员人口数据库建设培训手册 入户调查———信息卡登记填写篇 以下几个率,我们各级检查中是要考核的,数据库的建设必须达到如下指标: 1、全员人口个案信息覆盖率要求达到95% 口个案信息覆盖率=去除重复个案后数据库包含人口数/应纳入全员库人口总数×100% 应纳入全员库人口包括本地户籍人口(含流出人口)与流入人口。 2、准确率(已采集信息正确的人数占已采集所有人数的比例)(具体计算可能要通过逻辑审核或者是实地调查核与信息卡数据库核对结果计算)95%以上。 3、项目完整率(每人约有50项采集内容,其中每人已采集项目与总项目数的比例)(在实际计算中可能选择其中几项必须填写项来计算,如逻辑审核中重点核实的缺少必填写项目审核) 4、数据库更新及时率(出生或者是四术发生变动时,

数据库是否及时变更,数据库中出生和四术的上报日期与实际的出生日期和实际避孕措施开始日期的变更不应超过三个月或者是更短日期,否则视为不及时) 以上各项指标的高低是关系到全员人口数据库建设成败与否的关键因素。 只有信息采集达到上述标准要求,才能为下一步全员录入奠定基础。 下面将全员人口信息采集步骤详细叙述如下: 一、全员人口数据库要求实现以房管人,内蒙采集规范对房屋的编码要求如下: 内蒙至村级编码示意图:(系统中已经固定编码) 村级至户级示意图:(小区至户未固定编码) 二、具体到平房或楼房中编码规则如下: 如图:这个平房小区共有三排: 第一排共一列,这一列有三院,一院大门向东开,一院里有三户人家,二院大门向南,院内有两户人家,三院有一户人家; 第二排共两列,第一列共一院,院内有两户人家,第二列共有两院,第一院有两户人家,第二院有一户人家; 第三排共一列,这一列有两院人家,第一院有两户,第二院有一户。 那么这个小区内的房屋编码依次为:

数据库设计规范

1概述 1.1目的 软件研发数据库设计规范作为数据库设计的操作规范,详细描述了数据库设计过程及结果,用于指导系统设计人员正确理解和开展数据库设计。 1.2适用范围 1.3术语定义 DBMS:数据库管理系统,常用的商业DBMS有Oracle, SQL Server, DB2等。 数据库设计:数据库设计是在给定的应用场景下,构造适用的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。 概念数据模型:概念数据模型以实体-关系 (Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库概念级别的设计,独立于机器和各DBMS产品。可以用Sybase PowerDesigner工具来建立概念数据模型(CDM)。 逻辑数据模型:将概念数据模型转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。可

以用Sybase PowerDesigner工具直接建立逻辑数据模型(LDM),或者通过CDM转换得到。 物理数据模型:在逻辑数据模型基础上,根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。可以用Sybase PowerDesigner工具直接建立物理数据模型(PDM),或者通过CDM / LDM转换得到。 2数据库设计原则 按阶段实施并形成该阶段的成果物 一般符合3NF范式要求;兼顾规范与效率 使用公司规定的数据库设计软件工具 命名符合公司标准和项目标准 3数据库设计目标 规范性:一般符合3NF范式要求,减少冗余数据。 高效率:兼顾规范与效率,适当进行反范式化,满足应用系统的性能要求。 紧凑性:例如能用char(10)的就不要用char(20),提高存储的利用率和系统性能,但同时也要兼顾扩展性和可移植性。 易用性:数据库设计清晰易用,用户和开发人员均能容

SQL数据库的基本操作

命令行 1、显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES; 2、建立数据库:mysql> CREATE DATABASE 库名; 3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名(字段名VARCHAR(20), 字段名CHAR(1)); 4、删除数据库:mysql> DROP DATABASE 库名; 5、删除数据表:mysql> DROP TABLE 表名; 6、将表中记录清空:mysql> DELETE FROM 表名; 7、往表中插入记录:mysql> INSERT INTO 表名VALUES ("hyq","M"); 8、更新表中数据:mysql-> UPDATE 表名SET 字段名1='a',字段名2='b' WHERE 字段名3='c'; 9、用文本方式将数据装入数据表中:mysql> load data local infile "d:/mysql.txt" into table 表名; 10、导入.sql文件命令:mysql> USE 数据库名;mysql> source d:/mysql.sql; 11、命令行修改root密码:mysql> update https://www.wendangku.net/doc/2f6623842.html,er set password=password('新密码') where user='root';mysql> flush privileges; 12.修改密码的三种方法:mysql>update user set password=password('') where user='joy_pen';mysql>flush privileges;mysql>set password for 'joy_oen'=password('');mysql>grant usage on *.* to 'joy_pen' identified by ''; 1、创建数据库 命令:create database <数据库名> 例如:建立一个名为xhkdb 的数据库mysql> create database xhkdb; 2、显示所有的数据库 命令:show databases (注意:最后有个s)mysql> show databases; 3、删除数据库 命令:drop database <数据库名> 例如:删除名为xhkdb的数据库mysql> drop database xhkdb; 4、连接数据库 命令:use <数据库名> 例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb; 屏幕提示:Database changed 5、当前选择(连接)的数据库mysql> select database(); 6、当前数据库包含的表信息:mysql> show tables; (注意:最后有个s) 三、表操作,操作之前应连接某个数据库 1、建表 命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default ''0'', > degree double(16,2)); 2、获取表结构 命令:desc 表名,或者show columns from 表名 mysql>DESCRIBE MyClass mysql> desc MyClass;

数据库规范

数据库相关规范 1.使用utf8mb4字符集 2.所有表、字段必须写清中文注释 3.金额字段禁止使用小数存储(单位:分) 4.禁止使用字段属性隐式转换(如:“WHERE ms_no = 1234”ms_no为字符串类型) 5.尽量不使用负向查询(NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等) 6.禁止使用外键,如有完整性约束,需要应用程序控制 7.禁止使用程序配置文件内的账号访问线上数据库 8.禁止非DBA对线上数据库进行写操作 9.开发、测试、线上环境分离 10.所以提交的SQL语句必须经过测试 11.禁止存储大文件或大照片 12.库名、表名、字段名:小写,下划线分割,不超过32个字符,必须见名知意,禁止拼 音英文混用 13.表必须有主键 14.必须把字段定义为NOT NULL并设置默认值 15.必须使用varchar(20)来存储手机号 16.单表索引控制在5个以内,单索引字段数不许超过5个 a)索引的使用。? b)(1) 尽量避免对索引列进行计算。如计算较多,请提请管理员建立函数索引。? c)(2) 尽量注意比较值与索引列数据类型的一致性。? d)(3) 对于复合索引,SQL语句必须使用主索引列? e)(4) 索引中,尽量避免使用NULL。? f)(5) 对于索引的比较,尽量避免使用NOT=(!=)? g)(6) 查询列和排序列与索引列次序保持一致 (7) 禁止在更新频繁、区分度不高(如:性别)的字段上建立索引 (8) 建立组合索引,必须把区分度高的字段放在前面 17.禁止使用SELECT * ,只获取必要的字段 18.禁止使用INSERT INTO t_xxx VALUES(xxx),必须指定插入的列名 19.禁止在WHERE条件的属性上使用函数或表达式 20.禁止%开头的模糊查询 21.禁止使用OR条件 22.应用程序必须捕获SQL异常,并作出相应处理 23.逻辑删除代替物理删除 24.选择最有效的表名、查询条件顺序(从右到左) 25.减少访问数据库的次数 26.SQL中的关键字均使用大写字母,数据表最好起别名 27.查询条件中“>=”代替“>” 28.等号两边使用空格,逗号后使用空格 29.多表操作必须使用别名 30.整条语句必须写明注释,关键逻辑单独书写注释,说明算法、功能 a)注释风格:注释单独成行、放在语句前面。? b)(1) 应对不易理解的分支条件表达式加注释;? c)(2) 对重要的计算应说明其功能;?

数据库建设规范

数据库建设规范 目录 1. 前言 2 2. 范围 3 3. 术语和定义3 范式3 关联3 关系模型 3 视图3 外键3 约束3 主键4 4. 命名规范 4 规范约定 4 表名4 视图4 存储过程 4 函数4 触发器 5 字段5 索引5 5. 数据库建设过程规范 5

概述5 需求分析阶段 6 需求调查 6 内容分析 6 概念结构设计阶段7 定义实体 7 定义关系 7 定义属性 7 定义键8 定义索引 8 定义其他对象和规则9 逻辑结构设计阶段9 数据库物理设计阶段10 实施、运行、维护规范11 6. 数据库建设安全性规范11 概述12 完整性设计12 物理安全 14 访问控制 14 数据备份 15 前言

数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。 本规范通过数据建库的命名、结构、建库过程及安全性措施等几个技术方面进行约定,目的就是提供一套规范、合理、科学的建库技术体系,应用系统提供建库技术参考。 范围 本规范主要从关系数据库的命名、关系和结构以及建设过程等几个方面来规定数据库设计应遵循的规范。 术语和定义 范式 关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。满足最低要求的叫第一范式,简称1NF。在第一范式中满足进一步要求的为第二范式,其余以此类推。一般而言,数据库的设计应至少满足第三范式。 关联 关联是不同表之间的数据彼此联系的方法。关联同时存在于形成不同实体的数据项之间和表实体本身之间,构成了数据库规范化的基本核心问题。它分为一对一、一对多、多对多三种关联形式。 关系模型 关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在 关系模型中,实体与实体间的联系都是用关系来表示的。 视图 视图是一个定制的虚拟表。可以是本地的、远程的或带参数的;其数据可以 来源于一个或多个表,或者其他视图;它是可更新的,可以引用远程表;它可以 更新数据源。视图是基于数据库的,因此,创建视图的前必须有数据库。 外键 外键是一个关系中的一组属性(一个或多个列),它同时也是某种(相同的 或其它的)关系中的主键。它是关系之间的逻辑链接。 约束

Greenplum数据库设计开发规范

G r e e n p l u m数据库设 计开发规范 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

目录

第一章前言 1.1文档目的 随着Greenplum数据库的正式上线使用。为了保证Greenplum 数据仓库系统平台的平稳运行,保证系统的可靠性、稳定性、可维护性和高性能。特制定本开发规范,以规范基于Greenplum数据库平台的相关应用开发,提高开发质量。 1.2预期读者 Greenplum数据仓库平台应用的设计与开发人员; Greenplum 数据仓库平台的系统管理人员和数据库管理员; Greenplum 数据仓库平台的运行维护人员; 1.3参考资料 参考Greenplum4.3.x版本官方指引: 《GPDB43AdminGuide.pdf》 《GPDB43RefGuide.pdf》 《GPDB43UtilityGuide.pdf》

第二章设计规范 2.1数据库对象数量 数据库对象类型包括数据表、视图、函数、序列、索引等等,在Greenplum数据库中,系统元数据同时保存在Master 服务器和Segment 服务器上,过多的数据库对象会造成系统元数据的膨胀,而过多的系统元数据造成系统运行逐步变慢;同时,类似数据库的备份、恢复、扩容等较大型的操作都导致效率变慢。因此,依据GreenplumDB产品的最佳时间,单个数据库的对象数量,应控制在10万以内。 GP数据库的对象包括:表、视图、索引、分区子表、外部表等。 如果数据表的数量太多,建议按应用域进行分库,尽量将单个数据库的表数量控制在10万以内,可以在一个集群中创建多个数据库。 【备注】:在Greenplum数据库中,一张分区表,在数据库中存储为一张父表、每张分区子表都是一张独立的库表;例如:一张按月进行分区的存储一年数据的表,如果含默认分区,共14张表。 2.2表创建规范 为了避免数据库表数量太多,避免单个数据表的数据量过大,给系统的运行和使用带来困难,在Greenplum数据库中需遵循如下的表创建规范: 1、GP系统表中保存的表名称都是以小写保存。通常SQL语句中表名对大小写不敏感。但不允许在建表语句中使用双引号(“”)包括表

数据库设计规范

1概述 1.1 目的 软件研发数据库设计规范作为数据库设计的操作规范, 详细描述了数据库设计过程及结果,用于指导系统设计人员 正确理解和开展数据库设计。 1.2 适用范围 1.3 术语定义 DBMS:数据库管理系统,常用的商业 DBMS有 Oracle, SQL Server, DB2 等。 数据库设计:数据库设计是在给定的应用场景下,构造 适用的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。 概念数据模型:概念数据模型以实体- 关系 (Entity-RelationShip, 简称 E-R) 理论为基础,并对这一理论进 行了扩充。它从用户的观点出发对信息进行建模,主要 用于数据库概念级别的设计,独立于机器和各DBMS产品。可以用 Sybase PowerDesigner工具来建立概念数据模型(CDM)。 逻辑数据模型:将概念数据模型转换成具体的数据库产 品支持的数据模型,如关系模型,形成数据库逻辑模式。可

以用 Sybase PowerDesigner工具直接建立逻辑数据模型 ( LDM),或者通过CDM转换得到。 物理数据模型:在逻辑数据模型基础上,根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。可以用 Sybase PowerDesigner 工具直接建立物理数据模型( PDM),或者通过 CDM / LDM 转换得到。 2数据库设计原则 按阶段实施并形成该阶段的成果物 一般符合3NF范式要求;兼顾规范与效率 使用公司规定的数据库设计软件工具 命名符合公司标准和项目标准 3数据库设计目标 规范性:一般符合3NF范式要求,减少冗余数据。 高效率:兼顾规范与效率,适当进行反范式化,满足应 用系统的性能要求。 紧凑性:例如能用 char(10) 的就不要用 char(20) ,提高存储的利用率和系统性能,但同时也要兼顾扩展性和可移植性。 易用性:数据库设计清晰易用,用户和开发人员均能容

数据库设计规范

- 茶马古道电子商务有限公司 数据库设计规范 V 1.0 版权所有

文档信息 作者: 创建日期(yyyy-mm-dd): 审核者: 审核日期(yyyy-mm-dd): 最后修订者: 最后修订日期(yyyy-mm-dd): 文档类型: 文档修订历史 版本号修订日期修订者修订内容1.0.0 2011.9.20 金洋初始化

数据库约定 对应于XXXX MYSQL数据库环境的数据库类型定义如下表:1 Development Database 开发环境使用 开发环境数据库 2 Quality Assurance Database 质保环境使用 质保环境数据库 3 Production Database 生产环境使用 生产环境数据库 4 Training Database 培训环境使用 培训环境数据库 5 SIT Database 集成测试环境使用集成测试环境数据库 数据库字符集选择UTF8字符集 (建库时确定) 1. 数据库元素命名规范 长度约定:字段名,表名,视图名称等长度不能超过25个字符1.1. 表命名规范 数据类型数据类型(英文)前缀 主数据Master Data Table TM 业务事务处理数据Transaction Data Table TT 关系表Relationship Table TR 代码列表Code List Table TC 接口表Interface Table TI 系统管理表System administration Table TS 日志表Log Table TL 历史表History Table TH 中间临时表Temparory table TE 汇总表Aggregation Table TA 归档表Archivie Table TZ

研发部门数据库管理规范标准[详]

版/次:2015.11.19 数据库管理规 编制:钱凌杰 审核: 批准: 分发号: XXX信息科技 2015年11月

目录 一、总则 (4) 二、适用围 (4) 三、数据库管理员主要职责 (4) 四、数据库的日常管理工作 (4) 4.1每日的管理工作 (4) 4.2数据库管理的每月工作 (5) 4.3数据库管理的每年工作 (5) 五、数据库的安全管理 (6) 5.1数据库环境安全 (6) 5.2数据库系统安装、启动与更新时的安全规定 (6) 5.3安全和口令策略 (7) 5.4访问控制 (9) 5.5紧急事故的处理 (9) 5.6数据库文件管理 (10) 5.7数据库安全管理 (10) 六、备份与恢复 (10) 6.1备份方式及策略 (11) 6.2备份要求 (11) 6.3恢复的管理 (12) 6.4对长期保存的备份进行校验 (13) 6.5异地容灾备份 (13) 七、日志及监控审计 (13) 7.1审计围 (13) 7.2日志保存 (13) 7.3日志访问 (14) 7.4安全审计 (14) 八、数据存放、归档管理 (14) 九、附则 (15)

一、总则 为规XXX信息科技(以下简称“公司”)信息系统的数据库管理和配置方法,保障信息系统稳定安全地运行,特制订本办法。 二、适用围 本规中所定义的数据管理容,特指存放在信息系统数据库中的数据,对于存放在其他介质的数据管理,参照相关管理办法执行。 三、数据库管理员主要职责 1、负责对数据库系统进行合理配置、测试、调整,最大限度地发挥设备资源优势。负责数据库的安全运行。 2、负责定期对所管辖的数据库系统的配置进行可用性,可靠性,性能以及安全检查。 3、负责定期对所管辖的数据库系统的可用性,可靠性,性能以及安全的配置方法进行修订和完善。 4、负责对所管辖的数据库系统运行过程中出现的问题及时处理解决。 5、负责对所管辖数据库系统的数据一致性和完整性,并协助应用开发人员、使用操作等相关人员做好相关的配置、检查等工作。 6、负责做好数据库系统及数据的备份和恢复工作。

数据库建设规范.doc

v1.0可编辑可修改 数据库建设规范 目录 1.前言 (3) 2.范围 (3) 3.术语和定义 (3) 范式 (3) 关联 (3) 关系模型 (3) 视图 (4) 外键 (4) 约束 (4) 主键 (4) 4.命名规范 (4) 规范约定 (4) 表名 (5) 视图 (5) 存储过程 (5) 函数 (5) 触发器 (5) 字段 (6) 索引 (6)

v1.0可编辑可修改 5.数据库建设过程规范. (6) 概述 (6) 需求分析阶段 (7) 需求调查 (7) 内容分析 (8) 概念结构设计阶段 (8) 定义实体 (8) 定义关系 (9) 定义属性 (9) 定义键 (9) 定义索引 (10) 定义其他对象和规则 (11) 逻辑结构设计阶段 (11) 数据库物理设计阶段 (12) 实施、运行、维护规范 (13) 6.数据库建设安全性规范. (14) 概述 (14) 完整性设计 (14) 物理安全 (17) 访问控制 (17) 数据备份 (18)

1.前言 数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境, 构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。 本规范通过数据建库的命名、结构、建库过程及安全性措施等几个技术方面进行约定, 目的就是提供一套规范、合理、科学的建库技术体系,应用系统提供建库技术参考。 2.范围 本规范主要从关系数据库的命名、关系和结构以及建设过程等几个方面来规定数据库设计应遵循的规范。 3.术语和定义 范式 关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。满足最低要求的叫第一范式,简称 1NF。在第一范式中满足进一步要求的为第二范式,其余以此类推。一般而言,数据库的设计应至少满足第三范式。 关联 关联是不同表之间的数据彼此联系的方法。关联同时存在于形成不同实体的数据项之间 和表实体本身之间,构成了数据库规范化的基本核心问题。它分为一对一、一对多、多对多三种关联形式。 关系模型 关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在

数据库设计规范

数据库设计规范 一、数据库设计过程 数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。 数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个dbms产品的概念模式(信息世界模型),用e-r图来描述。在逻辑设计阶段将e-r图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(view)形成数据的外模式。在物理设计阶段根据dbms特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。 1. 需求分析阶段 需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。 需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。 需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。 常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。 分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(structured analysis,简称sa方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。 数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(data dictionary,简称dd)来描述。 数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。 数据项描述={数据项名,数据项含义说明,别名,数据类型,长度, 取值范围,取值含义,与其他数据项的逻辑关系} 数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}} 数据流描述={数据流名,说明,数据流来源,数据流去向, 组成:{数据结构},平均流量,高峰期流量} 数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流, 组成:{数据结构},数据量,存取方式} 处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流}, 处理:{简要说明}}

数据库管理规范

数据库管理规范版本号: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_表名

相关文档