当前位置: 首页 > news >正文

SQL sever命名规范

目录

一、标识符

二、表名(Table):

三、字段名(fields):

四、约束(Constraint):

五、索引(Index):

六、存储过程(Stored Procedure):

七、函数(Function):

八、触发器(Trigger):

九、视图(View):

十、大小写


      在生活实际工作中,常需要在SQL sever数据库中开发一些对象,因此就会多出许多不同的名称,为了方便个人和团队成员可以理解开发的对象,我们需要根据要求进行命名。但是命名也应该按照相应的规范完成,否则库中开发的内容就会杂乱无章。但是SQL Server的命名规范是可以因组织、项目和个人而异,以下是一些通用的命名规范建议:

一、标识符

  • 标识符的首字符必须是下列字符之一:统一码(Unicode) 2.0标准中所定义的字母(包括拉丁字母a~z和A~Z以及来自其他语言的字符)、下划线“_”、符号“@”或者数字符号“#”。
  • 在SQL Server中,以“@”符号开始的标识符表示局部变量或参数;以一个数字符号“#”开始的标识符表示临时表或过程,例如#gzb;以双数字符号“ ”开始的标识符表示全局临时对象,例如 gzb。
  • 来自拉丁字母或其他国家/地区脚本的十进制数字可以作为标识符的一部分。
  • 标识符不允许是Transact-SQL的保留字。
  • 不允许嵌入空格或其他特殊字符。

二、表名(Table):

  • 统一采用单数形式,例如:Order、UserAccount,反对使用Orders、order等。
  • 首字母大写,多个单词的话,单词首字母大写,例如:Order、UserAccount,反对使用order、Useraccount、ORDER等。
  • 避免中文拼音,例如:AgentBaoCi。
  • 避免下划线连接,例如:User_Accout(下划线适用Oracle数据库)。
  • 避免名称过长,控制在3个英文单词长度(22个字母),例如:WebsiteInfomationModifyRecord。
  • 表名应该有意义,并且易于理解,最好使用可以表达功能的英文单词或缩写。如果用英文单词表示,建议使用完整的英文单词,避免保留字。

注:

此处留有疑问:有些人认为表名使用复数,有些人认为使用单数;我通常是使用单数,希望知道此处具体使用哪种方式的码友告知原因?

  • 为了更准确地描述表对象,建议使用复数形式来命名表,例如"users"而不是"user"。

三、字段名(fields):

  • 字段名应该是描述性的,能够清晰地表达该字段的含义。
  • 字段名应该是唯一的,在同一表中不能有重名。
  • 字段名应该是简洁的,不要过长。
  • 首字母大写,多个单词的话,单词首字母大写。
  • 对于表的前缀命名,建议表前缀控制在两个以内,并且前缀应该是描述性的,能够表达该表的功能或类别。例如,系统表可以命名为S_、D_等。

四、约束(Constraint):

  • 约束名称应该描述性地反映约束的性质和作用。
  • 约束名称应该是唯一的,以避免混淆和冲突。
  • 建议使用前缀来表示约束的类型,例如:PK_表名、UQ_表名、IX_表名等。

比如主键和外键: 

  • 主键列通常以表名为前缀,后跟“ID”(例如,CustomerID)。
  • 外键应该使用与关联表主键一致的名称,并添加适当的前缀(例如,Order_CustomerID)。

五、索引(Index):

  • 索引名称应该清晰地反映其作用和列信息。
  • 索引名称应该是唯一的,以避免混淆和冲突。
  • 建议使用前缀来表示索引的类型,例如:IX_表名_列名、UQ_表名_列名等。

六、存储过程(Stored Procedure):

  • 存储过程名称应该描述性地反映其功能和作用。
  • 存储过程名称应该是唯一的,以避免混淆和冲突。
  • 建议使用前缀来表示存储过程的类型,例如:SP_、PR_等。

七、函数(Function):

  • 函数名称应该描述性地反映其功能和作用。
  • 函数名称应该是唯一的,以避免混淆和冲突。
  • 建议使用前缀来表示函数的类型,例如:FN_等。

八、触发器(Trigger):

  • 触发器名称应该描述性地反映其作用和关联表的信息。
  • 触发器名称应该是唯一的,以避免混淆和冲突。
  • 建议使用前缀来表示触发器的类型,例如:TR_等。

九、视图(View):

  • 视图名称应该描述性地反映其查看的表或列信息。
  • 视图名称应该是唯一的,以避免混淆和冲突。
  • 建议使用前缀来表示视图的类型,例如:V_等。

十、大小写

  • SQL Server默认情况下是不区分大小写的,但仍然建议在整个数据库中保持一致的大小写风格,以提高可读性。

总结:

命名规范应该遵循清晰、简洁、易于理解和统一的原则,以方便开发和管理。同时,为了避免命名冲突和混淆,建议使用前缀来标识不同的类型和用途。

 

相关文章:

SQL sever命名规范

目录 一、标识符 二、表名(Table): 三、字段名(fields): 四、约束(Constraint): 五、索引(Index): 六、存储过程(Stored Proced…...

BCSP-玄子Share-Java框基础_工厂模式/代理模式

三、设计模式 3.1 设计模式简介 软件设计中的三十六计是人们在长期的软件开发中的经验总结是对某些特定问题的经过实践检验的特定解决方法被广泛运用在 Java 框架技术中 3.1.1 设计模式的优点 设计模式是可复用的面向对象软件的基础可以更加简单方便地复用成功的设计和体系…...

【数据结构】2015统考真题 6

题目描述 【2015统考真题】求下面的带权图的最小(代价)生成树时,可能是Kruskal算法第2次选中但不是Prim算法(从v4开始)第2次选中的边是(C) A. (V1, V3) B. (V1, V4) C. (V2, V3) D. (V3, V4) …...

HTML <track> 标签

实例 播放带有字幕的视频: <video width="320" height="240" controls="controls"><source src="forrest_gump.mp4" type="video/mp4" /><source src="forrest_gump.ogg" type="video/ogg…...

php中识别url被篡改并阻止访问的实现方式是什么

在 PHP 中&#xff0c;可以通过多种方式来识别并阻止 URL 被篡改的访问。以下是一些常见的方法&#xff1a; 基本身份验证&#xff1a;使用 PHP 的 $_SERVER[PHP_AUTH_USER] 和 $_SERVER[PHP_AUTH_PW] 变量可以实施基本的 HTTP 身份验证。在访问受保护的页面之前&#xff0c;可…...

c++ 学习 之 const,constexpr,volatile

前言 const、constexpr 和 volatile 是 C 中用于修饰变量和类型的关键字 正文 它们分别用于不同的用途&#xff1a; const&#xff08;常量&#xff09;&#xff1a; const 用于声明常量&#xff0c;表示变量的值不能被修改。 它可以应用于变量、指针、引用、成员函数以及类…...

【Flink】关于jvm元空间溢出,mysql binlog冲突的问题解决

问题一&#xff1a;7张表是同一个mysql中的&#xff0c;我们进行增量同步时分别用不同的flink任务读取&#xff0c;造成mysql server-id冲突问题&#xff0c;如下&#xff1a; Caused by: io.debezium.DebeziumException: A slave with the same server_uuid/server_id as this…...

C#常用多线程(线程同步,事件触发,信号量,互斥锁,共享内存,消息队列)

using System; using System.Threading; using System.Windows.Forms; using UtilForm.Util;namespace UtilForm {// 线程同步&#xff0c;事件触发&#xff0c;信号量&#xff0c;互斥锁&#xff0c;共享内存&#xff0c;消息队列public partial class frmUIThread : Form{ Sy…...

OpenWrt系统开发笔记

openWrt英文官网&#xff1a; https://openwrt.org/ 中文官网&#xff1a; http://www.openwrt.org.cn/ 一、开发环境及编译 在github上有两个源码使用的比较多   一个是lede,地址为&#xff1a;https://github.com/coolsnowwolf/lede   另一个为OpenWrt的官方源码&#…...

实战 - Restful APi 格式规范

文章目录 1. 特征2. 优点3. 动作1. GET 获取资源2. POST 创建资源3. PUT 整体替换4. PATCH 部分替换5. DELETE 删除资源 4. 示例 RESTful是一种API的设计风格&#xff0c;他和GraphQL &#xff0c;JSON-RPC&#xff0c;WebService类似&#xff0c;用于定义在CS、BS架构下暴露服…...

《Linux从练气到飞升》No.21 Linux简单实现一个shell

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…...

【iVX】iVX的低代码未来发展趋势:加速应用开发的创新之路

简介&#xff1a; 随着数字化转型的飞速发展&#xff0c;企业和组织对快速开发和交付高质量应用的需求越来越迫切。低代码开发平台作为一种创新的解决方案&#xff0c;极大地简化了应用程序的开发过程。在这一领域&#xff0c;iVX低代码平台作为领先的创业公司&#xff0c;正在…...

zookee 安装

1、下载安装包 weget https://downloads.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz 方案1&#xff1a;wget是一个下载指令&#xff0c;后面可以跟下载连接去从服务器上下载东西。 方案2&#xff1a;也可以先下载到windows上&#xff0c;再通…...

OpenWrt编译自己的应用程序

编译OpenWrt的应用程序可以参考OpenWrt内部其他应用程序的例程&#xff0c;来编写成自己的应用程序 一、OpenWrt源代码获取与编译 1.1、搭建环境 下载OpenWrt的官方源码&#xff1a; git clone https://github.com/openwrt/openwrt.git1.2、安装编译依赖项 sudo apt update…...

MySQL 50 题。

MySQL 50 题。 文章目录 MySQL 50 题。数据库。sql。 数据库。 CREATE SCHEMA new_schema DEFAULT CHARACTER SET utf8mb4 ;Operation failed: There was an error while applying the SQL script to the database. Executing: CREATE SCHEMA new_schema DEFAULT CHARACTER SE…...

强化学习算法总结 (1)

强化学习算法总结 (1) 1.综述 强化学习是通过与环境进行交互&#xff0c;来实现目标的一种计算方法。 s − a 1 − r − s ′ s - a_1 - r- s s−a1​−r−s′ 1.1强化学习优化目标 p o l i c y a r g m a x p o l i c y E ( a , s ) [ r e w a r d ( s , a ) ] policy ar…...

Qt应用开发(基础篇)——向导对话框 QWizard

一、前言 QWizard类继承于QDialog&#xff0c;为有向导界面需求的应用环境提供了一个框架。 对话框窗口 QDialog QWizard向导对话框是一个拥有队列界面的特殊对话框&#xff0c;向导的目的是引导用户一步一步的完成预设的流程。向导常用于软件安装界面向导、硬件线路安装向导、…...

Python类的方法

Python类的方法主要分为实例方法、类方法和静态方法三种。 1 实例方法 以self作为第一个参数的方法&#xff0c;就是类的实例方法。该方法由类的实例调用&#xff0c;Python会把调用该方法的实例对象传递给self。 如下代码定义了一个名为A的类。 class A:def __init__(self…...

变电站自动化监控系统

力安科技变电站自动化监控系统是以箱式变电站为管理对象&#xff0c;加装箱变网关&#xff0c;在完成箱变智能化改造的基础上&#xff0c;依托电易云&#xff0c;构建一体化智慧箱变及运维系统。智能箱式变电站被广泛应用于住宅小区、城市公用变压器、工厂、商场、机场、电站等…...

MySql学习笔记11——DBA命令介绍

DBA命令 数据导入 要进入Mysql 创建数据库 create database database_name;使用数据库 use database_name;初始化数据库 source .sql文件地址&#xff0c;不能加双引号&#xff1b;数据导出 要在windows的dos环境下进行 导出数据库 mysqldump database_name > 存放…...

腾讯优图视觉模型应用:Youtu-VL-4B-Instruct在内容审核中的实战

腾讯优图视觉模型应用&#xff1a;Youtu-VL-4B-Instruct在内容审核中的实战 每天&#xff0c;互联网上会产生数十亿张图片和视频。对于内容平台来说&#xff0c;如何确保这些内容安全合规&#xff0c;同时控制审核成本&#xff0c;一直是个头疼的问题。传统的人工审核效率低、…...

Step3-VL-10B-Base轻量级模型部署优势:低显存消耗与快速推理实测

Step3-VL-10B-Base轻量级模型部署优势&#xff1a;低显存消耗与快速推理实测 最近在星图GPU平台上折腾各种多模态大模型&#xff0c;发现一个挺有意思的现象&#xff1a;很多模型能力确实强&#xff0c;但一谈到部署&#xff0c;大家就开始头疼显存和速度。动辄几十GB的显存需…...

XUnity.AutoTranslator:Unity游戏翻译解决方案的创新方法 | 玩家与开发者实战指南

XUnity.AutoTranslator&#xff1a;Unity游戏翻译解决方案的创新方法 | 玩家与开发者实战指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾因语言障碍错失优秀的外语游戏&#xff1f;是否在尝…...

【Python内存管理2026权威白皮书】:GIL演进、引用计数重构与GC智能调度三大突破性策略首次公开

第一章&#xff1a;Python智能体内存管理策略2026最新趋势全景概览随着大语言模型驱动的Python智能体&#xff08;Agent&#xff09;在生产环境中的深度部署&#xff0c;传统CPython内存管理机制正面临前所未有的挑战&#xff1a;动态工具调用、多轮推理缓存、跨Agent状态共享及…...

如何为SortableJS实现高效自动化测试:拖拽功能的完整测试指南

如何为SortableJS实现高效自动化测试&#xff1a;拖拽功能的完整测试指南 【免费下载链接】Sortable Reorderable drag-and-drop lists for modern browsers and touch devices. No jQuery or framework required. 项目地址: https://gitcode.com/gh_mirrors/so/Sortable …...

AI辅助开发:用提示词让快马AI自动生成技术职级成长路径分析应用

AI辅助开发&#xff1a;用提示词让快马AI自动生成技术职级成长路径分析应用 最近在研究技术职级体系时&#xff0c;发现很多开发者对阿里P10这类高级职位的成长路径特别感兴趣。但手动整理这些信息费时费力&#xff0c;于是尝试用AI辅助开发的方式快速生成一个可视化分析工具。…...

高效管理惠普OMEN游戏本:OmenSuperHub全面解析与实战指南

高效管理惠普OMEN游戏本&#xff1a;OmenSuperHub全面解析与实战指南 【免费下载链接】OmenSuperHub 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普OMEN系列游戏本设计的轻量级系统管理工具&#xff0c;它通过替代原厂Omen Ga…...

极简安装方案:树莓派部署OpenClaw轻量版对接云端Qwen3-32B

极简安装方案&#xff1a;树莓派部署OpenClaw轻量版对接云端Qwen3-32B 1. 为什么选择树莓派OpenClaw轻量版&#xff1f; 去年夏天&#xff0c;我突发奇想&#xff1a;能不能用树莓派做个24小时在线的AI管家&#xff1f;既能控制智能家居&#xff0c;又能处理简单办公任务。但…...

从抖音Logo到冰封效果:Stable Diffusion WebUI创意图标生成全攻略

从抖音Logo到冰封效果&#xff1a;Stable Diffusion WebUI创意图标生成全攻略 在数字设计领域&#xff0c;AI绘图工具正掀起一场创意革命。Stable Diffusion WebUI作为开源图像生成模型的代表&#xff0c;其强大的风格迁移能力让普通设计师也能轻松实现专业级视觉特效。本文将带…...

Arduino激光360°扫描库:VL53L0X+28BYJ-48低成本建图方案

1. 项目概述LaserToMap360 是一个面向嵌入式空间感知应用的轻量级 Arduino 库&#xff0c;专为构建低成本、可复现的 360 激光测距扫描系统而设计。其核心目标并非替代专业 SLAM 系统&#xff0c;而是提供一种工程上可快速验证、硬件上可即插即用、数据上可直接对接上位机可视化…...