数据库字段 英文-数据库表新增字段sql
数据库表及字段命名、设计规范
1.表格设计
1.1 数据库表的命名规范:
1)表格前缀应使用系统或模块英文名称的缩写(全部大写或首字母)。 如果系统功能简单,没有进行模块划分,可以使用系统英文名称的缩写作为前缀; 否则,可以使用各模块英文名称的缩写作为前缀。 例如:如果有一个模块叫BBS(简称BBS),那么你的数据库中所有对象的名称都必须加上这个前缀:BBS_+数据库对象名,BBS_CustomerInfo表示论坛模块中的客户信息表。
2)表名必须通俗易懂。 使用能表达表格功能的英文单词或英文缩写词。 无论是完整的英文单词还是缩写的英文单词,单词的首字母都必须大写。 如果当前表格可以用一个英文单词来表示,请用一个完整的英文单词来表示; 例如:系统数据中客户表的表名可以命名为:SYS_Customer。 如果当前表格需要用两个或两个以上的词来表示数据库字段 英文,尽量写成完整的形式,如果太长,可以使用两个英文词的缩写形式; 例如:系统数据中的客户物料表可以命名为:SYS_CustItem。
3)表名不要太长(一般不超过三个英文单词)。
4) 命名表时,名称使用单数形式。 例如,使用 Employee 而不是 Employees。
5) 对于具有主详细信息的表。 明细表的名称为:主表名+字符Dts。 例如:采购订单名称为:PO_Order,采购订单明细为:PO_OrderDts
对于有master details的表,detail表必须包含两个字段:主表的key,SN数据库字段 英文,SN字段的类型是int,目的是和主表的key组合成key明细表,并标记明细记录的顺序,如1,2,3....
6)表格必须填写描述信息
7)后台表名尽量与前台表名相同,后台唯一表后缀_b。 作为 r_gggd_b
1.2 表字段命名规范
数据库字段的命名必须遵循以下约定:
1) 使用有意义的字段名称。 字段名称必须是通俗易懂、能表达字段功能的英文单词或缩写英文单词。 单词首字母必须大写,一般不超过三个英文单词。 例如:人员信息表中的电话号码可以命名为:Telephone或Tel。 产品列表中的产品名称可以用 ProductName 来表示。 (一般建议使用完整的英文单词)。
2)系统中所有属于内码的字段(只用于标示程序内部使用的唯一和标记的字段),名称为:“ID”,使用整型或长整型,视可能的数据量而定当然,添加记录时取最大值加1,这个字段一般是主键。
3)系统是业务范围内的一个带编号的字段,代表一定的业务信息,如数据信息、单据编号等。 建议将这样的字段命名为:“Code”,数据类型为varchar。 该字段需要添加唯一索引。
4)命名表的列时,不要重复表名; 例如,避免在名为 Employee 的表中使用名为 EmployeeLastName 的字段。
5) 不要在列名中包含数据类型。
2、设计规范
1)所有字段在设计时必须有默认值,除了以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary、varbinary。 字符类型的默认值为空字符串''; 数字类型的默认值是值 0; 逻辑类型的默认值是值 0;
其中:系统中所有逻辑类型中的值0表示“false”; 值 1 表示“真”。
datetime 和 smalldatetime 类型的字段没有默认值,必须为 NULL。
2)当字段定义为字符串时,建议使用varchar而不是nvarchar。
3)建议在大部分表格(如报销单、申请表)中,应有如下字段:
字段名称 描述 类型 默认值
CreatorID 创建者 int 0
CreatedTime 创建时间 Datetime NULL
字段说明
数据库中各个字段的说明如下:
1)尽量符合第三范式(3NF)的标准。
2)表中每个值只能表示一次
3)表格中的每一行都应该被唯一标记
4)依赖于其他键的非键信息不应该存储在表中
5)如果该字段实际关联了其他表的关键字,没有设计成外键引用,则需要建索引。
6)如果该字段与其他表的字段相关联,则需要建立索引。
7)如果字段需要进行模糊查询以外的条件查询,需要建立索引。
8)除主键允许创建聚簇索引外,其他字段上建的索引必须是非聚簇索引。
9)该字段必须填写描述信息
3.SQL语言编码规范
1. 所有关键字必须大写。
如:INSERT、UPDATE、DELETE、SELECT及其子句。 IF...ELSE、CASE、DECLARE 等
2. 除用户变量外的所有函数及其参数必须大写。
3. 定义变量时使用的数据类型必须是小写。
4.所有关键字必须大写
3.2 注意事项
评论可以包含在批次中。 在触发器、存储过程中加入描述性注释,会大大增加文本的可读性和可维护性。 本规范建议:
1.注释以英文为主。
在实际应用中,发现中文注释的SQL语句版本在英文环境下是不可用的。 为避免后续版本执行过程中出现某些异常错误,建议使用英文注释。
2. 注释应尽可能详细和全面。
在创建每个数据对象之前,应该详细描述对象的功能和用途。
应该解释一下传入参数的含义。 如果确定了取值范围,还应一并说明。 对于具有特定含义的变量(如布尔型变量),应给出每个值的含义。
3、注释语法包括单行注释和多行注释两种情况
单行注释:注释以两个连字符 (--) 开头,以行尾序列 (CR-LF) 结束。 通常,这种类型的注释可用于变量和条件从句。
多行注释:符号之间的内容为注释内容。 建议对完整操作使用此类注解。
4、注释要简明扼要,说明要清楚。
五、功能点评:
在编写函数文本时——例如触发器、存储过程和其他数据对象——您必须为每个函数添加适当的注释。 注释主要是多行注释,主要结构如下:
创建过程 sp_xxx
3.3 条件执行语句if...else
条件语句块(statenemt 块,以 begin...end 为界)仅在 if 子句的条件为真时执行。
为了提高代码的可读性,建议嵌套不要超过5层。 另外,当嵌套层级过多时,要考虑是否可以使用case语句。
3.4 重复while和跳转语句goto
需要多次执行的语句可以使用while结构。 其中,控制while循环的条件需要在任何处理开始之前执行一次。 循环体中的保留字break无条件退出while循环,然后继续处理后面的语句; 保留字continue重新计算while条件,如果条件为真,则从循环开始重新执行每条语句。
使用跳转语句 goto 和 labels 也可以轻松实现循环和其他更灵活的操作。 SQL SERVER 只有单程解析器,因此无法解析对尚未创建的对象的前向引用。 换句话说,跳转到标签的后续语句应该是可执行的(例如,没有可能尚未创建的数据对象)。
3.5 写作格式
数据库服务器端的触发器和存储过程是一种特殊的文本类型,为了方便开发和维护,提高代码的易读性和可维护性。 规范建议使用分级缩进编写此文本。
顺序执行的命令处于同一级别; 条件块(statenemt 块,以 begin...end 为边界)在下一层,依此类推。
SQL 语句是本文的主体。 为了满足一些复杂的用户需求,SQL语句可能比较大。 为了阅读和维护的方便,规范建议将SQL语句按照系统保留字的重要程度分为三个级别。 具体评分请参考下表。 其中,非系统保留字(如字段名、数据表名、标点符号)比本级保留字高一级缩进。 多个连续的非保留字可以写在不同的行上,也可以写在同一行上。 当WHERE包含复杂的条件从句时,每行只写一个条件从句,重要的条件从句填写单行注释。
在保证基本缩进格式的前提下,通过对齐一些重要的关键字(如条件关键字AND、OR、符号=等)可以进一步提高文本的易读性和可维护性。
两个相邻级别之间的缩进为 10 个空格。 这也是 ISQL 编辑器的默认文本缩进。 另外,在ISQL编辑器中,一个TAB键相当于10个空格。
4.数据对象的国际化
4.1 关于数据对象的命名
所有数据对象和变量均以英文字符命名。 禁止使用中文名称。 其他命名注意事项和规范请参考2命名规则。