精华内容
下载资源
问答
  • 做为一名开发DBA,最重要的renweu是经常要检查开发人员或建模人员对数据库的...--检查不符合数据库命名规范的字段名 Select TABLE_NAME,COLUMN_NAME,DATA_TYPE From user_tab_columns Where column_name In --(S...

    做为一名开发DBA,最重要的renweu是经常要检查开发人员或建模人员对数据库的命名规范是否严谨,下文中将主要介绍一个检查数据库数据字段命名规范与合法性的脚本,仅供大家参考。
     

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

    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

     

    展开全文
  • 数据库表、字段的命名规范

    千次阅读 2012-04-17 21:10:21
    1.1数据库数据库的命名规范: 表前缀应该用系统或模块英文名的缩写(全部大写或首字母大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称缩写作为前缀,否则以各模块英文名称缩写作为...

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

    1.数据库表及字段命名、设计规范
    1.1数据库表数据库表的命名规范:
    表的前缀应该用系统或模块的英文名的缩写(全部大写或首字母大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称的缩写作为前缀,否则以各模块的英文名称缩写作为前缀。例如:如果有一个模块叫做BBS(缩写为BBS),那么你的数据库中的所有对象的名称都要加上这个前缀:BBS_ + 数据库对象名称,BBS_CustomerInfo标示论坛模块中的客户信息表
    表的名称必须是易于理解,能表达表的功能的英文单词或缩写英文单词,无论是完整英文单词还是缩写英文单词,单词首字母必须大写。如果当前表可用一个英文单词表示的,请用完整的英文单词来表示;例如:系统资料中的客户表的表名可命名为:SYS_Customer。如果当前表需用两个或两个以上的单词来表示时,尽量以完整形式书写,如太长可采用两个英文单词的缩写形式;例如:系统资料中的客户物料表可命名为:SYS_CustItem。
    表名称不应该取得太长(一般不超过三个英文单词)。
    在命名表时,用单数形式表示名称。例如,使用 Employee,而不是 Employees。
    对于有主明细的表来说。明细表的名称为:主表的名称 + 字符Dts。例如:采购定单的名称为:PO_Order,则采购定单的明细表为:PO_OrderDts
    对于有主明细的表来说,明细表必须包含两个字段:主表关键字、SN,SN字段的类型为int型,目的为与主表关键字联合组成明细表的关键字,以及标示明细记录的先后顺序,如1,2,3……。
    表必须填写描述信息
    后台表名尽量与前台表名相同,后台独有的表应以_b作为后缀。如r_gggd_b
    1.2表字段
    命名规范      
    数据库字段的命名必须遵循以下规范:
    采用有意义的字段名。字段的名称必须是易于理解,能表达字段功能的英文单词或缩写英文单词,单词首字母必须大写,一般不超过三个英文单词。例如:人员信息表中的电话号码可命名为:Telephone或Tel。产品明细表中的产品名称可用ProductName表示。(推荐一般用完整的英文单词)。
    系统中所有属于内码字段(仅用于标示唯一性和程序内部用到的标示性字段),名称取为:“ID”,采用整型或长整型数,具体根据可能的数据量确定,增加记录时取最大值加1,该字段通常为主关键字。
    系统中属于是业务范围内的编号的字段,其代表一定的业务信息,比如资料信息和单据的编号,这样的字段建议命名为:“Code”,其数据类型为varchar,该字段需加唯一索引。
    在命名表的列时,不要重复表的名称;例如,在名为 Employee 的表中避免使用名为 EmployeeLastName 的字段。
    不要在列的名称中包含数据类型。
    设计规范
    所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary 、varbinary外,必须有默认值。字符型的默认值为一个空字符值串’’;数值型的默认值为数值0;逻辑型的默认值为数值0;
    其中:系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。
        datetime、smalldatetime类型的字段没有默认值,必须为NULL。
    当字段定义为字符串形时建议使用varchar而不用nvarchar。
    建议在大多数表中(如报销单,申请单),应都有以下字段:
    字段名说明类型默认值
    CreatorID创建者int0
    CreatedTime创建时间DatetimeNULL
    字段的描述
    数据库中每个字段的描述(Description)如下:
    尽量遵守第三范式的标准(3NF)。
    表内的每一个值只能被表达一次
    表内的每一行都应当被唯一的标示
    表内不应该存储依赖于其他键的非键信息
    如果字段事实上是与其它表的关键字相关联而未设计为外键引用,需建索引。
    如果字段与其它表的字段相关联,需建索引。
    如果字段需做模糊查询之外的条件查询,需建索引。
    除了主关键字允许建立簇索引外,其它字段所建索引必须为非簇索引。
    字段必须填写描述信息

    展开全文
  • -- 检查 不符合 数据库 命名 规范 的字段名 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中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 检查数据库数据字段命名规范与合法性的脚本做为一名开发DBA,最重要的renweu是经常要检查开发...--检查不符合数据库命名规范的字段名Select TABLE_NAME,COLUMN_NAME,DATA_TYPEFrom user_tab_columnsWhere column_na...

    检查数据库数据字段命名规范与合法性的脚本

    做为一名开发DBA,最重要的renweu是经常要检查开发人员或建模人员对数据库的命名规范是否严谨,下文中将主要介绍一个检查数据库数据字段命名规范与合法性的脚本,仅供大家参考。

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

    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

    展开全文
  • 做开发DBA重要的是经常要检查开发人员或建模人员对数据库的命名规范是否严谨。...--检查不符合数据库命名规范的字段名 Select TABLE_NAME,COLUMN_NAME,DATA_TYPE From user_tab_columns Where column_name In...
  • 1.1数据库数据库的命名规范: 表前缀应该用系统或模块英文名的缩写(全部大写或首字母 大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称缩写作为前缀,否则以各模块英文名称缩写作为...
  • 做为一开发DBA,最重要的renweu是经常要检查开发人员或建模人员对数据库的命名规范是否严谨,下文中将主要介绍一个检查数据库数据字段命名规范与合法性的脚本,仅供大家参考。(关键字详细信息可以查看v$reserved_...
  • 数据库设计中的命名规范

    千次阅读 2014-04-30 19:15:54
    此规范包括表名命名规范,索引命名规范,外键命名规范和字段名命名规范。 一、表名命名规则 1.数据库命名以是名词复数形式且都为小写,如cities, categories, friends等等 2.如果表名由几个单词组成,则...
  • 数据库表及字段命名、设计规范1、命名规范1.1数据表的命名规范:1)表前缀应该用系统或模块英文名的缩写(全部大写或首字母大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称缩写作为前缀,否则以...
  • 数据库命名规范(表、字段名

    千次阅读 2016-12-14 10:36:28
    数据库命名规范(表、字段名数据库命名规范 一.实体和属性命名 1. 常用单词已经进行了缩写,在命名过程当中,根据语义拼凑缩写即可。注意,由于ORCAL数据库会将字段名称统一成大写或者小写中一种,...
  • 数据库命名规范(表、字段名)数据库命名规范一.实体和属性命名1.常用单词已经进行了缩写,在命名过程当中,根据语义拼凑缩写即可。注意,由于ORCAL数据库会将字段名称统一成大写或者小写中一种,所以要求加上...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 610
精华内容 244
关键字:

数据库的字段名命名规范