精华内容
下载资源
问答
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:PowerDesigner ...一、数据库表分类: 表前缀主要是为了区分不同功能的表,而非解释表的功能,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    开发工具与关键技术:PowerDesigner
    作者:黄宝恩
    撰写时间:2021.4.28
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    

    一、数据库表分类:
    表前缀主要是为了区分不同功能的表,而非解释表的功能,表的功能由表名来解释。前面要求表名的长度要控制在30个字符以内,在此前提下,为了尽可能不影响表的命名,表前缀应该越短越好。我们建议表前缀控制在两个以内。具体表前缀添加规则建议如下,括号内的单个大写字母表示要添加的前缀。这里以SQLserver2014数据库为例说明:
    1.系统表(S_):System,系统配置相关的基本信息表。系统用户表(S_USER)、系统角色表(S_ROLE)、系统菜单(S_LINK_MENU)、操作日志(S_OPERATION_LOG)、登录日志(S_LOGIN_LOG)、系统字典(S_DICTIONARY)、系统字典类型(S_DICTIONARY_TYPE)等。
    2.字典表(D_):Dictionary,非系统字典外的字典表。在“设计规范”——“相关注释”——“字典字段”中提到过字典表的定义,除了数据库中的通用字典表,还有一些常见表,比如地区表(D_REGION)、ICD编码(D_ICD)等,也是一种字典表,这里的D_前缀即加在这类字典表名前面。
    3.中间表(R_):Relationship,多对多关系中间表。具体命名方式建议为:R_主表名_从表名,在多对多关系中其实不分主从表,这里我们规定核心表为主表,另外一个为从表。比如用户角色关系中,用户表(S_USER)为主、角色(S_ROLE)表为从,那中间表就命名为R_USER_ROLE。当中间表名超长时,则根据实际情况缩写主从表名,建议优先缩写从表表名。
    4.业务表(B_):Business,核心业务涉及的基本信息表。这里的业务是非系统配置业务相关的,比如登录、注册、权限这些业务涉及的表都是和系统配置相关的,前缀应该是S_,而非B_。比如在线商城的项目中订单业务涉及的表即是核心业务表,会诊系统中会诊单业务涉及的表即是核心业务表,如果项目庞大,涉及业务较多,可以在B后面继续加单字母区分不同的业务,BA_、BB_、BC_……,没必要非得和某个英文对应,只是个代号,和项目组的人员说明即可。
    表名前缀的说明如上,已经足够明确,除此外还应该避免无谓的表格后缀。比如存储客户信息的表直接命名为Guest而非GuestInfo,存储航班信息的表直接命名为Flight而非FlightList。还有命名表时,一律使用单数形式。例如,使用 Employee,而不是 Employees,总之,表的命名应该简单明了。
    二、数据库表命名规范:
    (1)表名前应该加上前缀,表的前缀一个用系统或模块的英文名称缩写,前缀全部大写或首字母大写,表名中包含的单词首字母大写。
    (2)数据库表名应该有意义,并且易于理解,最好使用可以表达功能的英文单词或缩写,如果用英文单词表示,建议使用完整的英文单词。
    (3)表名不可以太长,最好不要超过3个英文单词长度(22个字母)。
    (4)在数据库表命名时应该用英文单词的单数形式,如员工表命名:应该为Employee而不是Employees .
    (5)如果是后台表命名时应该在表名基础上加上后缀_b(back 首字母 )
    (6)在表创建完成前,应该为表添加表的注释。
    三、表字段命名规范:
    (1)数据库表字段,应该是有意义而且易于理解的,最好是能够表达字段含义的英文字母
    (有人认为如果用英文单词作为字段,因为翻译工具不同,而字段不统一建议使用汉语拼音首字母缩写;有人认为用汉语拼音缩写看起来不直观,老半天也不知道到底这个字段是干什么的)
    (2)系统中所有属于内码,即仅用于标识唯一性和程序内部用到的标识性字段,字段名称建议取为 ID ,采用类型为整型int或长整型bigint.
    (3)系统中属于是业务内的编号字段,代表一定业务信息,建议字段命名为
    code , 如工作单编号code .
    (4) 不要在数据库表字段(列名)中包含数据类型,如:datetime
    (5)不要在数据库表字段(列名)命名时重复表名,可以使用表名首字母(不包含数据库表名前缀)
    注意:
    不要在数据库表字段(列名)命名时
    不建议使用数据库关键字,如:name,time ,datetime password 等。
    四、表设计规范
    (1)所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary、varbinary外,必须有默认值。字符型的默认值为一个空字符值串’’;数值型的默认值为数值0;逻辑型的默认值为数值0;
    其中:系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。

    datetime、smalldatetime类型的字段没有默认值,必须为NULL。
    (2)当字段定义为字符串形时建议使用varchar而不用nvarchar。

    :在MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个
    字节。
    (3)建议在大多数表中(如工作单),应都有以下字段:
    字段名说明类型默认值
    CreatorID创建者int默认值为0CreatedTime创建时间Datetime默认值为NULL
    (4)字段的描述a.字段必须填写描述信息(注释)b.尽量遵守第三范式的标准(3NF)
    表内的每一个值只能被表达一次(列名不重复)

    展开全文
  • 1.数据库命名规范:(1)表名前应该加上前缀,表的前缀一个用系统或模块的英文名称缩写,前缀全部大写或首字母大写,表名中包含的单词首字母大写。(2)数据库表名应该有意义,并且易于理解,最好使用可以表达功能的...

    1.数据库表命名规范:

    (1)表名前应该加上前缀,表的前缀一个用系统或模块的英文名称缩写,前缀全部大写或首字母大写,表名中包含的单词首字母大写。

    (2)数据库表名应该有意义,并且易于理解,最好使用可以表达功能的英文单词或缩写,如果用英文单词表示,建议使用完整的英文单词。

    (3)表名不可以太长,最好不要超过3个英文单词长度(22个字母)。

    (4)在数据库表命名时应该用英文单词的单数形式,如员工表命名:应该为Employee而不是Employees .

    (5)如果是后台表命名时应该在表名基础上加上后缀_b(back 首字母 )

    (6)在表创建完成前,应该为表添加表的注释。

    2.表字段命名规范:

    (1)数据库表字段应该是有意义而且易于理解的,最好是能够表达字段含义的英文字母

    (有人认为如果用英文单词作为字段,因为翻译工具不同,而字段不统一建议使用汉语拼音首字母缩写;有人认为用汉语拼音缩写看起来不直观,老半天也不知道到底这个字段是干什么的)

    (2)系统中所有属于内码,即仅用于标识唯一性和程序内部用到的标识性字段,字段名称建议取为 ID ,采用类型为整型或长整型.

    (3)系统中属于是业务内的编号字段,代表一定业务信息,建议字段命名为code , 如工作单编号wf_code .

    (4) 不要在数据库表字段(列名)中包含数据类型,如:datetime

    (5)不要在数据库表字段(列名)命名时重复表名,可以使用表名首字母(不包含数据库表名前缀)

    注意:不要在数据库表字段(列名)命名时不建议使用数据库关键字,如:name,time ,datetime password 等

    3.表设计规范:

    (1)所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary、varbinary外,必须有默认值。字符型的默认值为一个空字符值串’’;数值型的默认值为数值0;逻辑型的默认值为数值0;

    其中:系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。

    datetime、smalldatetime类型的字段没有默认值,必须为NULL。

    (2)当字段定义为字符串形时建议使用varchar而不用nvarchar。

    注:在MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字节。

    (3)建议在大多数表中(如工作单),应都有以下字段:

    字段名说明类型默认值

    CreatorID创建者int默认值为0

    CreatedTime创建时间Datetime默认值为NULL

    (4)字段的描述

    a.字段必须填写描述信息(注释)

    b.尽量遵守第三范式的标准(3NF)

    表内的每一个值只能被表达一次(列名不重复)

    表内的每一行都应当被唯一的标示(标识唯一性,如自动增长主键)

    表内不应该存储依赖于其他键的非键信息

    (5)加索引规则

    a.表建好后数据库自动为表生成一个索引(为自动增长的列生成唯一索引),如果在对这列添加索引,数据库会给一个警告,内容大概是,已经为这列添加了索引,建议修改索引名称和自动增长列名保持一致,为了方便使用。

    b.如果在添加索引时,建议索引名称和数据库列名保持一致,为了方便使用

    c.如果字段事实上是与其它表的关键字相关联而未设计为外键引用,需建索引。

    d.如果字段与其它表的字段相关联,需建索引。

    e.如果字段需做模糊查询之外的条件查询,需建索引。

    f.除了主关键字允许建立簇索引外,其它字段所建索引必须为非簇索引。

    4.存储过程命名规范

    (1)存贮过程的命名请遵循以下命名规范:USP_ + 系统模块缩写(与表前缀类似)+_ + 功能标识 + 代表存贮过程操作的主要表名(不带前缀)或功能的英文单词或英文单词缩写。

    如果一个存贮过程只对一个表进行操作,建议存贮过程的名称就用存贮过程所操作的表的表名(不带前缀)。这样有利于根据表名找到相应的存贮过程。例如:

    用于新增的存贮过程USP_MESSAGE_Add_Model

    用于修改的存贮过程USP_ MESSAGE_Upt_Model

    用于删除的存贮过程USP_ MESSAGE_Del_ Modele

    注:USP是user stored procedure缩写

    5.存储过程设计规范

    在存贮过程中必须说明以下内容:

    (1)目的:说明此存贮过程的作用。

    (2)作者:首次创建此存贮过程的人的姓名。在此请使用中文全名,不允许使用英文简称。

    (3)创建日期:创建存贮过程时的日期。

    (4)修改记录:

    修改记录需包含修改顺序号、修改者、修改日期、修改原因,修改时不能直接在原来的代码上修改,也不能删除原来的代码,只能先将原来的代码注释掉,再重新增加正确的代码。修改顺序号的形式为:log1,log2,log3。。。,根据修改次数顺序增加,同时在注释掉的原来的代码块和新增的正确代码块前后注明修改顺序号。

    (5)对存贮过程各参数及变量的中文注解。

    建议:在数据库中创建一个文本文件保存创建脚本

    6.视图命名规范

    视图的命名请遵循以下命名规范:UV _ + 系统模块缩写(与表前缀类似)+_ + 功能标识 + 代表视图查询的主要表名(不带前缀)或功能的英文单词或英文单词缩写。

    如果一个视图只对一个表进行查询,建议视图的名称就用视图所查询的表的表名(不带前缀)。这样有利于根据表名找到相应的视图。

    注:UV是userView缩写

    7.视图设计规范

    在视图中必须说明以下内容:

    (1)目的:说明此视图的作用。

    (2)创建者:首次创建此视图的人的姓名。在此请使用中文全名,不允许使用英文简称。

    (3)修改者、修改日期、修改原因:如果有人对此视图进行了修改,则必须在此视图的前面加注修改者姓名、修改日期及修改原因。

    (4)对视图各参数及变量的中文注解

    建议:在数据库中创建一个文本文件保存创建脚本

    8.触发器命名规范

    Insert触发器加'_i',Delete触发器加'_d',Update触发器加'_u'

    9.触发器设计规范

    在视图中必须说明以下内容:

    (1)目的:说明此触发器的作用。

    (2)创建者:首次创建此触发器的人的姓名。在此请使用中文全名,不允许使用英文简称。

    (3)修改者、修改日期、修改原因:如果有人对此触发器进行了修改,则必须在此触发器的前面加注修改者姓名、修改日期及修改原因。

    (4)对触发器各参数及变量的中文注解

    建议:在数据库中创建一个文本文件保存创建脚本

    6

    展开全文
  • -- 检查 不符合 数据库 命名 规范字段名 Select TABLE_NAME,COLUMN_NAME,DATA_TYPE From user_tab_columns Where column_name In --(Select keyword From v$reserved_words) (ACCESS,ADD,ALL,ALTER,AND,ANY,AS,...

    -- 检查 不符合 数据库 命名 规范 的字段名 Select TABLE_NAME,COLUMN_NAME,DATA_TYPE From user_tab_columns Where column_name In --(Select keyword From v$reserved_words) (ACCESS,ADD,ALL,ALTER,AND,ANY,AS,ASC,AUDIT, BETWEEN,BY,CHAR,CHECK,CLUSTER,

    --检查不符合数据库命名规范的字段名

    Select TABLE_NAME,COLUMN_NAME,DATA_TYPE

    From user_tab_columns

    Where column_name In --(Select keyword From v$reserved_words)

    ('ACCESS','ADD','ALL','ALTER','AND','ANY','AS','ASC','AUDIT',

    'BETWEEN','BY','CHAR','CHECK','CLUSTER',

    'COLUMN','COMMENT','COMPRESS','CONNECT','CREATE','CURRENT',

    'DATE','DECIMAL','DEFAULT','DELETE',

    'DESC','DISTINCT','DROP','ELSE','EXCLUSIVE','EXISTS','FILE',

    'FLOAT','FOR','FROM','GRANT','GROUP',

    'HAVING','IDENTIFIED','IMMEDIATE','IN','INCREMENT','INDEX',

    'INITIAL','INSERT','INTEGER','INTERSECT',

    'INTO','IS','LEVEL','LIKE','LOCK','LONG','MAXEXTENTS','MINUS',

    'MLSLABEL','MODE','MODIFY','NOAUDIT',

    'NOCOMPRESS','NOT','NOWAIT','NULL','NUMBER','OF','OFFLINE','ON',

    'ONLINE','OPTION','OR','ORDER',

    'PCTFREE','PRIOR','PRIVILEGES','PUBLIC','RAW','RENAME','RESOURCE',

    'REVOKE','ROW','ROWID','ROWNUM',

    'ROWS','SELECT','SESSION','SET','SHARE','SIZE','SMALLINT','START',

    'SUCCESSFUL','SYNONYM','SYSDATE',

    'TABLE','THEN','TO','TRIGGER','UID','UNION','UNIQUE','UPDATE',

    'USER','VALIDATE','valueS','VARCHAR',

    'VARCHAR2','VIEW','WHENEVER','WHERE','WITH')

    Or column_name Like '% %'

    --检查数据库中相同名字不同类型的字段名

    select a.column_name,a.data_type,b.data_type From

    (select distinct column_name,data_type from

    all_tab_columns Where TABLE_NAME Like 'T%') a,

    (select distinct column_name,data_type from

    all_tab_columns Where TABLE_NAME Like 'T%') b

    where a.column_name=b.column_name and a.data_type<>b.data_type

    --检查数据库中相同名字相同类型不同长度的字段名

    select a.column_name,a.data_type,b.data_type,

    a.data_length,b.data_length From

    (select distinct column_name,data_type,

    data_length from all_tab_columns Where TABLE_NAME Like 'T%') a,

    (select distinct column_name,data_type,

    data_length from all_tab_columns Where TABLE_NAME Like 'T%') b

    where a.column_name=b.column_name and a.data_type=b.data_type And A.DATA_LENGTH<>B.DATA_LENGTH

    f68f2add0b68e4f9810432fce46917b7.png

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 一、数据库命名规范1.1数据表命名规范(1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔(2)全部小写命名,禁止出现大写(3)禁止使用数据库...

    一、数据库表命名规范

    1.1数据表命名规范

    (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔

    (2)全部小写命名,禁止出现大写

    (3)禁止使用数据库关键字,如:name,time ,datetime,password等

    (4)表名称不应该取得太长(一般不超过三个英文单词)

    (5)表的名称一般使用名词或者动宾短语

    (6)用单数形式表示名称,例如,使用 employee,而不是 employees

    明细表的名称为:主表的名称+字符dtl(detail缩写)

    例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl

    (7)表必须填写描述信息(使用SQL语句建表时)

    1.2命名规范

    ①模块_+功能点  示例:alllive_log   alllive_category

    ②功能点  示例:live   message

    ③通用表  示例:all_user

    1.3待优化命名示例

    ①冗余:

    错误示例:yy_alllive_video_recomment    yy_alllive_open_close_log

    说明:去除项目名,简化表名长度,去”yy_”

    ②相同类别表命名存在差异,管理性差

    错误示例:yy_all_live_category    yy_alllive_comment_user

    说明:去除项目名,统一命名规则,均为”yy_alllive_”开头即可

    二、表字段命名规范

    2.1字段命名规范

    (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔

    (2)全部小写命名,禁止出现大写

    (3)字段必须填写描述信息

    (4)采用字段的名称必须是易于理解,一般不超过三个英文单词

    (5)在命名表的列时,不要重复表的名称

    例如,在名employe的表中避免使用名为employee_lastname的字段

    (6)不要在列的名称中包含数据类型

    (7)字段命名使用完整名称,禁止缩写

    2.2命名规范

    ①名词  示例:user_id    user_name    sex

    ②动宾短语  示例:is_friend   is_good

    2.3待优化命名示例

    ①大小写规则不统一

    错误示例:user_id    houseID

    说明:使用统一规则,修改为”user_id”,”house_id”

    ②加下划线规则不统一

    错误示例:username    userid    isfriend    isgood

    说明:使用下划线进行分类,提升可性,方便管理,修改为”user_name”,”user_id”,”is_friend”,”is_good”

    ③字段表示不明确

    错误示例:uid    pid

    说明:使用完整名称,提高可读性,修改为”user_id”,”person_id”

    三、SQL语言编码规范

    3.1大小写规范

    (1)所有关键字必须大写,如:Insert、Update、Delete、Select及其子句,IF……ELSE等

    (2)所有函数及其参数中除用户变量以外的部分必须大写

    展开全文
  • 1.设计原则1) 标准化和规范化数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但 Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF 标准的数据库...
  • 在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题。本文是一篇包含了...
  • 数据库字段命名一般不采用驼峰式命名,可以采用下划线的形式。 java变量命名一般采用驼峰式命名。 Mybatis支持数据库下划线的命名方式,它会将数据库字段和java实体类对象联系起来。
  • 数据库命名规范(表、字段名)数据库命名规范一.实体和属性的命名1.常用单词已经进行了缩写,在命名过程当中,根据语义拼凑缩写即可。注意,由于ORCAL数据库会将字段名称统一成大写或者小写中的一种,所以要求加上...
  • 命名规范说明:指数据库对象如表(TABLE)、序列(SEQUENCE)、过程(PROCEDURE)、触发器(TRIGGER)等的命名约定。1. 基本命名原则(1)规则1:命名使用具有意义的英文词汇,词汇中间以下划线分隔。(2)规则2:命名只能使用英文...
  • oracle 表字段命名规范

    2021-05-02 01:37:22
    命名一律为大写字母(或小写,不要大下写混合)英文单词单数命名.例:FACTORY英文单词缩写命名.例:DEPT英文单词之间用下划线连结,且每个单词皆为单数.例:TASK_RESULT用来存储历史资料,命名以HISTORY结尾.例:TASK_...
  • 数据库命名规范引言:数据库设计过程中库、表、字段等的命名规范也算是设计规范的一部分,不过设计规范更多的是为了确保数据库设计的合理性、为了项目最终的协调稳定性,而命名规范更多的是为了确保设计的正式和统一...
  • 数据库表字段命名规则

    千次阅读 2021-03-14 15:45:46
    一、数据库命名规范采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔,一个项目一个数据库,多个项目慎用同一个数据库二、数据库命名规范2.1数据...
  • 数据库表的命名规范

    千次阅读 2021-01-18 23:25:27
    数据库的表名和字段名都是一些看似毫无意义的字符数字,比方Table1,Col1,可是有一个表是说明表,或者有相应的数据库文档设计。 补充:一些列说明了单位类型。能够在设计数据库的时候表明,比方HeightIncm, ...
  • MYSQL数据库命名及设计规范

    千次阅读 2021-01-27 22:21:29
    1.设计原则1) 标准化和规范化数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF 标准的数据库...
  • 1.设计原则1) 标准化和规范化web数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但 Third Normal Form(3NF)一般被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来讲,遵照3NF 标准的...
  • http://blog.csdn.net/seusoftware/archive/2010/04/24/5524414.aspx引用一、综述命名和编码过程中,定义有意义的名称,以易于理解、方便...(3)避免在命名中包括空格及特殊字符;(4)避免使用保留字;(5)避免名称太长...
  • 数据库环境dev:开发环境,开发可读写,可修改表结构。开发人员可以修改表结构,可以随意修改其中的数据但是需要保证不影响其他开发同事。qa:测试环境,开发可读写,开发人员可以通过工具修改表结构。sim:模拟环境...
  • 数据库命名规范

    千次阅读 2021-02-07 21:21:07
    1目的规范数据库各种对象的命名规则。2数据库命名原则2.1数据文件如果数据库采用文件系统,而不是裸设备,约定下列命名规则:1)数据文件以表空间为开始,以.dbf为结尾,全部采用小写英文字母加数字命名。如该表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,356
精华内容 18,942
关键字:

数据库的字段名命名规范