命名规范 应用程序的命名 “系统简称”+模块名称 子模块的命名 每个子模块的名字应该由描述模块功能的1-3以单词组成。每个单词的首字母应大写。在这些单词中可以使用一些较通用的缩写。...变量分为取全局变量和局部变量,对于全局变量以加前缀“g_”来区分。 使用有意义的英语单词,使用大小写分隔,每个单词的第一个字母为大写 ?...方法名称应该是一个动词或动名词短语,意思是“完成什么功能”,“执行什么操作”。 数据库的命名 1) 表 采用“模块名简称+前缀+’_’+表名”的命名规则。...表名以能理解该表的内容为原则, 可由中文表示,也可由代表此表含义的英文字母组成;首字母大写;前缀代表此表类别。...5) 字段 字段的命名以能理解该字段的含义为原则,通常由多个英文单词加前缀拼写而成,而组成字段名称的首字母应大写。单词有缩写的可用缩写。 字段的前缀表示该字段的数据类型,其取值详见“数据类型”描述。
2-命名规范 应用程序的命名 “系统简称”+模块名称 子模块的命名 每个子模块的名字应该由描述模块功能的1-3以单词组成。每个单词的首字母应大写。在这些单词中可以使用一些较通用的缩写。...如果接口包含多个单词,每个单词的首字母大写,其他字母小写,如果,这些单词是缩略语(例如XML),也要首字母大写,其他字母小写(写为Xml)。...类的命名 类名称要以大写字母开头; 类名称如果包含多个单词,每个单词的首字母要大写,其他字母小写;如果这些单词是缩略语(例如XML),也要首字母大写,其他字母小写(写作Xml); 类名称应该是一个名词或名词短语...数据库的命名 表: 采用“模块名简称+前缀+’_’+表名”的命名规则。表名以能理解该表的内容为原则, 可由中文表示,也可由代表此表含义的英文字母组成;首字母大写;前缀代表此表类别。...字段: 字段的命名以能理解该字段的含义为原则,通常由多个英文单词加前缀拼写而成,而组成字段名称的首字母应大写。单词有缩写的可用缩写。字段的前缀表示该字段的数据类型,其取值详见“数据类型”描述。
名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的, 比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。...5.2.4 常量名 常量名命名模式为CONSTANT_CASE,全部字母大写,用下划线分隔单词。那,到底什么算是一个常量? 每个常量都是一个静态final字段,但不是所有静态final字段都是常量。...在决定一个字段是否是一个常量时,考虑它是否真的感觉像是一个常量。 例如,如果任何一个该实例的观测状态是可变的,则它几乎肯定不会是一个常量。..._模块名_逻辑名称 用途_模块名_颜色 用途_逻辑名称 用途_颜色 说明:用途也指控件类型(具体见UI控件缩写表) 例如: btn_main_home.png 按键 divider_maket_white.png...,采用以下规则:模块名+逻辑名称 main_tabBottom 5. layout中的id命名 命名模式为:view缩写_view的逻辑名称 使用 AndroidStudio 的插件 ButterKnife
规则 1.3.4.3 当一个PL/SQL 或SQL 语句中涉及到多个表时,始终使用别名来限定表名和字段名,这使其它人阅读起来更方便,避免了含义模糊的引用,并能够别名中清晰地判断出表名和相关字段名。...( 这里指表的命名,字段一般很少加前缀) yhqx 热爱中文的人,前提是恐怕您得对这些缩写先做好相关备注,等大家习惯了才行。...规则 1.4.1.2 严禁使用带空格的名称来对字段和表命名;在产生数据库脚本并重新加载的时候可能会出现意想不到的错误而被迫终止。...规则 1.4.2.1 其它对象的命名也与表和字段的命名规则类似,风格保持一致即可 规则 1.4.2.2 除数据库名称长度为1 -8 个字符,其余为1 -30 个字符,database link 名称也不要超过...规则1.7 .1 避免隐式的数据类型转换。 说明:在书写代码时,必须确定表的结构和表中各个字段的数据类型,特别是书写查询条件时的字段就更要注意了。这个是导致SQL 性能不佳常犯的错误之一。
结构化:表由列、行分割成一个个网格组成。 特定类型:表的每条记录将有着相同项,不应将顾客的清单和订单的清单存储在一个表中。 表名:数据库中的每个表都有一个名字,用来标识自己。...此名字是唯一的, 这表示数据库中没有其他表具有相同的名字。不同数据库的表可以用相同的名字。 模式(schema):关于数据库和表的布局及特性的信息。 列(column):表中的一个字段。...每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。数据类型有利于统一规则进行排序。 行(row):表中的一个记录。表中的数据是按行存储的,一条记录一个行。...表中的任何列都可以作为主键,只要它满足以下条件: 任意两行都不具有相同的主键值; 每个行都必须具有一个主键值(主键列不允许NULL值)。...SQL SQL(发音为字母 S-Q-L 或 sequel)是结构化查询语言(Structured Query Language)的缩写。SQL 是一种专门用来与数据库通信的语言。
一:新建表和字段建议: 1.所有数据表和字段要有清晰的注释,字段说明 说明:不管是创建者还是其他开发或者后续维护者都能清楚知道数据表和字段定义的含义 2.表名、字段名使用小写字母或数字,禁止出现数字开头... 说明:MySQL在Windows下不区分大小写,但在Linux下默认是区分大小写,为了避免出现不必要的麻烦,统一使用小写 3.每个列都设置为not null(如果列为BLOB/TEXT类型的,则这个列不能设置为...当可为NULL的列被索引时,每个索引记录需要一个额外的字节,如果计划在列上建索引,应该避免将列设计为NULL。...9.命令规范:主键索引名以pk_字段名;唯一索引名uk_字段名;普通索引名idx_字段名;临时表则以tmp为前缀 10.小数类型为decimal,禁止使用float和double 说明:float...次方 二:增删改查好习惯 1.SELECT语句指定具体字段名称,禁止写成*,select *会将不该读的数据也从MySQL里读出来,造成不必要的带宽压力 2.分页查询,当limit起点较高时,可先用过滤条件进行过滤
此时,应以业务或者模块为划分,对表添加前缀,例如:pay_ 表示支付相关表,user_ 表示用户相关表。...(获取上级单位名称) 此时则应该考虑使用缩写: 如果可以在字典里找到一个词的缩写,就用这个做为缩写,比如:Mon(Monday)、Dec(December) 可以删除单词元音(词首字母除外)和每个单词的重复字母来缩写一个单词...外键的命名 外键的命名为 fk_外键所在的表名_外键引用的表名。因为外键所在的表为从表,所以上式可以写为 fk_从表名_主表名。 外键包含的字段的命名,外键包含的字段和外键是完全不同的概念。...外键包含字段的命名,建议为:外键所在的表名 + Id。 考虑这样一个关系,表Hotel,字段Id, Name, CityId。表City,字段Id,Name。...因为一个城市可能有好多家酒店,所以是一个一对多的关系,City是主表(1方),Hotel是从表(多方)。在Hotel表中,CityId是做为外键使用。
),另一个表B存储开课信息(有哪些课程开课),如果B中重复存储了A的课程名称、简介、学分、院系等信息,一旦A中的信息更新,B中和A中信息便出现不一致; 正确的做法是,B中只存储课程编号,并以此和A相关联...年龄、选课id等),对于“课程级别”的信息,应当坚决的存储在A而不是C中,而且尽量避免将A、C合并成一个表(可能刚开始是设计成一个表),而且A、C间尽量解耦; 字段不可再分: 一个字段中不要出现分隔符,...或者在一个字段中存储多个信息; 例如,first name和last name不要放在同一个字段中,稳定版本号和临时版本号不要放在同一个字段中; 考虑性能: 上述原则可能造成多表连接查询的情况出现,降低性能...; 如果性能成为主要矛盾,则上述原则也不绝对; 数据库命名原则 数据库的命名会直接影响到上层应用的名称,所以要和业务部门仔细讨论、慎重确定; 每个属性名在数据库中只有唯一的含义,number这个属性名可能表示电话号码或是房间号...等; boolean类型的命名要用is_xxx格式; 数据库设计其他注意事项 每个表都要有主键,名称是id,类型为bigint; 主键的类型是设为integer还是long,取决于这个系统用多长时间,如果要用
,可用来存储某种特定类型的数据 数据库中每个表都有唯一的一个名字,用来标识自己,表名的唯一性取决于多个因素:如数据库名等结合(相同数据库不能出现名字相同的表,但不同数据库可以使用相同的表名) 表具有一些特性...):关于数据库和表的布局及特性的信息,一般指给予表的一些定义 3、列和数据类型 表由列组成,列中存储着表中某部分的信息 列(column):表中的一个字段;所有表都有由一个或多个列组成的 分解数据:正确的将数据分解为多个列极为重要...行(row):表中的一个记录 表中的数据是按行存储的,保存的每个记录存储在自己的行内;如果将表想象为网格,网格中垂直的列为表列,水平行为表行 5、主键 主键(primary key):一列或一组列,其值能够唯一区分表中的每一行...;唯一标识表中每行的这个列(或这组列)称为主键 主键用来表示一个特定的行;没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证操作只涉及相关的行 主键并不总是需要,但大多数情况下都应保证每个表具有一个主键...,以便于数据操作和管理 表中任何列都可以作为主键,只要满足以下2个条件: ①任意两行都不具有相同的主键值; ②每个行都必须具有一个主键值(主键列不允许NULL值); 主键值规则:主键通常定义于表的一列上
如果就是我一个人开发,一个人维护的话还好,可是如果一个项目是团队分工合作,这样让你的同事去看你的代码就更加吃力了,因为大家之间的编程方式不一样,所以,在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法...类 (activities层级名用户界面层) com.xx.应用名称缩写.base 页面中每个Activity类共享的可以写成一个i额BaseActivity类 (基础共享的类) com.xx.应用名称缩写...,除非该缩写是众所周知的, 比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。...命名规范为“资源控件的缩写 名”+“变量名”。...view变量命名 命名模式为:逻辑名称+view缩写 建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view 13
职级比表:hr_rank 尽量避免使用数据库关键字 name time,使用 file_name,add_time 表名使用单数/复数建议考虑对应情况比如文件-人员是多对一,文件表可以为 hr_files...遵循以上规范的同时提高实用性,比如适当使用缩写,例如:定单的名称为:po_order,则采购定单的明细表为:po_orderdtl 遵循以上规范的同时命名简单明了,避免生僻单词 应有描述信息 命名建议采用...0(false) 字段长度考虑实际情况比如 id 使用 uuid 在oracle中应为VARCHAR 2(36) 其他常用字段规范: 电话: 手机: 开始时间: 结束时间...BINARY_DOUBLE:BINARY_DOUBLE是一种64位双精度浮点数数据类型。每个BINARY_DOUBLE值需要8个字节。在NUMBER列中,浮点数具有小数精度。...在a BINARY_FLOAT或BINARY_DOUBLE列中,浮点数具有二进制精度。二进制浮点数支持特殊值无穷大和NaN(不是数字)。
命名规范 通常的命名方式是:ODS_应用系统名(或缩写)_数据库类型_(数据库名称可省略)_数据表名_加载方式(增量还是全量),表名不能太长,一般不超过30字。...加工脚本命名和调度 通常加工脚本,调度任务名称名称和表名称相同。 03DWM层规范 一. 命名规范 通常的命名方式是:前缀为DWM_主题名(缩写)_功能描述_加工方式。 二....加工脚本命名和调度 通常加工脚本,调度任务名称名称和表名称相同。 04DWS层规范 一. 命名规范 通常的命名方式是:前缀为DWS_主题名(缩写)_功能描述。...一种是在离线采集时已经自动生产的DDMQ或者是Kafka topic,这类型的数据命名方式为采集系统自动生成规范为:cn-binlog-数据库名-数据库名 eg:cn-binlog-ihap_fangyuan-ihap_fangyuan...第一:对于一些共性指标的加工,比如pv,uv,订单业务过程指标等,我们会在汇总层进行统一的运算,确保关于指标的口径是统一在一个固定的模型中完成。
,而不是 employees 明细表的名称为:主表的名称+字符dtl(detail缩写) 例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl (7)表必须填写描述信息...(3)字段必须填写描述信息 (4)禁止使用数据库关键字,如:name,time ,datetime password 等 (5)字段名称一般采用名词或动宾短语 (6)采用字段的名称必须是易于理解,一般不超过三个英文单词...(7)在命名表的列时,不要重复表的名称 例如,在名employe的表中避免使用名为employee_lastname的字段 (8)不要在列的名称中包含数据类型 (9)字段命名使用完整名称,禁止缩写 3.2...数据库中每个字段的规范描述 (1)尽量遵守第三范式的标准(3NF) 表内的每一个值只能被表达一次 表内的每一行都应当被唯一的标示 表内不应该存储依赖于其他键的非键信息...(2)如果字段事实上是与其它表的关键字相关联而未设计为外键引用,需建索引 (3)如果字段与其它表的字段相关联,需建索引 (4)如果字段需做模糊查询之外的条件查询,需建索引 (5)除了主关键字允许建立簇索引外
DDL设计标准 1、 所有表的DDL,都不回退 2、 数据库命名规范,统一:hs_xxxx;表名不超过40个字符(即最大只能40个字符) 3、 表一旦设计好,字段只允许增加,不允许减少(drop column...),不允许改名称(change column) 4、 统一使用INNODB存储引擎,UTF8编码(整个数据库的编码统一为utf8_general_ci,为此不需要建立表的DDL加上特别CHARACTER...索引使用标准 1、非唯一索引建议使用“idx_表缩写名称_字段缩写名称”进行命名。 2、唯一索引建议使用“uniq_表缩写名称_字段缩写名称”进行命名。 3、索引名称必须使用小写。...每个业务实体表和关系表都应该至少有一个业务主键对应的唯一索引。 5、索引字段的顺序需要考虑字段值去重之后的个数,个数多的放在前面,就是数据分布。...22、 如果应用使用的是长连接,应用必须具有自动重连的机制。
不知道大家有没遇到过是用 MyCat 进行分库分表的数据库,对于这种的数据库,相信大家在是用 Navicat 进行连接时候,会发现,有时候明明自己的表是存在的,但是在使用 Navicat 的时候,左边是看不到这个表的...是,DESC 在排序的时候确实是使用的,但是此 DESC 非彼 DESC,这里的 DESC 实际上是 DESCRIBE 的缩写,而 排序所用的 DESC 是 DESCEND 的缩写,这个你懂了么?...4.Seq_in_index 索引中的列序列号,从1开始。上图中的四、五条数据,Seq_in_index一个是1一个是2,就是表明在联合索引中的顺序,我们就能推断出联合索引中索引的前后顺序。...5.Column_name 索引的列名。 6.Collation指的是列以什么方式存储在索引中,大概意思就是字符序。 7.Cardinality 是基数的意思,表示索引中唯一值的数目的估计值。...,如果表已经创建好了,那么再添加索引,那就还得是 ALTER ALTER TABLE table_name add INDEX `index_name` (`xxx`,`xx`,`x`) 以上的语句替换一下表名和索引的名称和字段的名称
---- 命名规范 对象名称必须使用小写,多单词统一使用下划线分割 命名的单词必须做到顾名思义、简洁,表名长度不要超过16个字符,字段名称长度不要超过32个字符 禁止使用保留字并且尽量少用含有关键词来命名...所有的表和字段必须添加注释 这个是好习惯的问题,即使做到了顾名思义,以防万一哪天健忘或理解错误,同时给后人留下后路,提高维护性。使用comment设定注释。...字段设计规范 尽可能不要在表中建立顾名思义的扩展字段 比如ext、ext_1、extend_n,时间一长,好几个这样的字段,即使每一个都有comment,也会造成SQL的可读性,特别是在构建SQL语句的时候...避免ENUM数据类型 在MySQL中,存储枚举类型的数据在库中,字段列中保存的值实际为整数,特别容易导致开发者混乱,同时在查询使用排序是基于数值整型的,虽然可以使用ORDER BY FIELD(),但是会导致索引失效...表与表关联的键名保持一致或以关联表名的缩写为前缀 规范事项,保持规范、养成习惯,提高程序的可读性。 固定长度的字符串字段务必使用CHAR 节省存空间、降低内存使用率、提高读写性能。
本文是一篇包含了数据库命名、数据库表命名、数据库表字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修改,为日后涉及到数据库相关的研发工作做好准备。...,而不是 employees 明细表的名称为:主表的名称+字符dtl(detail缩写) 例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl (7)表必须填写描述信息...(7)在命名表的列时,不要重复表的名称 例如,在名employe的表中避免使用名为employee_lastname的字段 (8)不要在列的名称中包含数据类型 (9)字段命名使用完整名称,禁止缩写 3.2...数据库中每个字段的规范描述 (1)尽量遵守第三范式的标准(3NF) 表内的每一个值只能被表达一次 表内的每一行都应当被唯一的标示 表内不应该存储依赖于其他键的非键信息...(2)如果字段事实上是与其它表的关键字相关联而未设计为外键引用,需建索引 (3)如果字段与其它表的字段相关联,需建索引 (4)如果字段需做模糊查询之外的条件查询,需建索引 (5)除了主关键字允许建立簇索引外
在MySQL中,数据库名、表名、列名(或字段名)在Windows环境下是大小写不敏感的,而在Linux环境下是大小写敏感的。推荐的做法是将数据库名、表名、列名等小写,而将SQL关键字、函数名大写。...命名规则: 数据库、表名不得超过一定字符数限制(如MySQL中通常为30个字符),变量名也有类似限制。...名称必须只能包含字母(A-Z, a-z)、数字(0-9)和下划线(_),且不能包含空格或特殊字符。 同一个数据库软件中,数据库名不能重名;同一个库中,表名不能重名;同一个表中,字段名不能重名。...如果表属于某个特定模块或系统,可以在表名前加上该模块或系统的缩写作为前缀。 布尔类型的字段可以使用is_作为前缀,后接动词过去分词,如is_active。...简洁性:名称应尽可能简洁,避免使用冗长的名称。但是,简洁性不应以牺牲描述性为代价。 可读性:名称应具有良好的可读性,以便于其他开发人员理解和维护。
前言 每一个好习惯都是一笔财富,本文分SQL后悔药, SQL性能优化,SQL规范优雅三个方向,分享写SQL的21个好习惯,谢谢阅读,加油哈~ 1....「SQL效率很可能更高」,你在SQL行中,加了limit 1,如果第一条就命中目标return, 没有limit的话,还会继续执行扫描表。...设计表的时候,所有表和字段都添加相应的注释(SQL规范优雅) 这个好习惯一定要养成啦,设计数据库表的时候,所有表和字段都添加相应的注释,后面更容易维护。...尽量把所有列定义为NOT NULL(SQL规范优雅) 「NOT NULL列更节省空间」,NULL列需要一个额外字节作为判断是否为 NULL 的标志位。...如果修改字段含义或对字段表示的状态追加时,需要及时更新字段注释。(SQL规范优雅) 这个点,是阿里开发手册中,Mysql的规约。
领取专属 10元无门槛券
手把手带您无忧上云