SQL Server 基本开发规范
一、SqlServer 命名规范
(一)设计原则
(1)符号三大范式(每一列表达一个意思,每一行代表一个实例/每一行有唯一键/表内没有其它表的非主键信息)
(2)每个表应该有的3个有用字段(记录创建或更新时间/记录创建者/记录版本)
(3)避免保留字
(4)表应避免可为空的列
(二)命名规范
表
表名如Order/UserAccout
符合以下规范:
1. 统一采用单数形式,反对Orders
2. 首字母大写,多个单词的话,单词首字母大写,反对order/Useraccout/ORDER
3. 避免中文拼音,反对AgentBaoCi
4. 避免下划线连接,反对User_Accout(下划线适用Oracle数据库)
5. 避免名称过长,控制在3个英文单词长度(22个字母),反对WebsiteInfomationModifyRecord
6. 据库表名应该有意义,并且易于理解,最好使用可以表达功能的英文单词或缩写,如果用英文单词表示,建议使用完整的英文单词,避免保留字。
字段
字段名如userID/userName/userType
符合以下规范:
1.首个字母小写,多个单词的话,单词首字母大写,反对UserID/Userid
2.必须有一主键,主键不直接用ID,而是表名+ID,如userID/orderID
3.常用的字段name,不直接用name,而是表名+Name,如userName/orderName
4.常用的字段desc,不直接用desc,而是表名+Desc,如userDesc/orderDesc
5.大写字母前必须包含至少两个小写的字母,反对uID/oID
6.避免中文拼音,避免下划线连接
7.避免名称过长,避免保留字
8.避免字段(列名)中包含数据类型,如:datetime
9.避免数据库关键字,如:name,time ,datetime password 等
对象
1.存储过程以SP_为前缀
2.触发器以TR_为前缀
3.函数以FN_为前缀
4.主键以PK_为前缀
5.索引以IX_为前缀
6.前缀后的首字母大写,多个单词的话,单词首字母大写,如SP_CountFee
7.所有的关键字的所有字母必须大写,如SELECT userID,username FROM User
(三)数据库表分类
表前缀主要是为了区分不同功能的表,而非解释表的功能,表的功能由表名来解释。前面要求表名的长度要控制在30个字符以内,在此前提下,为了尽可能不影响表的命名,表前缀应该越短越好。我们建议表前缀控制在两个以内。具体表前缀添加规则建议如下,括号内的单个大写字母表示要添加的前缀。这里以SQLserver2014数据库为例说明:
(1)系统表(S_):System,系统配置相关的基本信息表。系统用户表(S_User)、系统角色表(S_Role)、系统菜单(S_LinkMenu)、操作日志(S_OperationLog)、登录日志(S_LoginLog)、系统字典(S_Dictionary)、系统字典类型(S_DictionaryType)等。
(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_……,没必要非得和某个英文对应,只是个代号,和项目组的人员说明即可。
SQL Server 基本开发规范相关推荐
- mysql 2005开发版,SQL server 2019 开发版下载
SQL server 2019 亮点 分析所有类型的数据 使用内置有 Apache Spark 的 SQL Server 2019,跨关系.非关系.结构化和非结构化数据进行查询,从所有数据中获取见解, ...
- 解决安装SQL Server 2005开发版时,出现“SQL Server 服务无法启动 ”点击重试或取消的解决方法
问题描述: 安装SQL Server 2005开发版时,提示SQL Server服务无法启动,有关详细信息,请参阅SQL Server联机丛书中的主题如何查看SQL Server 2005安装日志文件 ...
- Windows XP系统安装SQL Server 2005(开发版)图解
转自Windows XP系统安装SQL Server 2005(开发版)图解 安装前提:由于有些从网上的下载的项目需要导入SQL Server 2005的数据文件,因此,今天便安装了这个数据库,我的系 ...
- SQL Server 2016 开发版将免费
随着SQL Server 2016发布,微软宣布SQL Server开发版将免费.为了利用这一优惠,你需要成为微软Visual Studio Dev Essentials项目的一员. Visual S ...
- 《SQL Server 2005开发技术大全》分享一本书
数据库是一个非常重要的领域,不管是什么样的系统,都必须要与数据库打交道,因此作为一个程序员来讲,数据库的基本知识技能是必须要掌握的. 我接触C#已经有两年半的时间了吧,在学习之初是接触微软的Visua ...
- 视频教程-Echarts+Asp.Net+Sql Server报表开发视频教程-.NET
Echarts+Asp.Net+Sql Server报表开发视频教程 8年一线开发经验,2年培训经验.擅长asp.net C# java 安卓 nodejs h5 css3 js 串口通讯等技术.录制 ...
- windows7家庭普通版(win7 home basic)安装SQL server 2005 开发版
windows7家庭普通版(win7 home basic)安装SQL server 2005 开发版(Developer Edition) 多亏了xys_777 的博客和boystraw 在论坛的提 ...
- SQL Server数据库开发的二十一条军规
如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS). 在 ...
- SQL Server数据库开发
如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS). 在 ...
最新文章
- 3dmax批量导出fbx_推荐一款超实用的3DMAX插件——模法师
- 《Scala机器学习》一一第3章 使用Spark和MLlib
- 你如果只是一直囤干货,那永远不可能进步
- javascript primise本质——为了简化异步编码而针对异步操作的代理
- 【C 语言】C 字符串 ( 表示方法 | strcpy | strcat | strlen | strcmp )
- matlab main函数_Python 和MATLAB 制作Gif 图像
- 利用websocket实现一对一聊天
- scws sphinx mysql_Sphinx系列文章\SCWS中文分词
- 金九银十正确打开方式!快手三面面试真题
- centos7 安装btsync
- 高中知识三角函数怎么计算机,高中三角函数知识点归纳
- 面向对象继承 C#编程记录
- jsp超链接中怎么跳转页面跳转_JSP跳转页面汇总
- weblogic增大线程数
- AARRR模型常见指标
- [HDU]1205 吃糖果 [抽屉原理]
- 华为防火墙查看日志命令_华为防火墙常用命令.doc
- 手提电脑安装双屏后没有声音输出
- 数据库 之数据库设计浅知识 -- 设计概述、概念结构设计(E-R模型概述)、逻辑结构设计(函数依赖和范式)、物理结构设计
- WMS的先进先出功能设计
热门文章
- 协同开发冲突怎么解决?
- 视频处理基本技术(取帧、合帧)
- .dll文件有什么用?
- 黄金价格走势k线图如何看?
- 编写Java程序,模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员。教练员包括乒乓球教练和篮球教练。为了方便出国交流,根乒乓球相关的人员都需要学习英语。
- 人机对战的猜拳游戏,用户通过输 入(1.剪刀 2.石头 3.布),机器随机生成(1.剪刀 2.石头 3.布),胜者积分, n 局以后通过积分的多少判定胜负。
- c#:mvc单选按钮(性别)
- 恒锋转债上市价格预测
- python基础(大数据)[完结]
- labview中java联合编程_LabVIEW与MATLAB混合编程的实现