数据库命名规范小结_数据库其它

数据库命名规范

1 目的

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

2 数据库命名原则

2.1 数据文件

如果数据库采用文件系统,而不是裸设备,约定下列命名规则:

1)数据文件以表空间名为开始,以.dbf为结尾,全部采用小写英文字母加数字命名。如该表空间有多个数据文件,则从第2个数据文件开始,在表空间名后加_。

例:对system表空间的数据文件:system.dbf,system_2.dbf

2)对oracle数据库的控制文件,用control.ctl来表示。如control01.ctl,control02.ctl。

3)对oracle数据库的日志文件,在线日志文件用redo<组名><文件序列名>.dbf来表示。其中组名和文件序列名均用2位数字来表示。如第一组的两个文件表示位redo0101.dbf和redo0102.dbf。归档日志用arch_%t_%s.arc来表示。其中%t和%s均为oracle约定的变量。

2.2 表空间

2.2.1 数据库系统表空间

数据库系统表空间包括system表空间,临时表空间,回滚段的表空间。约定下列命名规则:

1)system表空间由数据库直接限定,不能进行修改。

2)临时表空间用temp来表示。如果有多个临时表空间,从第2个临时表空间开始,在temp后面加来表示。

3)回滚段表空间用undotbs来表示。如果有多个回滚段表空间,从第2个回滚段表空间开始,在undotbs后面加来表示。

2.2.2 数据库的用户表空间

数据库的用户表空间用ts_<表空间名>来表示。其中,表空间名分为:

1)数据空间:对于用户的缺省表空间,用default来表示。对于其他的表空间,根据存放在表空间上的表的类别来表示。如放代码的表,用code来表示。放客户资料的表,用customer来表示。尽量用一个表空间来存放该类的表。如果某表特别大,可考虑单独使用一个表空间。

2)索引空间:在相应的数据表空间的名字前加ind_。如对用户缺省表空间的索引空间,用ts_ind_default来表示。对代码表的索引表空间,用ts_ind_code来表示。

2.3

数据库表的命名采用如下规则:

1)表名用T_开头,表名长度不能超过30个字符,表名中含有单词全部采用单数形式,单词要大写。

2)多个单词间用下划线(_)进行连接。若库中有多个系统,表名采用系统名称+单词或多个单词,系统名是开发系统的缩写,如VNET。

3)表中含有的单词建议用完整的单词。如果导致表名长度超过30个字符,则从最后一个单词开始,依次向前采用该单词的缩写。(如果没有约定的缩写,则采用该单词前4个字母来表示)。

数据库表的字段命名采用如下规则:

1)数据库字段名全部采用小写英文单词,单词之间用”_”隔开。字段长度不能超过30个字符。

2)如果该字段是代码,则在单词后加_id。

3)如果该字段表示的是时间,则使用_time为后缀。

2.4 视图

数据库视图的命名采用如下规则:

1)视图名用V_开头,视图名长度不能超过30个字符。视图名用大写的英文单词来表示。

2)视图由几个表产生就用下划线(_)连接几个表的名,如果表过多可以将表名适当简化,但一定要列出所有表名。

2.5 序列

数据库序列的命名采用如下规则:

序列名用seq_开头,后面跟使用该序列的字段名。如果有几个字段用同一个序列,用下划线(_)连接几个字段的名称。如果不同表中相同的字段名需要使用不同的序列,则在字段名后加表的特征,用下划线(_)连接。序列名长度不能超过30个字符。序列名用小写的英文单词来表示。

2.6 存储过程

存储过程的命名采用如下规则:

存储过程名用Pr_开头,存储过程名长度不能超过30个字符。存储过程名用小写的英文单词来表示。

2.7 函数

函数的命名采用如下规则:

函数名用Fu_开头,函数名长度不能超过30个字符。函数名用小写的英文单词来表示。

2.8 触发器

触发器的命名采用如下规则:

触发器名用Tr_开头,触发器名长度不能超过30个字符。触发器名用小写的英文单词来表示。

2.9 主键

主键的命名采用如下规则:

主键名用pk_开头,后面跟该主键所在的表名。主键名长度不能超过30个字符。如果过长,可对表名进行缩写。缩写规则同表名的缩写规则。主键名用小写的英文单词来表示。

2.10 外键

外键的命名采用如下规则:

外键名用fk_开头,后面跟该外键所在的表名和对应的主表名(不含t_)。子表名和父表名自己用下划线(_)分隔。外键名长度不能超过30个字符。如果过长,可对表名进行缩写。缩写规则同表名的缩写规则。外键名用小写的英文单词来表示。

2.11 索引

索引的命名采用如下规则:

1)索引名用小写的英文字母和数字表示。索引名的长度不能超过30个字符。

2)主键对应的索引和主键同名。

3)每类索引都用_结束。

4)唯一性索引用uni_开头,后面跟表名。一般性索引用ind_开头,后面跟表名。

5)如果索引长度过长,可对表名进行缩写。缩写规则同表名的缩写规则。

时间: 2024-09-03 05:42:04

数据库命名规范小结_数据库其它的相关文章

数据库设计技巧[转]_数据库其它

1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体.这里的实体可以理解为基本表.明确这种对应关系后,对我们设计录入界面大有好处. [例1]:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表.社会关系表.工作简历表.这就是"一张原始单证对应多个实体"的典型例子. 2. 主键与外键

ms SQL server数据库备份、压缩与SQL数据库数据处理的方法_数据库其它

一.备份数据库  1.打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server 2.SQL Server组-->双击打开你的服务器-->双击打开数据库目录 3.选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库 4.备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份  二.

Sql Server 和 Access 操作数据库结构Sql语句小结_数据库其它

下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助.内容由海娃整理,不正确与不完整之处还请提出,谢谢. 新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default '默认值' null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[字段6]

ACCESS转化成SQL2000需要注意的几个问题小结_数据库其它

很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项  一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的:  二,转换的方法  1,打开"控制面板"下"管理工具"中的"数据库源":  2,按"添加"添加一个新的数据源,

几种常用DB驱动和DB连接串小结_数据库其它

(一) MySQL: (1) JDBC驱动jar包:(http://www.mysql.com) mm.mysql-2.0.2-bin.jar (2) 驱动类classpath:Driver = org.gjt.mm.mysql.Driver (3) 数据库连接URL: url = jdbc:mysql://IP(hostName):3306/DatabaseName. url解释:关键字 jdbc mysql jdbc表示采用方式连接数据库 mysql 表示连接到mysql数据库 (二) Or

sqlserver和oracle中对datetime进行条件查询的一点区别小结_数据库其它

首先,看一下sql server,之前我们都通过前台用户选择一个起始时间和一个结束时间(以日为最小单位),然后来作为条件进行查询,如果直接通过"between starttime and endtime"来作为条件的话,发现会自动将"2009-06-17"转化为" 2009-06-17 00:00:00",于是如下查询条件" between '2009-06-16' and '2009-06-17'",只能得到16日的数据,1

数据库 左连接 右连接 全连接用法小结_数据库其它

连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来.所以,在Transact-SQL中推荐使用这种方法.  SQL-92标准所定义的FROM子句的连接语法格式为:  FROM join_table join_type join_table  [ON (join_condition)]  其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接

MySQL数据库命名规范及约定_Mysql

一.[操作规范]1. 如无备注,则表中的第一个id字段一定是主键且为自动增长:2. 如无备注,则数值类型的字段请使用UNSIGNED属性:3. 如无备注,排序字段order_id在程序中默认使用降序排列:4. 如无备注,所有字段都设置NOT NULL,并设置默认值:5. 如无备注,所有的布尔值字段,如is_hot.is_deleted,都必须设置一个默认值,并设为0:6. 所有的数字类型字段,都必须设置一个默认值,并设为0:7. 针对varchar类型字段的程序处理,请验证用户输入,不要超出其预

SQLServer 2005 和Oracle 语法的一点差异小结_数据库其它

1.获取系统当前时间 SQL Server 2005: select getdate() Oracle: select sysdate from dual 2.获取年月日 SQL Server 2005: 复制代码 代码如下: select year(getdate()) --2011 select month(getdate()) --3 select day(getdate()) --23 Oracle: 复制代码 代码如下: select to_char(sysdate,'yyyy') f