数据库命名规范V10.docx

上传人:b****7 文档编号:11062032 上传时间:2023-02-24 格式:DOCX 页数:31 大小:25.06KB
下载 相关 举报
数据库命名规范V10.docx_第1页
第1页 / 共31页
数据库命名规范V10.docx_第2页
第2页 / 共31页
数据库命名规范V10.docx_第3页
第3页 / 共31页
数据库命名规范V10.docx_第4页
第4页 / 共31页
数据库命名规范V10.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

数据库命名规范V10.docx

《数据库命名规范V10.docx》由会员分享,可在线阅读,更多相关《数据库命名规范V10.docx(31页珍藏版)》请在冰豆网上搜索。

数据库命名规范V10.docx

数据库命名规范V10

 

数据库命名规范

Version1.0

目录

第一章概述3

1.1规范制定目地及规则3

第二章相关规范4

2.1命名使用字符规范4

2.2命名规范4

2.3字符串简化规则4

2.4数据库对象类型6

2.5数据库对象前缀6

2.6系统模块前缀6

2.7实际名字7

2.8函数、存储过程、SQL简单编写规范7

2.8.1注释7

2.8.2简单编写规范7

第三章数据库对象命名8

3.1数据表命名8

3.2数据表字段命名8

3.3数据表主键命名8

3.4数据表索引命名8

3.5数据表外键命名8

3.6视图命名9

3.7函数命名9

3.8存储过程命名9

3.9触发器命名9

3.10包命名10

3.11序列命名10

3.12类型命名10

第四章数据库保留字11

第一章

概述

1.1规范制定目地及原则

✧规范数据库各种对象的命名规则

✧方便数据库相关代码的交流和维护

✧不影响数据库编码的效率,不与大众习惯冲突

✧使数据库相关代码更美观、阅读更方便

✧使数据库相关代码的逻辑更清晰、更易于理解

✧由于不同的数据库系统间编写存储过程、函数等语法非常不一致,本规则中对于这块的规范没有详细列出,以后会以模板的形式提供

第二章相关规范

2.1命名使用字符规范

数据库对象命名使用的字符范围:

✧小写字母:

【a~z】

✧大写字母:

【A~Z】

✧数字:

【0~9】

✧下划线:

【_】

2.2命名规范

数据库命名应遵循以下规范:

✧采用有意义的字段名

✧不使用保留字,保留字的枚举参见【第四章数据库保留字】

✧保持字段名和类型的一致性

2.3字符串简化规则

字符串简化规则如下:

✧部分单词有公认的缩写,以该缩写为准,如表(2-2)

✧较短的单词可通过去掉“元音”形成缩写

✧较长的单词可取单词的头几个字母形成缩写

完整单词

缩写

address

addr

average

avg

backup

bak

background

bg

buffer

buf

control

ctrl

data

dat

delete

del

department

dept

document

doc

edit

edt

error

err

escape

esc

flag

flg

function

func

grid

grd

increment

inc

information

Info

initial

Init

insert

ins

image

img

lable

lab

length

len

list

lst

manager

mgr

message

msg

password

pwd

picture

pic

position

pos

print

prn

project

prj

partner

prtn

register

reg

server

srv

source

src

statistic

stat

string

str

temp

tmp

update

upt

text

txt

window

win或wnd

表2-2

2.4数据库对象类型

本规范中的数据库对象包括以下几种类型:

✧数据表、主键、索引、外键、缺省值

✧视图

✧函数

✧存储过程

✧触发器

✧包

✧序列

✧类型

对于缺省值、约束由于用的比较少,本规范中没有包括在内

2.5数据库对象前缀

为了方便的对数据库对象进行管理,针对各种类型的数据库对象,约定其对象前缀如下(前缀全部使用大写字母):

✧数据表:

无前缀

✧主键:

PK

✧索引:

IDX

✧外键:

FK

✧视图:

VW

✧函数:

FUNC

✧存储过程:

PROC

✧触发器:

TR

✧包:

PACK

✧序列:

SEQ

✧类别:

TYPE

2.6系统模块前缀

根据系统模块的英文全称的根据字符串简化规则(2.3)进行简化为该模块的前缀,常用的系统模块前缀如下(模块前缀全部使用大写字母):

✧SYS:

字符串System的简化,为数据建模底层的模块前缀,比如:

系统对象表(SYS_Object)

✧PUB:

字符串Public的简化,为业务系统公用的模块前缀,比如:

部门字典(PUB_Department)

✧BM:

字符串BalanceManager的简化,为结算管理模块前缀

✧PM:

字符串PurchaseManager的简化,为采购管理模块前缀

✧SM:

字符串SaleManager的简化,为销售管理模块前缀

✧WM:

字符串WarehouseManager的简化,为仓库管理模块前缀

✧RPT:

字符串Report的简化,为报表模块前缀

2.7实际名字

实际名字为数据库中所有对象(如数据表、存储过程、视图、函数等)的标识,实际名字应尽量描述对象实际的内容,约定规则如下:

✧由单词或单词组合构成,每个单词的首字母大写,其他字母小写

✧不以数字和_开头

✧单词与单词间不用下划线

例如:

UserName

2.8函数、存储过程、SQL简单编写规范

2.8.1注释

在编写存储过程、函数、触发器等批处理数据库对象中应包含描述性注释,以增加文本的可读性和可维护性。

建议:

✧注释以英文为主:

实际应用中,发现以中文注释的SQL语句版本在英文环境中不可用。

为避免后续版本执行过程中发生某些异常错误,建议使用英文注释

✧注释尽可能详细、全面:

创建每一数据对象前,应具体描述该对象的功能和用途;传入参数的含义应该有所说明。

如果取值范围确定,也应该一并说明。

取值有特定含义的变量(如boolean类型变量),应给出每个值的含义

✧注释简洁,同时应描述清晰

✧单行注释:

注释前有两个连字符(--),一般对变量、条件子句可以采用该类注释

✧多行注释:

符号/*和*/之间的内容为注释内容。

对某项完整的操作建议使用该类注释

2.8.2简单编写规范

✧系统保留字、系统公共变量应大写

✧在SQL代码块中尽量使用BEGIN...END语句块,提高代码可阅读性

✧在SQL代码块有多个嵌套时(如循环、IF等),在每层的结束处应该写明是哪层的结束,并合理缩进

第三章数据库对象命名

3.1数据表命名

命名表达式:

【数据表名】=【系统模块前缀】+【下划线】+【实际名字】

✧【系统模块前缀】应用规则【2.6系统模块前缀】

✧【实际名字】应用规则【2.7实际名字】

例如:

用户功能权限表命名为PUB_UserFuncRight

3.2数据表字段命名

命名表达式:

【字段名】=【表名简称】+【下划线】+【实际名字】

✧【表名简称】规则:

若表名为多个单词的组合,【表名简称】等于【表名】的【实际名字】部分的各个单词首字母安顺序组合,例如:

数据表PUB_UserFuncRight应用此规则其表名简称为UFR;若表名为单个单词,应用规则【2.3字符串简化规则】

✧字段的【实际名字】一般不需要简化,但若字段过长,特约定如下:

当字段的【实际名字】长度超过8个字符时,要对其应用【2.3字符串简化规则】进行简化

例如:

用户功能权限表PUB_UserFuncRight的URL命名为UFR_Url

3.3数据表主键命名

命名表达式:

【主键名】=【数据库对象前缀】+【下划线】+【数据表名】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为PK

✧【数据表名】为数据表全名

✧按照命名表达式超过了30个字符,对于【数据表名】依照规则【2.3字符串简化规则】进行简化

例如:

用户功能权限表PUB_UserFuncRight的主键命名为PK_PUB_UserFuncRight

3.4数据表索引命名

命名表达式:

【索引名】=【数据库对象前缀】+【下划线】+【数据表名】+【下划线】+【实际名字】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为IDX

✧【数据表名】为数据表全名

✧【实际名字】根据索引名字依照规则【2.3字符串简化规则】进行简化

✧按照命名表达式超过了30个字符,对于【数据表名】依照规则【2.2字符串简化规则】进行简化

例如:

用户功能权限表PUB_UserFuncRight的功能编号索引命名为IDX_PUB_UserFuncRight_No

3.5数据表外键命名

命名表达式:

【外键名】=【数据库对象前缀】+【下划线】+【数据表名】+【下划线】+【实际名字】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为FK

✧【数据表名】为数据表全名

✧【实际名字】根据外键名字依照规则【2.3字符串简化规则】进行简化

✧按照命名表达式超过了30个字符,对于【数据表名】依照规则【2.3字符串简化规则】进行简化

3.6视图命名

命名表达式:

【视图名】=【数据库对象前缀】+【下划线】+【系统模块前缀】+【下划线】+【实际名字】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为VW

✧【系统模块前缀】应用规则【2.6系统模块前缀】

✧【实际名字】应用规则【2.7实际名字】

例如:

用户功能权限视图命名为VW_PUB_UserFuncRight

3.7函数命名

命名表达式:

【函数名】=【数据库对象前缀】+【下划线】+【系统模块前缀】+【下划线】+【实际名字】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为FUNC

✧【系统模块前缀】应用规则【2.6系统模块前缀】

✧【实际名字】应用规则【2.7实际名字】

例如:

取事实表名的函数命名为FUNC_PUB_GetFactName

3.8存储过程命名

命名表达式:

【存储过程名】=【数据库对象前缀】+【下划线】+【系统模块前缀】+【下划线】+【实际名字】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为PROC

✧【系统模块前缀】应用规则【2.6系统模块前缀】

✧【实际名字】应用规则【2.7实际名字】

例如:

记销售发票帐本的存储过程命名为PROC_SM_InvoiceBook

3.9触发器命名

命名表达式:

【触发器名】=【数据库对象前缀】+【下划线】+【触发类型】+【下划线】+【数据表名】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为TR

✧【触发类别】根据类型分为三种,使用对应综合

触发类别

缩写

INSERT

I

DELETE

D

UPDATE

U

✧【数据表名】为数据表全名

✧按照命名表达式超过了30个字符,对于【数据表名】依照规则【2.2字符串简化规则】进行简化

例如:

用户信息表PUB_UserInfo的插入触发器命名为TR_I_Pub_UserInfo

3.10包命名

命名表达式:

【包名】=【数据库对象前缀】+【下划线】+【系统模块前缀】+【下划线】+【实际名字】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为PACK

✧【系统模块前缀】应用规则【2.6系统模块前缀】

✧【实际名字】应用规则【2.7实际名字】

✧包中的函数应用规则【3.7函数命名】,存储过程应用规则【3.8存储过程命名】

例如:

处理系统会话参数的包命名为:

PACK_SYS_Session

3.11序列命名

命名表达式:

【序列名】=【数据库对象前缀】+【下划线】+【系统模块前缀】+【下划线】+【实际名字】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为SEQ

✧【系统模块前缀】应用规则【2.6系统模块前缀】

✧【实际名字】应用规则【2.7实际名字】

3.12类型命名

命名表达式:

【类型名】=【数据库对象前缀】+【下划线】+【系统模块前缀】+【下划线】+【实际名字】

✧【数据库对象前缀】根据规则【2.5数据库对象前缀】为TYPE

✧【系统模块前缀】应用规则【2.6系统模块前缀】

✧【实际名字】应用规则【2.7实际名字】

第四章数据库保留字

首字母

公共

Oracle

DB2

Sybase

SQLServer

Mysql

A

ADD

ACCESS

ALIAS

ANY

ANY

ANALYZE

ALL

ANY

ALLOCATE

ASC

ASC

ASC

ALTER

ASC

ALLOW

 

AUTHORIZATION

ASENSITIVE

AND

AUDIT

ALTER

 

 

 

AS 

 

ANY

 

 

 

 

 

APPLICATION

 

 

 

 

 

ASSOCIATE

 

 

 

 

 

ASUTIME

 

 

 

 

 

AUDIT

 

 

 

 

 

AUTHORIZATION

 

 

 

 

 

AUX

 

 

 

 

 

AUXILIARY

 

 

 

B

BETWEEN

BY

BEFORE

BACKUP 

BACKUP

BEFORE

 

 

BEGIN

BEGIN 

BEGIN

BIGINT

 

 

BINARY

BIGINT 

BREAK

BINARY

 

 

BUFFERPOOL

BINARY

BROWSE

BLOB

 

 

BY

 

BULK

BOTH

 

 

 

 

BY

BY

C

CHECK 

CHAR

CACHE

CALL 

CASCADE

CALL

CREATE 

CLUSTER

CALL

CASCADE 

CASE

CASCADE

 

COLUMN

CALLED

CASE 

CHECKPOINT

CASE

 

COMMENT

CAPTURE

CAST 

CLOSE

CHANGE

 

COMPRESS

CARDINALITY

CHAR 

CLUSTERED

CHAR

 

CONNECT

CASCADED

CHAR_CONVERT 

COALESCE

CHARACTER

 

CURRENT   

CASE

CHARACTER 

COLLATE

COLLATE

 

 

CAST

CHECKPOINT 

COLUMN

COLUMN

 

 

CCSID

CLOSE 

COMMIT

CONDITION

 

 

CHAR

COMMENT 

COMPUTE

CONNECTION

 

 

CHARACTER

COMMIT 

CONSTRAINT

CONSTRAINT

 

 

CLOSE

CONNECT 

CONTAINS

CONTINUE

 

 

CLUSTER

CONSTRAINT 

CONTAINSTABLE

CONVERT

 

 

COLLECTION

CONTINUE 

CONTINUE

CROSS

 

 

COLLID

CONVERT 

CONVERT

CURRENT_DATE

 

 

COLUMN

CROSS 

CROSS

CURRENT_TIME

 

 

COMMENT

CURRENT 

CURRENT

CURRENT_TIMESTAMP

 

 

COMMIT

CURSOR 

CURRENT_DATE

CURRENT_USER

 

 

CONCAT

 

CURRENT_TIME

CURSOR

 

 

CONDITION

 

CURRENT_TIMESTAMP

 

 

 

CONNECT

 

CURRENT_USER

 

 

 

CONNECTION

 

CURSOR

 

 

 

CONSTRAINT

 

 

 

 

 

CONTAINS

 

 

 

 

 

CONTINUE

 

 

 

 

 

COUNT

 

 

 

 

 

COUNT_BIG

 

 

 

 

 

CROSS

 

 

 

 

 

CURRENT

 

 

 

 

 

CURRENT_DATE

 

 

 

 

 

CURRENT_LC_CTYPE

 

 

 

 

 

CURRENT_PATH

 

 

 

 

 

CURRENT_SERVER

 

 

 

 

 

CURRENT_TIME

 

 

 

 

 

CURRENT_TIMESTAMP

 

 

 

 

 

CURRENT_TIMEZONE

 

 

 

 

 

CURRENT_USER

 

 

 

 

 

CURSOR

 

 

 

 

 

CYCLE

 

 

 

D

DEFAULT 

DATE

DATA

DATE 

DATABASE

DATABASE

DELETE

DECIMAL

DATABASE

DBSPACE 

DBCC

DATABASES

DISTINCT

DESC

DAY

DEALLOCATE 

DEALLOCATE

DAY_HOUR

DROP

 

DAYS

DEC 

DECLARE

DAY_MICROSECOND

 

 

DB2GENERAL

DECIMAL 

DENY

DAY_MINUTE

 

 

DB2GENRL

DECLARE 

DESC

DAY_SECOND

 

 

DB2SQL

DESC 

DISK

DEC

 

 

DBINFO

DISABLE 

DISTRIBUTED

DECIMAL

 

 

DECLARE

DO 

DOUBLE

DECLARE

 

 

DEFAULTS

DOUBLE 

DUMMY

DELAYED

 

 

DEFINITION

DYNAMIC 

DUMP

DESC

 

 

DESCRIPTOR

 

 

DESCRIBE

 

 

DETERMINISTIC

 

 

DETERMINISTIC

 

 

DISALLOW

 

 

DISTINCTROW

 

 

DISCONNECT

 

 

DIV

 

 

DO

 

 

DOUBLE

 

 

DOUBLE

 

 

DUAL

 

 

DSNHATTR

 

 

 

 

 

DSSIZE

 

 

 

 

 

DYNAMIC

 

 

 

E

ELSE

EXCLUSIVE

EACH

ELSEIF        

END

EACH

 

EXISTS

EDITPROC

ENABLE

ERRLVL

ELSEIF

 

ELSEIF

ENCRYPTED

ESCAPE

ENCLOSED

 

 

ENCODING

END 

EXCEPT

ESCAPED

 

 

END

ENDIF

EXEC

EXISTS

 

 

END-EXEC

ESCAPE

EXECUTE

EXIT

 

 

END-EXEC1

EXCEPTION 

EXISTS

EXPLAIN

 

 

ERASE

EXEC

EXIT

 

 

 

ESCAPE

 

 

 

 

 

EXCEPT

 

 

 

 

 

EXCEPTION

 

 

 

 

 

EXCLUDING

 

 

 

 

 

EXECUTE

 

 

 

 

 

EXISTS

 

 

 

 

 

EXIT

 

 

 

 

 

EXTERNAL

 

 

 

F

 

FILE

FENCED

EXECUTE 

FETCH

FETCH

 

FLOAT

FETCH

EXISTING

FILE

FLOAT

 

FOR

FIELDPROC

EXISTS

FILLFACTOR

FLOAT4

 

FROM

FILE

EXTERNLOGIN

FOR

FLOAT8

 

 

FINAL

FOREIGN

FOREIGN

FOR

 

 

FOR

FORWARD

FREETEXT

FORCE

 

 

FOREIGN

FROM

FREETEXTTABLE

FOREIGN

 

 

FREE

FULL

FROM

FROM

 

 

FROM

FULL

FULLTEXT

 

 

FULL

 

FUNCTION

FALSE

 

 

FUNCTION

 

 

 

G

GROUP

 

GENERAL

GOTO

GOTO

GOTO

GRANT

 

GENERATED

 

 

 

 

 

GET

 

 

 

 

 

GLOBAL

 

 

 

 

 

GO

 

 

 

 

 

GOTO

 

 

 

 

 

GRAPHIC

 

 

 

H

HAVING

 

HANDLER

HOLDLOCK

HOLDLOCK

HIGH_PRIORITY

 

 

HOLD

 

 

HOUR_MICROSECOND

 

 

HOUR

 

 

HOUR_MINUTE

 

 

HOURS

 

 

HOUR_SECOND

I

IN

IDENTIFIED

IDENTITY

IDENTIFIED

IDENTITY

IF

INDEX

IMMEDIATE

IF

IF

IDENTITY_INSERT

IGNORE

INSERT

INCREMENT

IMMEDIATE

INNER

IDENTITYCOL

INFILE

INTO

INITIAL

INCLUDING

INOUT

IF

INNER

IS

INTEGER

INCREMENT

INSENSITIVE

INNER

INOUT

 

INTERSECT

INDICATOR

INSTALL

INTERSECT

INSENSITIVE

 

 

INHERIT

INSTEAD

INT

 

 

INNER

INT

 

INT1

 

 

INOUT

INTEGER

INT2

 

 

INSENSITIVE

INTEGRATED

 

INT3

 

 

INTEGRITY

IQ

 

INT4

 

 

ISOBID

ISOLATION

 

INT8

 

 

ISOLATION

 

 

INTEGER

 

 

ITERATE

 

INTERVAL

 

 

 

 

ITERATE

J

 

 

JAR

JOIN

JOIN

JOIN

 

 

JAVA

 

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1