数据库命名规范(表、字段名)
- 格式:docx
- 大小:11.84 KB
- 文档页数:5
数据库命名规范数据库命名规范是指在设计和管理数据库时,为数据库、数据表、字段等各个元素命名时应遵循的一些规则和约定。
良好的数据库命名规范可以提高数据库的可读性、可维护性和易用性。
下面是一个较为详细的数据库命名规范,总计1000字。
1. 数据库命名规范1.1 数据库名应该具有描述性,能够清晰地表达数据库所存储的数据的含义。
1.2 数据库名应该使用小写字母,并可以使用下划线(_)进行分隔,以提高可读性。
1.3 不要使用特殊字符、空格或保留字作为数据库名。
2. 表命名规范2.1 表名应该使用小写字母,并可以使用下划线(_)进行分隔,以提高可读性。
2.2 表名应使用单数形式,避免使用复数形式。
2.3 表名应具有描述性,能够清晰地表达表的含义。
3. 字段命名规范3.1 字段名应使用小写字母,并可以使用下划线(_)进行分隔,以提高可读性。
3.2 字段名应具有描述性,能够清晰地表达字段的含义。
3.3 字段名应使用名词或名词短语,避免使用动词作为字段名。
3.4 字段名不应过长,一般不超过30个字符。
3.5 字段名不应使用保留字,以免造成歧义。
4. 主键命名规范4.1 主键字段名应使用表名加上“_id”的形式,以提高可读性。
4.2 主键字段名应具有描述性,能够清晰地表达主键的含义。
4.3 主键字段名应使用具体的名词,不应使用抽象的名词作为主键字段名。
5. 外键命名规范5.1 外键字段名应使用被关联表名加上“_id”的形式,以提高可读性。
5.2 外键字段名应具有描述性,能够清晰地表达外键的含义。
5.3 外键字段名应使用被关联表的主键字段名作为前缀,以区分不同的外键。
6. 索引命名规范6.1 索引名应使用小写字母,并可以使用下划线(_)进行分隔,以提高可读性。
6.2 索引名应具有描述性,能够清晰地表达索引的含义。
6.3 索引名应使用被索引的字段名作为前缀,以便于识别和管理。
7. 视图命名规范7.1 视图名应使用小写字母,并可以使用下划线(_)进行分隔,以提高可读性。
数据库命名规范数据库命名规范1.采用26个英文字母加数字加下划线组成,不能出现其他字符。
2.多个单词用下划线连接。
3.命名不得超过30个字符。
4.单词建议使用完整的单词,如果导致长度超过30个字符,则从最后一个单词开始,一次使用该单词的缩写,如果没有约定的缩写,则采用该单词的前4个字母来表示。
5.要使用能正确表达表意义的单词。
6.不使用保留字.7.命名要有实际的意义.库命名规范使用小写英文字母和下划线备份数据库名使用正式库名加时间组成,如:gaiya_20110525表命名规范1)表名要全部小写2)表名必须以模块名开头,如果单词太长,可以采用缩写。
3)公用的表要以‘pub_’开头4)关系表要以‘_rel’结尾,如:user_authority_rel user_group_rel5)单词要采用单数,如:gift,poster6)同一模块的表要以相同的前缀开头(优先级低于第五条),如:字段命名规范1)字段名全部小写2)字段名有两个单词的情况,用“_”连接,如:poster表字段poster_name,不推荐用posterName3)字段最好带表名前缀,如poster表字段poster_id;如果表名过长,可以取表名缩写,如果表名是多个单词组合,可以取第一个单词外加后续单词的首字母。
4)表与表之间关联的字段要用统一的名称,如:跟user表关联的user_id字段。
跟pub_class表关联的pc_id字段。
5)主键以’_id’结尾,主键作为外键的可以除外,6)时间类型的字段以‘_date’结尾7)状态字段统一用state,作为删除回收站使用字段类型规范1)用尽量少的存储空间来存储一个字段的数据2)主键统一类型char(22)3)时间类型统一用bigint索引命名规范idx[0-9]_[表名简写]_[实际名字]其他1、数据不使用外键,在实体层关联2、一对一的关系,即是主键又是外键的方式3、关系表不采用联合主键,单独创建主键。
MySQL数据库表和字段命名规范导言:在数据库设计和开发中,表和字段的命名规范是非常重要的。
一个良好的命名规范能够提高代码的可读性、可维护性和辨识度。
本文将介绍一些常见的MySQL 数据库表和字段命名规范,希望对读者在数据库开发中有所帮助。
一、表命名规范1. 采用小写字母命名表名。
这样可以避免在跨平台时大小写不敏感的问题,并且有助于代码的一致性。
2. 多个单词用下划线(_)分隔。
例如,user_info、order_detail等。
3. 尽量给表名取得有意义且具有描述性的名字,能够清楚表达出表所存储的内容。
二、字段命名规范1. 采用小写字母命名字段名。
同样,这可以避免大小写不敏感的问题。
2. 也可以使用下划线(_)分隔。
例如,create_time、user_id等。
3. 尽量给字段取得有意义的名字,能够清楚表达字段所存储的数据。
三、表和字段命名的一些约定1. 避免使用MySQL保留字作为表名或字段名。
在MySQL中有一些保留字(如select、update等),如果使用这些保留字作为表名或字段名,可能引发一些潜在的问题,在查询时需要特殊处理。
可以在命名中加上下划线或其他可辨识符号来避免与保留字的冲突。
2. 避免使用过长或过于简短的命名。
过长的命名可能造成代码的冗余,过于简短的命名可能不具备辨识度。
合理的命名长度可以提高代码的可读性和可维护性。
3. 避免使用缩写和简写。
虽然缩写和简写可以减少字符数,但是在团队协作中容易引起误解和混淆。
具有明确、清晰含义的命名可以降低开发和维护的成本。
4. 保持命名的一致性。
在整个数据库中,保持表和字段的命名一致性,可以提高理解和维护代码的效率。
例如,如果一个表的主键命名为"id",那么在其他表中也保持主键命名为"id",而不是使用其他类似"pk"或"key"的名称。
四、表和字段命名的示例以下是一些常见的表和字段命名示例,仅供参考,读者可以根据实际情况进行调整:1. 用户信息表:user_info(字段包括user_id, username, password, email等)2. 订单详情表:order_detail(字段包括order_id, product_id, quantity等)3. 商品信息表:product_info(字段包括product_id, product_name, price等)4. 地址信息表:address_info(字段包括address_id, user_id, address等)结论:良好的MySQL数据库表和字段命名规范是数据库开发中必不可少的一部分。
命名规范l 命名规范1 、表属性规范1.表名对于各子系统部分,表名称前缀由各部分缩写加“_”组成。
各部分命名约定管理控制台定义的表以CON_数据表名称必须以有特征含义的单词或缩写组成,中间不再用“_”分割,例如:SYS_TABLENAME。
为前缀,表单设计定义的表以ENG_为前缀,数据中心定义的表以DTC_为前缀,协作平台定义的表以FRM_为前缀,业务数据表以BIZ_为前缀。
1.2 表分区名前缀为P_ 。
分区名必须有特定含义的单词或字串。
例如:SYS_TABLENAME 的分区P_2004100101表示该分区存储2004100101时段的数据。
1.3 字段名字段名称必须用字母开头,采用有特征含义的单词或缩写,中间不再用“_”分割。
1.4 主键名前缀为PK_。
主键名称应是前缀+表名+构成的字段名。
如果复合主键的构成字段较多,则只包含第一个字段。
表名可以去掉前缀。
1.5 外键名前缀为FK_。
外键名称应是前缀+ 外键表名+ 主键表名+ 外键表构成的字段名。
表名可以去掉前缀。
2 索引2.1 普通索引前缀为IDX_。
索引名称应是前缀+表名+构成的字段名。
如果复合索引的构成字段较多,则只包含第一个字段,并添加序号。
表名可以去掉前缀。
2.2 主键索引前缀为IDX_PK_。
索引名称应是前缀+表名+构成的主键字段名,在创建表时候用using index指定主键索引属性。
2.3 唯一索引前缀为IDX_UK_。
索引名称应是前缀+表名+构成的字段名。
2.4 外键索引前缀为IDX_FK_。
索引名称应是前缀+表名+构成的外键字段名。
2.5 函数索引前缀为IDX_func_。
索引名称应是前缀+表名+构成的特征表达字符。
3 视图前缀为V_<子系统缩写>_ 。
按业务操作命名视图。
4 存储过程前缀为PRC_<子系统缩写>_ 。
按业务操作命名存储过程。
5 触发器前缀为TRIG_ 。
触发器名应是前缀+ 表名+ 触发器名。
数据库命名规范(表、字段名)一.实体和属性旳命名1.常用单词已经进行了缩写,在命名过程当中,根据语义拼凑缩写即可。
注意,由于ORCAL 数据库会将字段名称统一成大写或者小写中旳一种,因此规定加上下划线举例:定义旳缩写 Sales: Sal 销售;Order: Ord 订单;Detail: Dtl 明细;则销售订单名细表命名为:Sal_Ord_Dtl;2.假如表或者是字段旳名称仅有一种单词,那么提议不使用缩写,而是用完整旳单词。
一、【操作规范】1. 如无备注,则表中旳第一种id字段一定是主键且为自动增长;2. 如无备注,则数值类型旳字段请使用UNSIGNED属性;3. 如无备注,排序字段order_id在程序中默认使用降序排列;4. 如无备注,所有字段都设置NOT NULL,并设置默认值;5. 如无备注,所有旳布尔值字段,如is_hot、is_deleted,都必须设置一种默认值,并设为0;6. 所有旳数字类型字段,都必须设置一种默认值,并设为0;7. 针对varchar类型字段旳程序处理,请验证顾客输入,不要超过其预设旳长度;8. 建表时将数据字典中旳字段中文名和属性备注写入数据表旳备注中(“PK、自动增长”不用写);9. 如无阐明,建表时一律采用innodb引擎;二、【常用表名约定】0. 阐明:表前缀用项目名称首字母缩写;因此表名都小写,单词之间用下划线分开,单词都用单数形式1. user –顾客2. category –分类3. goods –商品、产品等一切可交易网站旳物品都用此命名4. good_gallery –物品旳相册5. good_cate –物品旳分类,除了单独作为表名,其他地方分类单词一律用缩写cate4. attr –属性5. article –文章、新闻、协助中心等以文章形式出现旳,一般都用此命名6. cart –购物车7. feedback –顾客反馈8. order –订单9. site_nav –包括页头和页尾导航10. site_config –系统配置表11. admin –后台顾客【RBAC原则表】12. role –后台顾客角色【RBAC原则表】13. access –后台操作权限,相称于action【RBAC原则表】14. role_admin –后台顾客对应旳角色【RBAC原则表】15. access_role –后台角色对应旳权限【RBAC原则表】16. 待续三、【常用列名约定】1. 表名_id –一般用作外键命名2. cid –特殊旳编号,带有元数据,以便关联查询,你可以把它理解成类别(层次)编号。
数据库命名规范(表、字段名)一.实体和属性的命名1.常用单词已经进行了缩写,在命名过程当中,根据语义拼凑缩写即可。
注意,由于ORCAL 数据库会将字段名称统一成大写或者小写中的一种,所以要求加上下划线举例:定义的缩写Sales: Sal 销售;Order: Ord 订单;Detail: Dtl 明细;则销售订单名细表命名为:Sal_Ord_Dtl;2.如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。
举例:定义的缩写Material Ma 物品;物品表名为:Material, 而不是Ma.但是字段物品编码则是:Ma_ID;而不是Material_ID3.所有的存储值列表的表前面加上前缀Z目的是将这些值列表类排序在数据库最后。
4.所有的冗余类的命名(主要是累计表)前面加上前缀X冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段。
或者表5.关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写。
关联表用于保存多对多关系。
如果被关联的表名大于10个字母,必须将原来的表名的进行缩写。
如果没有其他原因,建议都使用缩写。
举例:表Object与自身存在多对多的关系,则保存多对多关系的表命名为:R_Object;表Depart和Employee;存在多对多的关系;则关联表命名为R_Dept_Emp6.每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义,如果是数据库自动生成的编码,统一命名为:ID;如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名。
举例:销售订单的编号字段命名:Sal_Ord_ID;如果还存在一个数据库生成的自动编号,则命名为:ID。
7.所有的属性加上有关类型的后缀,类型后缀的缩写定义见文件《类型后缀缩写定义》,注意,如果还需要其它的后缀,都放在类型后缀之前。
二.关系的命名关系的命名基本上按照;如有特殊情况,可以灵活处理.[must/may/can/should][verb/verb+prep][a/many/exatly num][or a/many]的结构命名三.域的命名四.触发器的命名五.有关于默认的几点说明1.严格依赖关系的主细表,主表的后缀Main可以不写。
数据库命名规范一、数据库文件命名数据文件命名采用系统名+_+文件类型,比如系统名为ComSys,则数据库文件命名为ComSys_database.mdf,有的数据库文件有多个,比如SQL Server就有2个,一个是数据库文件,另一个是日志文件,那么他们的文件命名分别为ComSys_database.mdf,ComSys_log.log。
二、数据库对象命名规范数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。
对象名字由前缀和实际名字组成,长度不超过30。
1、前缀:使用小写字母。
如:表tb视图vi存储过程sp函数fn2、实际名字:实际名字尽量描述实体的内容,由单词或单词组合,每个单词的首字母大写,其他字母小写,不以数字和_开头。
如:表User_Info视图User_List存储过程User_Delete3、示例:合法的对象名字类似如下:表tb_User_Info tb_Message_Detail视图vi_Message_List存储过程sp_Message_Add三、表的命名1) 表名由前缀和实际名字组成。
前缀使用小写字母tb,表示表。
对工作用表来说,表名可以加上前缀WORK_ 后面附上采用该表的应用程序的名字。
在命名过程当中,根据语义拼凑缩写即可。
注意,由于ORCLE会将字段名称统一成大写或者小写中的一种,所以要求加上下划线。
举例:定义的缩写Sales: Sal 销售;Order: Ord 订单;Detail: Dtl 明细;则销售订单明细表命名为:tb_Sal_Ord_Dtl;2) 如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。
举例:定义的缩写Material Ma 物品;物品表名为:tb_Material, 而不是tb_Ma.但是字段物品编码则是:Ma_ID;而不是Material_ID3) 所有的存储值列表的表前面加上前缀Z目的是将这些值列表类排序在数据库最后。
数据库命名规则一.数据库:1. 基本命名规则表 1. 基本数据库对象命名2. 关于命名的约定变量 (T-SQL 编程中声明的变量 ) 、过程 ( 存储过程或触发器等 ) 、实体 ( 表、字段 ) 应该根据他们所代表的实体意义和进程作用来命名:表 2. 好的命名和不好的命名范例a. 动宾形式:动词放前面,名词放后面。
eg:prd_GetProductByIdb. 不要使用计算机术语,尽量使用面向公司业务的术。
c. 采用缩写如果完全根据上一条的要求,那么根据业务描述的过程名可能会变得很冗长,比如下面:prCountTotalAmountOfMonthlyPayments (计算每月付费的总金额)prGetParentOrganizationalUnitName ( 获取上级单位名称)Ø如果可以在字典里找到一个词的缩写,就用这个做为缩写,比如:Mon(Monday)、Dec(December)Ø可以删除单词元音(词首字母除外)和每个单词的重复字母来缩写一个单词。
比如:Current = Crnt、Address = Adr、Error = Err、Average = AvgØ不要使用有歧异的缩写(一般是语音上的歧义)。
比如b4(before)、xqt(execute),4tran(Fortran)3. 数据库命名根据项目的实际意义来命名4. 表命名“tbl_”+ 名称(名称尽量使用英文单词,每个单词的首字母大写)5. 字段命名表名(去掉前缀)缩写+ ”_”+ 属性名称(每个单词的首字母大写)缩写:五笔拆字法取字母一个单词:取前四个字母二个单词:取每个单词的前两个字母三个单词:取前两个单词的首字母和第三个单词的前两个字母。
四或四个以上:取前三个单词的首字母和最后一个单词的首字母。
6. 主键命名主键是针对一个表的, 而不是针对一个字段,因为主键是唯一的,一个表只能有一个主键。
数据库表字段命名规范摘要:当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题。
本文是一篇包含了数据库命名、数据库表命名、数据库表字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修改,为日后涉及到数据库相关的研发工作做好准备。
一、数据库命名规范采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔,一个项目一个数据库,多个项目慎用同一个数据库二、数据库表命名规范2.1数据表命名规范(1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔(2)全部小写命名,禁止出现大写(3)禁止使用数据库关键字,如:name,time ,datetime,password等(4)表名称不应该取得太长(一般不超过三个英文单词)(5)表的名称一般使用名词或者动宾短语(6)用单数形式表示名称,例如,使用 employee,而不是 employees明细表的名称为:主表的名称+字符dtl(detail缩写)例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl (7)表必须填写描述信息(使用SQL语句建表时)2.2命名规范①模块_+功能点示例:alllive_log alllive_category②功能点示例:live message③通用表示例:all_user2.3待优化命名示例①冗余:错误示例:yy_alllive_video_recomment yy_alllive_open_close_log 说明:去除项目名,简化表名长度,去”yy_”②相同类别表命名存在差异,管理性差错误示例:yy_all_live_category yy_alllive_comment_user说明:去除项目名,统一命名规则,均为”yy_alllive_”开头即可③命名格式存在差异错误示例:yy_showfriend yy_user_getpointsyy_live_program_get说明:去除项目名,统一命名规则,动宾短语分离且动宾逻辑顺序统一三、数据库字段命名规范3.1字段命名规范(1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔(2)全部小写命名,禁止出现大写(3)字段必须填写描述信息(4)禁止使用数据库关键字,如:name,time ,datetime password 等(5)字段名称一般采用名词或动宾短语(6)采用字段的名称必须是易于理解,一般不超过三个英文单词(7)在命名表的列时,不要重复表的名称例如,在名employe的表中避免使用名为employee_lastname的字段(8)不要在列的名称中包含数据类型(9)字段命名使用完整名称,禁止缩写3.2命名规范①名词示例:user_id user_name sex②动宾短语示例:is_friend is_good3.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”3.4字段类型规范(1)所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary 、varbinary 外,必须有默认值,字符型的默认值为一个空字符值串’’,数值型的默认值为数值0,逻辑型的默认值为数值0(2)系统中所有逻辑型中数值0表示为“假”,数值1表示为“真”,datetime、smalldatetime类型的字段没有默认值,必须为NULL(3)用尽量少的存储空间来存储一个字段的数据使用int就不要使用varchar、char,用varchar(16)就不要使varchar(256)IP地址使用int类型固定长度的类型最好使用char,例如:邮编(postcode)能使用tinyint就不要使用smallint,int最好给每个字段一个默认值,最好不能为null(4)用合适的字段类型节约空间字符转化为数字(能转化的最好转化,同样节约空间、提高查询性能)避免使用NULL字段(NULL字段很难查询优化、NULL字段的索引需要额外空间、NULL字段的复合索引无效)少用text类型(尽量使用varchar代替text字段)3.5数据库中每个字段的规范描述(1)尽量遵守第三范式的标准(3NF)表内的每一个值只能被表达一次表内的每一行都应当被唯一的标示表内不应该存储依赖于其他键的非键信息(2)如果字段事实上是与其它表的关键字相关联而未设计为外键引用,需建索引(3)如果字段与其它表的字段相关联,需建索引(4)如果字段需做模糊查询之外的条件查询,需建索引(5)除了主关键字允许建立簇索引外,其它字段所建索引必须为非簇索引四、SQL语言编码规范4.1大小写规范(1)所有关键字必须大写,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等(2)所有函数及其参数中除用户变量以外的部分必须大写(3)在定义变量时用到的数据类型必须小写4.2注释注释可以包含在批处理中,在触发器、存储过程中包含描述性注释将大大增加文本的可读性和可维护性,本规范建议:(1)注释以英文为主,实际应用中,发现以中文注释的SQL语句版本在英文环境中不可用,为避免后续版本执行过程中发生某些异常错误,建议使用英文注释(2)注释尽可能详细、全面创建每一数据对象前,应具体描述该对象的功能和用途,传入参数的含义应该有所说明,如果取值范围确定,也应该一并说明,取值有特定含义的变量(如boolean类型变量),应给出每个值的含义(3)注释语法:单行注释、多行注释单行注释:注释前有两个连字符(--)对变量、条件子句可以采用该类注释多行注释:符号之间的内容为注释内容,对某项完整的操作建议使用该类注释(4)注释简洁,同时应描述清晰(5)函数注释:编写函数文本--如触发器、存储过程以及其他数据对象--时,必须为每个函数增加适当注释,该注释以多行注释为主,主要结构如下:CREATE PROCEDURE sp_xxx(注:可编辑下载,若有不当之处,请指正,谢谢!)。
mysql命名规范
一、数据库命名规范
1、使用全小写字母。
2、使用下划线分隔单词,如:db_name,不要使用空格或者拼音的大写。
3、命名尽量采用有意义的英文或者拼音,要易于记忆。
二、表名命名规范
1、表名尽量采用单数形式,即一个表对应一个实体,实体的命名也就是表的命名。
2、建议使用英文单词或拼音,单词之间可以用下划线将单词分隔,如:
person_addresses,同时也可以使用驼峰命名法,如:personAddresses。
三、字段名命名规范
1、每个字段最好有双语名称,英文作为字段名,中文作为字段备注,以利于理解和使用。
2、字段的命名要简单明了,不要使用缩写或者特殊符号,同时应该把字段名分配给特定的实体,比如说用name而不是names来表示名称。
3、若主键使用自增长id,建议使用以id结尾的字段名,如user_id 。
四、索引命名规范
1、索引的命名应该表明当前索引是对哪个表和哪些字段进行创建的,所以以索引类型、表名和字段名作为索引的命名,如idx_blog_author_id。
2、建议使用驼峰式的命名,如idxBlogAuthorId。
数据库命名规范(表、字段名)一. 实体和属性的命名1常用单词已经进行了缩写,在命名过程当中,根据语义拼凑缩写即可。
注意,由于ORCAL数据库会将字段名称统一成大写或者小写中的一种,所以要求加上下划线举例:定义的缩写Sales: Sal 销售;Order: Ord 订单;Detail: Dtl 明细;则销售订单名细表命名为:Sal_Ord_Dtl;2.如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。
举例:定义的缩写Material Ma 物品;物品表名为:Material, 而不是Ma.但是字段物品编码则是:Ma_ID;而不是Material」。
3.所有的存储值列表的表前面加上前缀Z目的是将这些值列表类排序在数据库最后。
4.所有的冗余类的命名(主要是累计表)前面加上前缀X冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段。
或者表5.关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写。
关联表用于保存多对多关系。
如果被关联的表名大于10个字母,必须将原来的表名的进行缩写。
如果没有其他原因,建议都使用缩写。
举例:表Object与自身存在多对多的关系,则保存多对多关系的表命名为:R_Object ;表Depart和Employee;存在多对多的关系;则关联表命名为R_Dept_Emp6.每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义,如果是数据库自动生成的编码,统一命名为:ID;如果是自定义的逻辑上的编码则用缩写加“ID” 的方法命名。
举例:销售订单的编号字段命名:Sal_Ord」D ;如果还存在一个数据库生成的自动编号,则命名为:ID。
7.所有的属性加上有关类型的后缀,类型后缀的缩写定义见文件《类型后缀缩写定义》,注意,如果还需要其它的后缀,都放在类型后缀之前。
二•关系的命名关系的命名基本上按照;如有特殊情况,可以灵活处理.[must/may/ca n/should][verb/verb+prep][a/ma ny/exatly nu m][or a/ma ny] 的结构命名三. 域的命名四. 触发器的命名五•有关于默认的几点说明1.严格依赖关系的主细表,主表的后缀Main可以不写。
2.数据类型是文本的字段,类型后缀TX可以不写。
3.有些类型比较明显的字段,可以不写类型后缀。
4.非常明显的关系,可以不写/////////////////// 另一文章//////数据库设计规范数据库表命名规范此规范包括表名命名规范,索引命名规范,外键命名规范和字段名命名规范。
表名命名规则数据库表的命名以是名词的复数形式且都为小写,如cities, categories, friends等等如果表名由几个单词组成,则单词间用下划线("_")分割,如subscribed_pois,poi_categories 等表名尽量用全名表名限制在30个字符内。
当表的全名超过30字符时,可用缩写来减少表名的长度,如description --> desc ;information --> info ;address --> addr 等表字段名命名规则字段名为小写字段名为有意义的单词,或单词的缩写如果字段由几个单词组成,则单词间用下划线("_")分割,如client_id , post_code等字段名限制在30个字符内。
当字段名超过30字符时,可用缩写来减少字段名的长度,如description --> desc ;information --> info ;address --> addr 等索引命名规则索引须按照IDX_table_<</SPAN>column>_<</SPAN>column>,其中<</SPAN>table> 是建立索引的表名,<</SPAN>colum n>是建立索引的字段名索引名限制在30个字符内。
当索引名超过30字符时,可用缩写来减少索引名的长度,如description --> desc ;information --> info ;address --> addr 等主键、外键命名规则主键按照PK_<</SPAN>table>的规则命名,其中<</SPAN>table>为数据库表名唯一键按照UK_<</SPAN>table>_<</SPAN>column>的规则命名,其中<</SPAN>table> 为数据块表名,<</SPAN>colu mn>为字段名外键按照FK_<</SPAN>pppp>_<</SPAN>cccc>_<</SPAN>nn的规则命名,其中<</SPAN>pppp> 为父表名,<</SPAN>cccc>为子表名,<</SPAN >nn>为序列号数据库规范化设计的一些基本要求:一、表中应该避免可为空的列。
虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。
数据库在处理的时候,需要进行特殊的处理。
如此的话,就会增加数据库处理记录的复杂性。
当表中有比较多的空字段时,在同等条件下,数据库处理的性能会降低许多。
解决方法:一是通过设置默认值的形式,来避免空字段的产生。
二是若一张表中,允许为空的列比较多,接近表全部列数的三分之一。
而且,这些列在大部分情况下,都是可有可无的。
若数据库管理员遇到这种情况,建议另外建立一张副表,以保存这些列。
二、表不应该有重复的值或者列。
三、表中记录应该有一个唯一的标识符。
四、数据库对象要有统一的前缀名。
五、尽量只存储单一实体类型的数据。
六、尽量符合数据库的几个范式。
设计规范所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime 、uniqueidentifier 、binary、sql_variant 、binary 、varbinary 夕卜,必须有默认值。
字符型的默认值为一个空字符值串’’;数值型的默认值为数值0;逻辑型的默认值为数值0;其中:系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。
datetime、smalldatetime 类型的字段没有默认值,必须为NULL。
当字段定义为字符串形时建议使用varchar而不用nvarchar 。
字段的描述数据库中每个字段的描述(Descriptio n) 如下:表内的每一个值只能被表达一次表内的每一行都应当被唯一的标示表内不应该存储依赖于其他键的非键信息如果字段事实上是与其它表的关键字相关联而未设计为外键引用,需建索引。
如果字段与其它表的字段相关联,需建索引。
SQL开发代码规范我们规定sql语句编码的时候程序员需要遵循以下规范:a所有的关键字的所有字母必须大写。
如果一个常量由几个词组成,我们规定两个词之间使用下划线(_)来划分。
表名、列名、视图名或它们的别名必须和它们的定义保持一致。
b注释必须要规范。
其他设计技巧1)避免使用触发器触发器的功能通常可以用其他方式实现。
在调试程序时触发器可能成为干扰。
假如你确实需要采用触发器,你最好集中对它文档化。
2)使用常用英语(或者其他任何语言)而不要使用编码在创建下拉菜单、列表、报表时最好按照英语名排序。
假如需要编码,可以在编码旁附上用户知道的英语。
3)保存常用信息。
让一个表专门存放一般数据库信息非常有用。
在这个表里存放数据库当前版本、最近检查/修复、关联设计文档的名称、客户等信息。
这样可以实现一种简单机制跟踪数据库,当客户抱怨他们的数据库没有达到希望的要求而与你联系时,这样做对非客户机/服务器环境特别有用。
4)包含版本机制。
在数据库中引入版本控制机制来确定使用中的数据库的版本。
时间一长,用户的需求总是会改变的。
最终可能会要求修改数据库结构。
把版本信息直接存放到数据库中更为方便。
5)编制文档。
对所有的快捷方式、命名规范、限制和函数都要编制文档。
采用给表、列、触发器等加注释的数据库工具。
对开发、支持和跟踪修改非常有用。
对数据库文档化,或者在数据库自身的内部或者单独建立文档。
这样,当过了一年多时间后再回过头来做第2个版本,犯错的机会将大大减少。
6)测试、测试、反复测试。
建立或者修订数据库之后,必须用用户新输入的数据测试数据字段。
最重要的是,让用户进行测试并且同用户一道保证选择的数据类型满足商业要求。
测试需要在把新数据库投入实际服务之前完成。
7)检查设计。
在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库。
换句话说,针对每一种最终表达数据的原型应用,保证你检查了数据模型并且查看如何取出数据。