搜档网
当前位置:搜档网 › 数据库设计规范_编码规范

数据库设计规范_编码规范

数据库设计规范_编码规范
数据库设计规范_编码规范

数据库编码规范

1 目的

为了统一公司软件开发的设计过程中关于数据库设计时的命名规范和具体工作时的编程规范,便于交流和维护,特制定此规范。

2 范围

本规范适用于全体开发人员,作用于软件项目开发的数据库设计、维护阶段。

3 术语

? 数据库对象:在数据库软件开发中,数据库服务器端涉及的对象包括物理结构和逻辑结构的对象。

? 物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。一般对数据库服务器物理设备的管理规程,在整个项目/产品的概要设计阶段予以规划。

? 逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段/域、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计、数据库配置有关的设计以及数据库中其他特性处理相关的设计等。

4 设计概要

4.1 设计环境

a) ORACLE 11G R2

数据库

ORACLE 11GR2

操作系统

LINUX 6以上版本,显示图形操作界面

b) MS SQL SERVER 2005

数据库

SQL SERVER 2005企业版

打sp3以上补丁和安全补丁

操作系统

WINDOWS 2008 SERVER

4.2 设计使用工具

a) 使用PowerDesigner做为数据库的设计工具,要求为主要字段做详尽说明。对于SQL Server 尽量使用企业管理器对数据库进行设计,并且要求对表,字段编写详细的说明(这些将作为扩展属性存入SQL Server中)

b) 通过PowerDesigner定制word格式报表,并导出word文档,作为数据字典保存,格式。(PowerDesigner v10 才具有定制导出word格式报表的功能)。对于SQL Server 一旦在企业管理器进行数据库设计时加入扩展属性,就可以通过编写简单的工具将数据字典导出。

c) 编写数据库建数据库、建数据库对象、初始化数据脚本文件

4.3 设计原则

a) 采用多数据文件

b) 禁止使用过大的数据文件,unix系统不大于2GB,window系统不超过500MB

c) oracle数据库中必须将索引建立在索引表空间里。

d) 基本信息表在建立时就分配足够的存储空间,禁止其自动扩展功能

e) 大文本字列、blob列要独立出一张表,此表只有id和blob(或大文本)列

f) 为每一个数据库创建独立的管理员用户,使用该用户进行设计,尽量不要使用sa或者系统管理员身份进行数据库设计。

4.4 设计的更新

a) 在设计阶段,由数据库管理员或指定的项目组其一成员进行维护。

b) 运行阶段,由数据库管理员进行维护。

c) 如对表结构进行修改,应先在数据字典文档进行修改,最后在数据库中进行修改。如果修改的是数据库字典表,必须由数据库管理员进行。

d) 编写更新的SQL代码,如果使用PowerDesigner,禁止由PowerDesigner直接连数据库进行数据库操作(如果是更改表或者字段的说明性文字可以通过数据库管理器图形界面进行修改)

e) 修改数据库要通过SQL,禁止其它方式对数据进行修改

f) 修改数据库的SQL要添加说明后保存备查

5 命名总体原则

? 设定的前缀一律用小写字母

? 标识名称命名全部小写

? 整个命名的全长不得超过30个字母

? 全部使用字母和下划线…_?,不能使用中文和其他字符,有特别情况允许使用末尾数字编号。例如:t_Finace1, t_Finace2...

? 命名名称来自于业务,全部采用英文单词

? 英文单词过长可以采用通用的缩写,尽量表达出业务的含义

? 如需要两个以上的英文单词做标识名称,单词之间要用下划线…_?连接

? 名称全是由名词组成的,名词由大范围到小范围排序取名

? 完成某功能的名称,如函数和过程,以动宾形式取名

6 命名规范(逻辑对象)

6.1 数据库结构命名

a) 数据库命名

数据库的命名要求使用与数据库意义相关联的英文字母,即<业务系统名称>。

例如:china care 数据库的命名为ccnet;

客户资料数据库的命名为Customer_Info。

b) 数据库日志设计命名

数据库日志的的命名以<数据库名>_<日志名>.log格式命名。其中,<日志名>为有意义的数据库日志名称。

例如:ccnet_logredo.log

c) 数据库配置设计命名

数据库配置设计方案是以文件形式保存的,其内容是关于特定数据库的配置项目的具体值。

数据库配置文件的命名以:<数据库类型简写〉_<应用系统标志>_cfg.ini格式命名。

其中,数据库类型简写见附件2《数据库类型简写》,cfq表示该文件是数据库配置文件。

例如:ORA_ ccnet_cfg.ini

d) 数据库复制与存储设计命名

数据库复制与存储设计方案是以文件形式保存的,其内容是关于特定数据库之间的复制策略的具体细节。

数据库复制与存储设计文件的命名以:<数据库类型简写>_<应用系统标志>_rep.txt格式命名。

其中,数据库类型简写见附件2《数据库类型简写》,rep表示该文件是数据库复制与存储文件。

e) 数据库连接设计命名

数据库连接设计方案是以文件形式保存的,其内容是关于特定分布式数据库之间的连接设计的具体细节。

数据库连接设计文件的命名以:<数据库类型简写>_<应用系统标志>_dbl. sql格式命名。其中,数据库类型简写见附件2《数据库类型简写》,dbl表示该文件是数据库连接设计文件。

f) 表空间、数据文件命名(主要针对Oracle)

索引表空间:

表空间命名格式:ts<系统标识>_i

数据库文件命名格式:ts<系统标识>_i[n].dbf

临时表空间:

表空间命名格式:ts<系统标识>_t

数据库文件命名格式:ts<系统标识>_t[n].dbf

回滚表空间:

表空间命名格式:ts<系统标识>_r

数据库文件命名格式:ts<系统标识>_r[n].dbf

数据表空间:

表空间命名格式:ts<系统标识>_d

数据库文件命名格式:ts<系统标识>_d[n].dbf

注:表空间名不超过8位,n 可取00-99或0-9,根据系统数据量确定。

6.2 数据库对象命名

a) 表

表的命名必须以“t_”(Table缩写)开头,格式为:t_[系统标识]_<数据表类型标识>_<表标识>。

其中,[ ]表示可选项,依据实际情况而增加;<表标识>要求与表意义相关联的英文字母,例如:t_Customers。

数据表大致分为:业务数据表、基本编码表、辅助编码表、系统信息表、累计数据表、结算数据表、决策数据表;

基本编码表用base标志

累计数据表用count标志

系统信息表用info标志 ...

例如:t_trade_base_trade_code,t_trade_info_help ...

b) 字段/域

根据业务要求进行命名,不需设定固定的前缀。

c) 索引

针对数据库表中一个或多个字段建立的索引的命名格式应以“idx_”开头,索引列名间用_隔开,即为idx_ColumnName1_ColumnName2_…

其中,ColumnName1是数据库表中(第一个)索引字段的名称或名称简写;ColumnName2是数据库表中(第二个)索引字段的名称或名称简写;索引名的总长必需符合数据库的规定。

例:idx_cert_number (表示在字段cert_number上创建索引)

为了避免重名索引出现,可选命名方式为idx_<表名>_<递增号>作为索引的命名,但是要求在数据字典中进行详细说明

d) 视图

视图的命名必须以“v_”(View 缩写)开头,格式为:v_<视图类型>_[系统标识] _<视图标识>。

其中,视图类型参见“表的分类说明”;[系统标识_]是可选项,依据情况而增加;<视图标识>应与视图意义相关联的英文字母。

例:v_user_detail_info

e) 存储过程

存储过程的命名必须符合sp_[系统标识]_<存储过程标识>格式。

其中,sp表示是存储过程;[系统标识]为可选项,依据情况而增加;<存储过程标识>是与存储过程意义相关联的英文字母,例如:USP_Query_Write_to_Disk。

例:sp_check_user_auth(以动宾方式取名)

f) 触发器

触发器的的命名必须符合tr_<表名>_格式。

其中,tr表示是触发器;是与触发器意义相关联的英文字母。

例:tr_user_info_iu(表示对user_info表进行插入、更新的触发器)

g) 函数

函数的命名必须符合fn_[系统标识]_<函数标识>格式。

其中,fn表示是函数,[系统标识]为可选项,依情况而定;<函数标识>是与函数意义相关联的英文字母。

例:fn_create_id(以动宾方式取名)

h) 自定义数据类型

自定义数据类型的命名格式为:ud_<自定义数据类型标识>_<数据类型>

i) Default(缺省)

Default(缺省)的命名格式一般为:df_;对于非绑定的默认可取系统默认的名字,请参见第8.1点实例绑定具体字段。

例:df_begin_date缺省开始日期…20030101?

if exists (select * from sysobjects where type = 'D' and name = 'df_begin_date')

drop default dbo.df_begin_date

go

create default df_begin_date as '20030101'

go

j) Check、Constraint(约束)

约束的命名格式一般为:ck_<表名>_ ;一些约束可直接放在生成表的语句中。

例:ck_flag参见第8.1点实例,约束字段flag只能取字符…0?到…9?:

constraint ck_flag CHECK (flag between '0? and '9? )

k) Rule(规则)

规则的命名格式一般为:rl_;对于非绑定规则(约束) 可取系统默认的名字,参见第10点设计实例绑定具体字段。

例:rl_not_zero(定义一个不等于0的规则)

if exists (select * from sysobjects where type = 'R' and name = 'rl_not_zero')

drop rule dbo.rl_not_zero

go

create rule rl_not_zero as @i<> 0

go

l) 主键

主键的命名格式为pk_<表名>_<主键标识>。

例:pk_user_info_userid(表user_info以字段userid创建主键)

m) 外键

外键的命名格式为fk_<表名>_<主表名>_<外键标识>。

可选命名方式为fk_<表名>_<递增号>作为索引的命名,但是要求在数据字典中进行详细说明

例:fk_user_info_department_deptid(在表user_info的字段department_id上创建外键,参照主表department)

n) 同义词(ORACLE)

同义词的命名格式为:sy_<同义词标识>

例:sy_user_info(为所有权属于ben的表user_info的公共同义词)

7 脚本注释

7.1 存储过程或触发器

a) 每一个存储过程或触发器都要在最前面写注释,注释如下

/*

writer:

create date:

ver:

Depiction:

remark:

*/

另外,过程中声明的重要变量要有注释,例如:

@iActionFlag int = 0 /* 0 => Checkout, 1 =>GetLatest, 2 =>UndoCheckOut */ b) 如果只对存储过程或触发器进行部分修改时须添加以下注释:

/*rewriter:add(rewriter):date:<格式:YYYY-MM-DD> start1:

修改描述:

*/

/* 原代码内容*/(修改时)

/*rewriter:date:<格式:YYYY-MM-DD> end1:*/

/*rewriter:add(rewriter):date:<格式:YYYY-MM-DD> start2:*/

新代码内容

/*rewriter:date:<格式:YYYY-MM-DD> end2:*/

c) 如果对存储过程或触发器有较大的修改,可增加修改内容的注释。

/*Log Id:

rewriter:

rewrite date:<格式:YYYY-MM-DD>

Depiction:

*/

7.2 自定义函数

a) 每一个自定义函数都要在其前面写注释,注释如下

/*

function name:xxxx

Depiction:<对此函数的描述>

param(a,b)

a 功能或描述....

b功能或描述

output: x x=0表示..... x=1 表示......

writer:

create date:<创建日期,格式:YYYY-MM-DD>

ver:

remark:

* /

另外,函数中声明的重要变量要有注释,例如:

@iActionFlag int = 0 /* 0 => Checkout, 1 =>GetLatest, 2 =>UndoCheckOut */

b) 如果只对函数进行部分修改时须添加以下注释:

/*rewriter:add(rewriter):date:<格式:YYYY-MM-DD> start1:

修改描述:

*/

/* 原代码内容*/(修改时)

/*rewriter:date:<格式:YYYY-MM-DD> end1:*/

/*rewriter:add(rewriter):date:<格式:YYYY-MM-DD> start2:*/ 新代码内容

/*rewriter:date:<格式:YYYY-MM-DD> end2:*/

c) 如果对函数有较大的修改,可增加修改内容的注释。

/*Log id:

rewriter:

rewrite date:<修改日期,格式:YYYY-MM-DD>

Depiction:

*/

8 数据库操作原则

8.1 建立、删除、修改库表操作

? 在开发环境中,对于自己的库表可任意进行修改、删除操作;但需保留相应的建表语句和说明,与建表人建表时间。

8.2 添加、删除、修改表数据

? 在开发环境中,开发人员所开发模块独自使用的库表,可自由操作表中数据;

? 对其他模块关联的库表,应取得其他模块的开发人员同意后再执行操作;

? 系统的信息表、字典表的修改应向数据库的管理员提出操作需求,由数据库的管理员执行操作。

9 常用字段命名(参考)

9.1 系统信息常用字段

字段名称

字段代码

ORACLE

SQLSERVER

说明

用户标识

user_id

char(8)

char(8)

用于登录应用系统的标识, 填写数字。一般做主键,要填满长度。

用户名称

user_name

varchar2(20)

varchar(20)

用户标识对应的名称

组标识

grp_id

char(4)

用户所属的组标识,填写数字。一般做主键,要填满长度。

组名称

grp_name

varchar2(50)

varchar (50)

组标识对应名称

组权限标识

grp_auth_id

char(2)

char(2)

由低到高,从00到99。要填满长度

组权限名称

grp_auth_name

varchar2(50)

varchar (50)

组权限标识对应名称

密码

password

varchar2(30)

varchar(30)

9.2 客户个人信息常用字段

字段名称

字段代码

ORACLE

SQLSERVER

说明

客户标识

customer_id

char(?)

业务系统使用的客户标识,一般做主键,不用可变长类型。要填满长度。

客户姓名

customer_name

varchar2(50)

varchar(50)

部门标识

dept_id

char(?)

char(?)

一般做主键,不用可变长类型。要填满长度。

部门名称

dept_name

varchar2(50)

varchar(50)

性别

sex

char(1)

char(1)

F/M

以下没有标识的,直接在字段中填写具体值

婚姻状况

marriagestatus

varchar2(50)

varchar(50)

出生日期

birthday

date

smalldatetime

身高

hight number(5,2) dec(5,2)

单位为厘米

体重

weight number(5,2) dec(5,2)

单位为公斤

民族

nationality varchar2(20) varchar(20)

联系电话

phone varchar2(50) varchar(50)

家庭电话

home_phone varchar2(50) varchar(50)

办公电话1 office_phone1 varchar2(50) varchar(50)

办公电话2 office_phone2 varchar2(50) varchar(50)

区号

zone

varchar2(20) varchar(20)

传真号码

office_fax varchar2(50) varchar(50)

移动电话

mobil_phone varchar2(50) varchar(50)

电子信箱

email varchar2(50) varchar(50)

邮政编码

post_code varchar2(20) varchar(20)

国籍

country

varchar2(50) varchar(50)

居住省province varchar2(20) varchar(20)

居住市

city

varchar2(20) varchar(20)

家庭住址home_addr varchar2(80) varchar(80)

办公地点

office_addr varchar2(80) varchar(80)

证件号码

cert_number varchar2(50) varchar(50)

证件名称

cert_name varchar2(20) varchar(20)

职业标识

occupation_id

char(4)

char(4)

要填满长度

职业名称

occupation

varchar2(50)

varchar(50)

教育程度

education

varchar2(20)

varchar(20)

9.3 铺助信息常用字段

字段名称

字段代码

ORACLE

SQLSERVER

说明

记录状态标识

flag

char(1)

char(1)

A/D…

A:有效;D:删除;S:暂停…

记录序号

id

number

int

9.4 业务信息常用字段字段名称

字段代码

ORACLE SQLSERVER

说明

业务发生日期

oper_date

date

smalldate

开始日期

begin_date

date

smalldate

结束日期

end_date

date

smalldate

操作日期

curr_date

date

smalldate

操作员编号

user_id

char(4)

char(4)

即为系统信息中的用户标识

发生额

number(7,2)

dec(7,2)

余额

balance

number(10,2)

dec(10,2)

描述

description

varchar2(50)

varchar(50)

10 设计实例(SQL SERVER 2005参考)

10.1 表、主键、外键、索引、规则、约束名称:t_base_user

中文名称:用户基本信息表

简单说明:存放用户的基本信息

数据仓库模型的设计

2.5数据仓库模型的设计 数据仓库模型的设计大体上可以分为以下三个层面的设计151: .概念模型设计; .逻辑模型设计; .物理模型设计; 下面就从这三个层面分别介绍数据仓库模型的设计。 2.5.1概念模型设计 进行概念模型设计所要完成的工作是: <1>界定系统边界 <2>确定主要的主题域及其内容 概念模型设计的成果是,在原有的数据库的基础上建立了一个较为稳固的概念模型。因为数据仓库是对原有数据库系统中的数据进行集成和重组而形成的数据集合,所以数据仓库的概念模型设计,首先要对原有数据库系统加以分析理解,看在原有的数据库系统中“有什么”、“怎样组织的”和“如何分布的”等,然后再来考虑应当如何建立数据仓库系统的概念模型。一方面,通过原有的数据库的设计文档以及在数据字典中的数据库关系模式,可以对企业现有的数据库中的内容有一个完整而清晰的认识;另一方面,数据仓库的概念模型是面向企业全局建立的,它为集成来自各个面向应用的数据库的数据提供了统一的概念视图。 概念模型的设计是在较高的抽象层次上的设计,因此建立概念模型时不用考虑具体技术条件的限制。 1.界定系统的边界 数据仓库是面向决策分析的数据库,我们无法在数据仓库设计的最初就得到详细而明确的需求,但是一些基本的方向性的需求还是摆在了设计人员的面前: . 要做的决策类型有哪些? . 决策者感兴趣的是什么问题? . 这些问题需要什么样的信息? . 要得到这些信息需要包含原有数据库系统的哪些部分的数据? 这样,我们可以划定一个当前的大致的系统边界,集中精力进行最需要的部分的开发。因而,从某种意义上讲,界定系统边界的工作也可以看作是数据仓库系统设计的需求分析,因为它将决策者的数据分析的需求用系统边界的定义形式反映出来。 2,确定主要的主题域 在这一步中,要确定系统所包含的主题域,然后对每个主题域的内

数据库设计规范范本

数据库设计规范

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),提高存储的利用率和系统性能,但同时也要兼顾扩展性和可移植性。 易用性:数据库设计清晰易用,用户和开发人员均能容易地理解。

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

数据库设计规范、技巧与命名规范 一、数据库设计过程 数据库技术是信息资源管理最有效的手段。 数据库设计是指:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据, 满足用户信息要求和处理要求。 数据库设计的各阶段: 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.1采购范围与基本要求 收集智慧园区建设涉及的国家标准、行业标准、管理规范、技术标准和信息标准,编写XX高新区开发区智慧园区的接口规范、信息交换标准、元数据标准等。1.1.2建设内容要求 (1)编写 《XX高新区开发区智慧园区元数据信息标准》 《XX高新区开发区智慧园区数据代码规范目录》 《XX高新区开发区智慧园区数据交换方式》 《XX高新区开发区智慧园区数据交换内容标准》 《XX高新区开发区智慧园区数据接口标准》 《XX高新区开发区智慧园区数据采集规范》 《XX高新区开发区智慧园区数据处理规范》 《XX高新区开发区智慧园区数据质量规范》 《XX高新区开发区智慧园区数据管理制度》 《XX高新区开发区智慧园区系统运维管理规范》 《XX高新区开发区智慧园区文档管理制度》 《XX高新区开发区智慧园区运营管理标准》 (2)收集 (住建部智慧城市文件(2013年4月) 《智慧城市公共信息平台建设指南(试行)》 《智慧城市评价模型及基础评价指标体系》(全国通信标准化技术委员会) 《基于云计算的电子政务公共平台顶层设计指南》(工信部,2013年4月) 《政务信息资源目录体系》(GB/T21063-2007) 《政务信息资源交换体系》(GB/T21062-2007) 《信息技术大数据术语》(20141191-T-469) 《信息技术大数据参考架构》(20141191-T-469)

《关系数据管理系统技术要求》(GB/T28821-1012) 《城市基础地理信息系统技术规范》 《关于促进智慧城市健康发展的指导意见》 《关于积极推进“互联网+”行动的指导意见》 《促进大数据发展行动纲要》 《国家信息化发展战略纲要》 《国家电子政务工程建设项目管理暂行办法》 《国家信息化领导小组关于我国电子政务建设指导意见》 《国家电子政务总体框架》 《城市地下管线工程档案管理办法》(住建部2005年) 《城市地下空间开法利用管理规定》(建设部59号、第108号) 《电信建设管理办法》(国发委第20号) 《2006—2020年国家信息化发展战略》 1.2设计方案 XX高新区智慧园区是一个大规模的建设工程。该工程以业务系统的相关数据为业务处理核心,以其它相关部门为信息交换对象,实现跨机构的大型综合与分布式的信息化系统。 面对这样一个大型的信息系统,XX高新区智慧园区建设首先必须建立完善的标准体系和相关制度。保障XX高新区智慧园区生态XX高新区智慧园区建设标准的可持续发展能力,实现真正意义上的互联互通。 1.2.1标准在系统建设中的作用 XX高新区智慧园区建设与标准规范建设是相辅相成的。一方面,生态XX高新区智慧园区各项内容的建设必须遵循标准和规范,其设计、开发和实施等需要标准和规范进行指导;另一方面,标准和规范的制订和维护离不开生态XX高新区智慧园区的建设实践,标准和规范必需符合实际需求,随着生态XX高新区智慧园区建设的不断建设和推广,标准和规范也要根据生态XX高新区智慧园区建设的进展不断完善。 没有规矩不成方圆,生态XX高新区智慧园区及其配套体系的建设需要相应的标准和规范进行指导。标准和规范具有以下指导作用:

数据库表及字段命名、设计规范

数据库表及字段命名、设计规范1、命名规范 1.1数据表的命名规范: 1)表的前缀应该用系统或模块的英文名的缩写(全部大写或首字母大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称的缩写作为前缀,否则以各模块的英文名称缩写作为前缀。例如:如果有一个模块叫做BBS(缩写为BBS),那么你的数据库中的所有对象的名称都要加上这个前缀:BBS_ + 数据库对象名称,BBS_CustomerInfo标示论坛模块中的客户信息表。 2)表的名称必须易于理解,使用能表达表功能的英文单词或缩写英文单词,无论是完整英文单词还是缩写英文单词,单词首字母必须大写。如果当前表可用一个英文单词表示的,请用完整的英文单词来表示;例如:系统资料中的客户表的表名可命名为:SYS_Customer。如果当前表需用两个或两个以上的单词来表示时,尽量以完整形式书写,如太长可采用两个英文单词的缩写形式;例如:系统资料中的客户物料表可命名为:SYS_CustItem。 3)表的名称一般使用名词或者动宾短语 4)表名称不应该取得太长(一般不超过三个英文单词)。 5)在命名表时,用单数形式表示名称。例如,使用Employee,而不是Employees。 6)对于有主明细的表来说。明细表的名称为:主表的名称+ 字符Dts。例如:采购定单的名称为:PO_Order,则采购定单的明细表为:PO_OrderDts 对于有主明细的表来说,明细表必须包含两个字段:主表关键字、SN,SN字段的类型为int 型,目的为与主表关键字联合组成明细表的关键字,以及标示明细记录的先后顺序,如1,2,3……。 7)表必须填写描述信息

奥鹏大工19秋《SQL数据库课程设计》模板及要求

答案+我名字 学习中心: 专业: 年级:年春/秋季 学号: 学生: 题目: 1.谈谈你对本课程学习过程中的心得体会与建议? 2.严格按照《SQL数据库课程设计要求》完成课程设计。 《SQL数据库课程设计》要求 《SQL数据库课程设计》是大连理工大学网络教育学院计算机应用技术专业开展的一项实践教学环节,是理论联系实践的纽带和桥梁,是培养学生综合运用所学知识解决实际问题的有效手段。该课程设计要求如下: 1.要求学生以SQL Server 2008或其他版本为后台数据库,以VB、VC或其他开发工具作为前台开发工具,围绕自己选定的某一个具体的系统完成一个小型数据库应用系统的开发,例如《图书管理系统的设计与实现》《书店管理系统的设计与实现》等。其课程设计具体内容包括项目概况、需求分析、详细设计等。 2.要求学生必须撰写题目及心得体会,按照《SQL数据库课程设计模板》提供的格式和内容进行课程设计,完成课程设计模板提供的全部课程设计内容,字数要求达到3000字以上。

3.学生在进行课程设计的过程中,可参考辅导教师在导学资料中上传的文献资料,有问题可通过课程论坛答疑。 4.学生提交本课程设计形式 学生需要以WORD附件形式(附件的大小限制在10M以内)将完成的课程设计以“离线作业”形式上传至课程平台中的“离线作业”模块,通过选择已完成的课程设计,点“上交”即可,如下图所示。 5.课程设计批阅 老师会在离线作业关闭后集中批阅课程设计,在离线作业截止时间前不进行任何形式的批阅。 注意:本课程设计应该独立完成,不准抄袭他人或者请人代做,如有雷同作业,成绩以零分计。 下文为《SQL数据库课程设计模板》

数据仓库设计指南

数据仓库设计指南 在一般的数据仓库应用系统中,根据系统体系结构的不同,数据仓库设计的内容和范围不尽相同,并且设计方法也不尽相同,下面的两幅图示分别表示带有ODS的数据仓库应用系统体系结构和不带ODS的数据仓库应用系统体系结构。本文将说明两个体系结构上的差异以及这种差异造成的设计方法的不同,并且重点介绍带有ODS的体系结构中数据仓库的设计方法。GV1 =p}` 在数据仓库的设计指导思想中,数据仓库的概念定义是非常重要的,数据仓库概念规定了数据仓库所具有的几个基本特性,这些特性也正是对数据仓库设计结果进行检验的重要依据。M)_m= }d 根据Bill.Inmon的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统”。_R)tJ Ro ODS(Operational Data Store)是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据。4\&P~kI 一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用:#:1< R\H6m 1)在业务系统和数据仓库之间形成一个隔离层。[t"C/;S! 一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中,从这些业务系统对数据进行抽取并不是一件容易的事。因此,ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极大降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。,8mPV{U KU 2)转移一部分业务系统细节查询的功能 Cr

数据库设计和编码规范

数据库设计和编码规范 Version

目录

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

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

数据库表字段命名规范

数据库表字段命名规范 摘要:当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度 的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则 不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字 段命名规范来解决优化这些问题。 本文是一篇包含了数据库命名、数据库表命名、数据库表字段命名及SQL语言编码的规 范文档,针对研发中易产生的问题和常见错误做了一个整理和修改,为日后涉及到数据库相 关的研发工作做好准备。 一、数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线 '_'组成,命名简洁明确,多个单词用下划线'_'分隔,一个项目一个数据库,多 个项目慎用同一个数据库 二、数据库表命名规范 2.1数据表命名规范 (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下 划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔 (2)全部小写命名,禁止出现大写 (3)禁止使用数据库关键字,如:name,time ,datetime,password等 (4)表名称不应该取得太长(一般不超过三个英文单词) (5)表的名称一般使用名词或者动宾短语 (6)用单数形式表示名称,例如,使用 employee,而不是 employees 明细表的名称为:主表的名称+字符dtl(detail缩写) 例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl (7)表必须填写描述信息(使用SQL语句建表时)

2.2命名规范 ①模块_+功能点示例:alllive_log alllive_category ②功能点示例:live message ③通用表示例:all_user 2.3待优化命名示例 ①冗余: 错误示例:yy_alllive_video_recomment yy_alllive_open_close_log 说明:去除项目名,简化表名长度,去”yy_” ②相同类别表命名存在差异,管理性差 错误示例:yy_all_live_category yy_alllive_comment_user 说明:去除项目名,统一命名规则,均为”yy_alllive_”开头即可 ③命名格式存在差异 错误示例:yy_showfriend yy_user_getpoints yy_live_program_get 说明:去除项目名,统一命名规则,动宾短语分离且动宾逻辑顺序统一 三、数据库字段命名规范 3.1字段命名规范 (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔 (2)全部小写命名,禁止出现大写 (3)字段必须填写描述信息 (4)禁止使用数据库关键字,如:name,time ,datetime password 等(5)字段名称一般采用名词或动宾短语 (6)采用字段的名称必须是易于理解,一般不超过三个英文单词 (7)在命名表的列时,不要重复表的名称

大工19春《SQL数据库课程设计》模板及要求辅导答案

《数据库课程设计》 题目:电子书城系统的设计与实现 学习中心: XX 专业: XX 年级:年春/秋季 学号: XX 学生: XX

一、谈谈你对本课程学习过程中的心得体会与建议? 答:转眼间,学习了一个学期的计算机操作系统课程即将结束。 在这个学期中,通过老师的悉心教导,让我深切地体会到了计算机操作系统的一些原理和具体操作过程。在学习操作系统之前,我只是很肤浅地认为操作系统只是单纯地讲一些关于计算机方面的操作应用,并不了解其中的具体操作过程和实用性。通过这一学期的学习,我才知道操作系统(Operating System,简称OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 正是由于这门课和以前关系不大,很多知识也从未接触过,因此对于这门课的学习方法就是:理论课上认真听老师讲理论知识,上机课上仔细看老师的演示过程、在电脑上按照老师的演示步骤自己做,遇到自己无法做出来的过程(步骤)请教老师或者同学。 建议:学校除了安排学生要上的SQL教学的理论课之外,还应安排适当节数的实验课,最好是理论课和实验课在一周上,这样同学们更能高效快速的记住所学知识,实验课上教师可以给每位同学分配一个小的系统让他们去做,或者是找一个项目案例先让同学们自己研究,然后教师再和同学们一起分析探讨,这样就能更好的理解和掌握SQL语句。 增强同学们之间的交流,同班同学之间肯定对知识的掌握程度不一样,在课堂上适当的增加学生之间的交流,严格要求他们课下也要多交流,这样通过交流取长补短,学生之间的差距就会缩小。 二、 1 项目概况 本章需简单介绍具体使用的哪个版本SQL数据库,选用的前台开发工具以及自己所设计的具体什么系统。 2.1 SQL 数据库简介 SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记 1

数据仓库编程规范

未经允许,不可全部或部分发表、复制、使用于任何目的

文档修订摘要

1引言 编写目的 编写《数据仓库开发规范(dbsql系统)(1.0)》的目的是: dbsql封装了访问db2,oracle,greenplum,Sybase 和Teradata数据库的方法,形成了一套访问db2,oracle,greenplum,sybase和Teradata数据库的统一接口。dbsql不仅提供了对db2,oracle,greenplum,sybase和Teradata访问方法的统一,而且提供了一些方法屏蔽5个数据库之间sql语言的差别。这样对于应用程序,只需要编写一套代码,就可以操纵db2,oraclee,greenplum,sybase和Teradata数据库,对开发工程师而言,只用熟悉sql92的标准sql和此文档sql函数就 本文档供以下相关人员阅览: ◆参于数据仓库设计评审的专家人员; ◆参与数据仓库软件开发的软件部人员; ◆参与数据分析系统测试人员。 1.1 背景介绍 ◆开发的软件系统的名称:数据仓库编程规范 ◆开发单位:数据分析部 ◆系统使用单位: ◆该软件系统是数据仓库底层开发跨平台异构数据仓库的基础平台 1.2 术语定义 1.3 参考资料 参考资料共包括: ◆《Tcl/Tk 编程权威指南》 ◆《Expert One on One: Oracle》

◆《Oracle 数据库DBA专题技术精粹》 2DBsql环境配置 2.1 目录设置 2.2 环境变量 主要环境变量设置包括: $DBSQL:程序安装点,开发时设置为个人目录。 $AGENTLOGDIR:Scehdule Server日志采集目录,通常设置为$DBSQL/log $AGENTTRACEDIR:日志及TRACE文件目录。(Schedule Server不采集,可用于存放调试信息) $TOOLS:存放tcl运行环境包及异构数据库编译的动态包安装目录。 用户可以在用户目录下创建.profile文件,例如:

数据库设计规范

数据库设计规范 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常用单词已经进行了缩写,在命名过程当中,根据语义拼凑缩写即可。注意,由于ORCAL 数据库会将字段名称统一成大写或者小写中的一种,所以要求加上下划线 举例: 定义的缩写Sales: Sal 销售; Order: Ord 订单; Detail: Dtl 明细; 则销售订单名细表命名为:Sal_Ord_Dtl; 2.如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。举例: 定义的缩写Material Ma 物品; 物品表名为:Material, 而不是Ma. 但是字段物品编码则是:Ma_ID;而不是Material」。 3.所有的存储值列表的表前面加上前缀Z 目的是将这些值列表类排序在数据库最后。 4.所有的冗余类的命名(主要是累计表)前面加上前缀X 冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段。或者表 5.关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写。 关联表用于保存多对多关系。 如果被关联的表名大于10个字母,必须将原来的表名的进行缩写。如果没有其他原因,建 议都使用缩写。 举例:表Object与自身存在多对多的关系,则保存多对多关系的表命名为:R_Object ; 表Depart和Employee;存在多对多的关系;则关联表命名为R_Dept_Emp 6.每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义,如果是数据库自动生成的编码,统一命名为:ID;如果是自定义的逻辑上的编码则用缩写加“ID” 的方法命名。 举例:销售订单的编号字段命名:Sal_Ord」D ;如果还存在一个数据库生成的自动编号,则 命名为:ID。

软件数据库设计报告模板

软件数据库设计报告模板

软件数据库设计报告文档模板 1. 引言4 1.1编写目的 (4) 1.2项目来源 (5) 1.3文档约定 (5) 1.4预期读者和阅读建议 (5) 1.5参考资料 (6) 2. 数据库命名规则7 3. 数据库设计说明7 3.1数据库逻辑设计 (7) 3.2数据库物理设计 (8) 3.3数据库分布 (8) 3.4基表设计 (10) 3.5视图设计 (13) 3.6索引设计 (15) 3.7完整性约束 (17) 3.8授权设计 (18) 3.9触发器设计 (19) 3.10存储过程设计 (20) 3.11数据复制设计 (21) 4. 词汇表24 5. 历史数据处理25

1. 引言 引言是对这份数据库设计说明书的概览,是为了帮助阅读者了解这份文档是如何编写的,并且应该如何阅读、理解和解释这份文档。 1.1 编写目的 说明这份数据库设计说明书是为哪份软件产品编写的,开发这个软件产品意义、作用以及最终要达到的意图。通过这份数据库设计说明书

详尽准确地描述了该软件产品的数据库结构。如果这份数据库设计说明书只与整个系统的某一部分有关系,那么只定义数据库设计说明书中说明的那个部分或子系统。 1.2 项目来源 具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括: ●任务提出者; ●软件开发者; ●产品使用者。 1.3 文档约定 描述编写文档时所采用的各种排版约定。排版约定应该包括: ●命名方法; ●提示方式; ●通配符号: ●等等。 1.4 预期读者和阅读建议 列举本数据库设计说明书所针对的各种不

数据仓库的数据标准化思路.docx

数据仓库的数据标准化思路 数据标准化 对于大型公司而言,各个下层子公司都使用自己本地的业务系统,当这些子公司数据往上汇总到总公司时,常常出现代码不一致,数据歧义等等各种各样的问题,在这种情况下,数据标准化就变得不得不行了。 典型的例子,比如医院,大型医院往往包含多个分院,而分院都是用自己的业务系统。业务数据采集汇总后,发现数据结构及数据本身出现歧义,无法直接使用。因此,就不得不对本院及分院的业务数据进行标准化处理,避免歧义,使数据更真实可用,简单易理解。 数据标准化处理应当注意两个关键点: 1.一号对应一对象。 以病人为例,病人可能在各分院及本院都注册建档,因此同一病人可能在各分院都有不同的ID号,但数据采集到本院,与本院数据合并后,进行标准化处理,应保证此病人具有新的唯一ID号。同时需保留病人曾经的各分院及本院ID号,便于其他分院数据的关联(如分院的病人缴费数据需要关联原始分院号码,之后以标准化后唯一ID号,进入本院系统)。 2.事实数据标明数据来源。 如病人缴费信息,因为缴费事实产生的位置不同,需要进行来源标注,分清本院及各分院,便于数据理解及之后的查询和统计。 在构建DW时的数据标准化处理流程上,可以考虑通过以下方式来完成。 标准化准备 在标准化处理之前,需要对DW表格结构进行一些处理,使得标准化过程易于实施,也保证标准化的结果更易于理解。 对于不同的表格上,所需新增的字段也不尽相同。下面分类进行说明: 维表 比如病人信息,科室信息,员工信息,设备信息等,新加字段如下:

事实表 如病人缴费,医生处方,手术记录等,新加字段如下: 数据标准化处理 在数据标准化的处理过程中,也应分为两步进行处理,先进行维表的代码(如ID号)标准化,然后将事实表中的记录以标准化后的代码配合原来的事实信息(如缴费)及数据来源标记(哪个分院)采集到DW 标准事实表中。 维表标准化 1.维表标准化以病人维表为例进行说明 2.将本院及各分院的维表数据采集到DW标准库的缓冲区(可将本院及各分院数据放置于缓冲区的不同用户 下)

数据库设计规范

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.常用单词已经进行了缩写,在命名过程当中,根据语义拼凑缩写即可。注意,由于ORCAL 数据库会将字段名称统一成大写或者小写中的一种,所以要求加上下划线 举例: 定义的缩写 Sales: Sal 销售; Order: Ord 订单; Detail: Dtl 明细; 则销售订单名细表命名为:Sal_Ord_Dtl; 2.如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。 一、【操作规范】 1. 如无备注,则表中的第一个id字段一定是主键且为自动增长; 2. 如无备注,则数值类型的字段请使用UNSIGNED属性; 3. 如无备注,排序字段order_id在程序中默认使用降序排列; 4. 如无备注,所有字段都设置NOT NULL,并设置默认值; 5. 如无备注,所有的布尔值字段,如is_hot、is_deleted,都必须设置一个默认值,并设为0; 6. 所有的数字类型字段,都必须设置一个默认值,并设为0; 7. 针对varchar类型字段的程序处理,请验证用户输入,不要超出其预设的长度; 8. 建表时将数据字典中的字段中文名和属性备注写入数据表的备注中(“PK、自动增长”不用写); 9. 如无说明,建表时一律采用innodb引擎; 二、【常用表名约定】 0. 说明:表前缀用项目名称首字母缩写;所以表名都小写,单词之间用下划线分开,单

词都用单数形式 1. user –用户 2. category –分类 3. goods –商品、产品等一切可交易网站的物品都用此命名 4. good_gallery –物品的相册 5. good_cate –物品的分类,除了单独作为表名,其他地方分类单词一律用缩写cate 4. attr –属性 5. article –文章、新闻、帮助中心等以文章形式出现的,一般都用此命名 6. cart –购物车 7. feedback –用户反馈 8. order –订单 9. site_nav –包括页头和页尾导航 10. site_config –系统配置表 11. admin –后台用户【RBAC标准表】 12. role –后台用户角色【RBAC标准表】 13. access –后台操作权限,相当于action【RBAC标准表】 14. role_admin –后台用户对应的角色【RBAC标准表】 15. access_role –后台角色对应的权限【RBAC标准表】 16. 待续 三、【常用列名约定】 1. 表名_id –通常用作外键命名 2. cid –特殊的编号,带有元数据,方便关联查询,你可以把它理解成类别(层次)编号。举个例子,产品在分类时,往往需要将其归类到子分类下,相应的字段中也一般只记录子分类的id,这时若需要知道该产品属于哪个主分类,就需要通过子分类信息再查询到主分类信息,这是比较麻烦的,cid字段就是要解决这个问题。一般的站点几十个分类肯

《数据库设计规范》(参考Word)

神州泰岳 数据库设计规范 北京神州泰岳软件股份有限公司2010年11月11日

文档属性 文档变更 文档送呈

目录 1 前言 (6) 2 数据库的设计方法及流程 (7) 2.1 设计方法 (7) 2.2 设计流程 (8) 2.2.1 需求分析阶段 (8) 2.2.2 概念结构设计阶段 (9) 2.2.3 逻辑设计阶段 (9) 2.2.4 物理设计阶段 (9) 2.2.5 数据库实施阶段 (10) 2.2.6 数据库运行维护阶段 (10) 2.2.7 建模工具 (10) 3 数据库设计规范 (11) 3.1 数据库规范化的五个要求 (11) 3.1.1 要求一:表中应该避免可为空的列 (11) 3.1.2 要求二:表不应该有重复的值或者列 (11) 3.1.3 要求三:表中记录应该有一个唯一的标识符 (12) 3.1.4 要求四:数据库对象要有统一的前缀名 (12) 3.1.5 要求五:尽量只存储单一实体类型的数据 (12) 3.2 对象命名规范 (13) 3.2.1 规则 (13) 3.2.2 表命名规范 (14) 3.2.3 字段命名规范 (14) 3.2.4 索引命名规范 (15) 3.2.5 分区命名规范 (16) 3.2.6 视图/物化视图命名规范 (16) 3.2.7 触发器/函数/存储过程命名规范 (17) 3.3 数据库编程规范 (17) 3.3.1 书写规范 (17)

3.3.2 注释规范 (20) 3.3.3 语法规范 (23) 3.3.4 SQL性能规范 (26) 3.3.5 JOB使用规范 (34) 3.4 索引使用规范 (34) 3.4.1 创建索引原则 (34) 3.4.2 索引使用建议 (35) 3.4.3 总结 (40) 3.5 分区表使用规范 (40) 3.6 物理设计规范 (41) 3.6.1 环境配置 (41) 3.6.2 数据库配置 (41) 3.6.3 其他参数配置 (42) 3.6.4 控制文件 (42) 3.6.5 日志文件 (43) 3.6.6 表空间及数据文件设计原则 (43) 4 数据库安全规范 (45) 4.1 用户密码规范 (45) 4.2 用户权限规范 (48) 4.2.1 不同应用分配不同帐号 (48) 4.2.2 删除或锁定无关帐号 (48) 4.2.3 限制SYSDBA远程登录 (48) 4.2.4 限制业务用户权限 (48) 4.2.5 对用户的属性进行控制, (48) 4.2.6 启用数据字典保护 (48) 4.3 数据库监听规范 (49) 4.3.1 需要时为监听设置密码 (49) 4.3.2 需要时设置信任IP集 (49) 5 数据库评审 (50)

大数据仓库建设方案设计

第1章数据仓库建设 1.1数据仓库总体架构 专家系统接收增购项目车辆TCMS或其他子系统通过车地通信传输的实时或离线数据,经过一系列综合诊断分析,以各种报表图形或信息推送的形式向用户展示分析结果。针对诊断出的车辆故障将给出专家建议处理措施,为车辆的故障根因修复提供必要的支持。 根据专家系统数据仓库建设目标,结合系统数据业务规范,包括数据采集频率、数据采集量等相关因素,设计专家系统数据仓库架构如下: 数据仓库架构从层次结构上分为数据采集、数据存、数据分析、数据服务等几个方面的内容: 数据采集:负责从各业务自系统中汇集信息数据,系统支撑Kafka、Storm、Flume

及传统的ETL采集工具。 数据存储:本系统提供Hdfs、Hbase及RDBMS相结合的存储模式,支持海量数据的分布式存储。 数据分析:数据仓库体系支持传统的OLAP分析及基于Spark常规机器学习算法。 数据服务总线:数据系统提供数据服务总线服务,实现对数据资源的统一管理和调度,并对外提供数据服务。 1.2数据采集 专家系统数据仓库数据采集包括两个部分内容:外部数据汇集、内部各层数据的提取与加载。外部数据汇集是指从TCMS、车载子系统等外部信息系统汇集数据到专家数据仓库的操作型存储层(ODS);内部各层数据的提取与加载是指数据仓库各存储层间的数据提取、转换与加载。 1.2.1外部数据汇集 专家数据仓库数据源包括列车监控与检测系统(TCMS)、车载子系统等相关子系统,数据采集的内容分为实时数据采集和定时数据采集两大类,实时数据采集主要对于各项检测指标数据;非实时采集包括日检修数据等。 根据项目信息汇集要求,列车指标信息采集具有采集数据量大,采集频率高的特点,考虑到系统后期的扩展,因此在数据数据采集方面,要求采集体系支持高吞吐量、高频率、海量数据采集,同时系统应该灵活可配置,可根据业务的需要进行灵活配置横向扩展。 本方案在数据采集架构采用Flume+Kafka+Storm的组合架构,采用Flume和ETL 工具作为Kafka的Producer,采用Storm作为Kafka的Consumer,Storm可实现对海量数据的实时处理,及时对问题指标进行预警。具体采集系统技术结构图如下:

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语句中表名对大小写不敏感。但不允许在建表语句中使用双引号(“”)包括表

相关主题