唯一约束的命名约定

2024-01-09

命名约定很重要,主键和外键都有常用且明显的约定(PK_Table and FK_Table_ReferencedTable, 分别)。这IX_Table_Column索引的命名也相当标准。

那么 UNIQUE 约束呢?此约束是否有普遍接受的命名约定?我见过UK_TableName_Column, UQ_TableName_Column,还有人推荐AX_TableName_Column- 我不知道那是从哪里来的。

我通常用过UQ但我不是特别喜欢它,而且我不喜欢不得不为我使用它的选择辩护UK提倡。

我只是想看看是否就最流行的命名达成了共识,或者是否有一个很好的理由来解释为什么一个命名比其他命名更有意义。


我的索引和约束的命名约定:

Index/Constraint Type Naming Convention
Primary key <table-name>_PK
Unique index/constraint <table-name>_AK{xx}
Non-Unique index <table-name>_IX{xx}
Check constraint <table-name>_CK{xx}
Default constraint <table-name>_DF{xx}
Foreign key constraint <table-name>_FK{xx}

Where {xx}是一个 2 位序列号,每个表的每种约束类型从 01 开始。主键没有序列号,因为只能有一个。 2 个字符的字母后缀含义是:

Suffix Meaning
PK Primary Key
AK Alternate Key
FK Foreign Key
IX IndeX
CK ChecK
DF DeFault

我通常希望按控制对象而不是按对象类型对元数据/系统目录数据进行分组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

唯一约束的命名约定 的相关文章

  • Oracle 删除约束级联等效于 Sql Server

    在Oracle中 删除约束PK SAI我使用语法 ALTER TABLE SAISIE DROP CONSTRAINT PK SAI CASCADE SQL Server 中与此等效的是什么 您正在考虑与实际 DELETE 语句相关的 FO
  • 实体框架中的批量插入

    我使用批量插入插入大量记录 例如 20K 当我仅插入一个实体时 它会正常工作 但是 当我用来插入多个实体 例如一对多 时 它将仅插入父实体 而不会插入子实体 我的实体和代码 Customer cs public class Customer
  • 如何比较行内的重叠值?

    我似乎对这个 SQL 查询有问题 SELECT FROM appts WHERE timeStart gt timeStart AND timeEnd lt timeEnd AND dayappt boatdate 时间格式为军用时间 物流
  • nvarchar 值“3001822585”的转换溢出了 int 列

    我使用以下方法将 Excel 文件导入到 SQL Server Excel 文件将所有值作为字符串 我可以导入文件 除了Barcode SalePrice and Price2 我收到错误 nvarchar 值 3001822585 条形码
  • Magento 设置脚本中的 ALTER TABLE 不使用 SQL

    乔纳森 戴 https stackoverflow com users 336905 jonathan day says 更新不应采用以下形式 SQL命令 我没遇到过 任何 DDL 或 DML 语句不能 通过 Magento 的配置执行 结
  • RANK() OVER PARTITION 并重置 RANK

    如何获得在分区更改时重新启动的 RANK 我有这张表 ID Date Value 1 2015 01 01 1 2 2015 01 02 1
  • 创建日期范围表

    我正在编写一份需要显示每天值的报告 我有查询的开始日期和结束日期 但我希望避免丢失日期 以防表不包含特定日期的值 我正在考虑创建一个基本日期范围表 其中包含开始和结束之间的所有日期 然后将其与数据表左连接以显示每一天的值 我找到了一些适用于
  • 我可以根据多列删除数据库重复项吗?

    I 不久前问过这个问题 https stackoverflow com questions 4952250 how to delete duplicates from a database table based on a certain
  • Spring Batch 死锁 - 无法增加身份;嵌套异常是 com.microsoft.sqlserver.jdbc.SQLServerException

    我们正在将 Spring Batch 应用程序从 Oracle DB 迁移到 Azure SQL Server 我在尝试执行时收到以下错误两个不同的工作同时更新不同的表 但使用相同的公共 BATCH 表 引起原因 org springfra
  • 我应该使用平面表还是标准化数据库?

    我目前正在开发一个使用 MySQL 数据库作为后端的 Web 应用程序 在继续下一步之前 我需要知道什么更适合我的情况 简而言之 在这个应用程序中 用户将能够使用任何数字字段 他们决定 构建自己的表单 现在我将其全部存储在通过外键链接的几个
  • SQL UPDATE 语句根据另一个现有行更新列

    基本上我有一个与下表具有相似格式的表格 我想做的是根据这个逻辑更新 Col4 如果 Col2 为空 则用 Col3 更新 Col4 如果 Col2 不为 null 则在 Col1 中查找与 Col2 中的值匹配的值 使用 col3 中的相应
  • 使用条件 SQL 统计每月汇总记录

    我有一张桌子 我们就叫他们桌子吧SUMMARYDATA NIP NAME DEPARTMENT STATUSIN STATUSOUT TOTALLOSTTIME A1 ARIA BB 2020 01 21 08 06 23 2020 01
  • 如何计算 Postgres 上图表中所有连接的节点(行)?

    我的桌子有account id and device id One account id可以有多个device ids 反之亦然 我正在尝试计算每个连接的多对多关系的深度 Ex account id device id 1 10 1 11
  • Extbase - 从查询中获取创建的sql

    我想从我的typo3 扩展中获取一些数据库表 该扩展基于 extbase 查询总是不返回任何内容 但数据存在 我试过这个 query this gt createQuery query gt statement SELECT FROM my
  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • 有没有办法设置 SQL Server 作业计划每 30 秒运行一次?

    当我尝试创建计划时 我可以选择的最短时间是 1 分钟 有没有办法将其减少到秒 这篇文章在这里SQL Server 作业调度 http www sqlservercentral com articles Administration sqls
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • MySQL:如何获取每个分组的x个结果数[重复]

    这个问题在这里已经有答案了 可能的重复 mysql 在 GROUP BY 中使用 LIMIT 来获取每组 N 个结果 https stackoverflow com questions 2129693 mysql using limit w
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name

随机推荐

  • 将 Spring Boot 应用程序 jar 提交到 Spark-Submit

    我对 Spark 很陌生 我正在尝试尝试 Spark Submit 我在 Spring Boot 中创建了一个应用程序 使用mvn package创建一个罐子 但是当我尝试将罐子提交给spark submit 这是找不到主类 但主要的类存在
  • 加载与正在执行的 jar 文件相关的文件

    这个问题说明了一切 我的情况的特殊之处在于当前工作目录不是 jar 文件的位置 而是c Windows system32 我的 jar 文件是由 Windows 使用右键单击菜单启动的 我想将文件夹的路径作为参数传递给 jar 现在我想加载
  • 如何选择区间之间的元素

    我有 html 想从第 10 个位置选择间隔 5 个元素 这个怎么做 My html div class chaire img alt src 2 gif div div class chaire img alt src 2 gif div
  • Apache Flink 使用 Windows 在写入 Sink 之前引发延迟

    我想知道 Flink 窗口是否可能导致从数据进入管道到写入 Cassandra 中的表之间有 10 分钟的延迟 我最初的意图是将每个事务写入 Cassandra 中的一个表 并在 Web 层使用范围键查询该表 但由于数据量很大 我正在考虑延
  • Flask url_for Javascript 中的 URL

    使用 Flask 时在 Javascript 文件中创建动态 URL 的推荐方法是什么 在 jinja2 模板和 python 视图中url for使用 推荐的方法是什么 js文件 因为它们不被模板引擎解释 基本上想做的是 in comme
  • Bundler 使用错误的 Ruby 版本

    当我尝试启动 Rails 服务器时 出现以下错误 bundle exec rails s Your Ruby version is 2 3 7 but your Gemfile specified gt 2 3 8 我不明白为什么会发生这种
  • 如何将 Knockout 打字文件更新为 TypeScript 2.0 友好?

    我已经开始致力于现代化knockout库的 TypeScript 声明文件由DefinitelyTyped项目 声明文件使用了一些已弃用的技术 因此 在 TypeScript 2 0 应用程序中使用它很不方便 当前声明文件包含一个名为的接口
  • 使用tinyMCE 获取内容?

    我有一个tinyMCE textarea frmbody并且正在使用它的jquery实例
  • 从 constexpr 数组创建可变参数模板

    假设我们有以下类型 template
  • 如何在 phantomjs 中等待元素可见性

    用户点击此链接 span 现在我正在模拟 phantomjs 中的点击 page evaluate function panel click console log SUCCESS phantom exit Phantom 在慢速函数结束执
  • XP 上的 WMI 访问被拒绝

    我们的应用程序使用大量 WMI 调用 当使用来宾帐户连接到本地 WMI 服务器失败并出现 ACCESS DENIED 时 这对于用户帐户及以上帐户可以正常工作 如何以访客帐户访问WMI服务器 我添加了访客帐户以允许使用 WMIMGMT MS
  • C#:字符串作为事件的参数?

    我有一个用于表单的 GUI 线程和另一个用于计算事物的线程 该表单有一个 RichtextBox 我希望工作线程将字符串传递到表单 以便每个字符串都显示在文本框中 每次在工作线程中生成新字符串时 我都会调用一个事件 现在应该显示该字符串 但
  • 如何在 Vue 工作流程( Vanilla Bootstrap )中覆盖 Bootstrap 变量?

    官方推荐的自定义 主题引导程序的方法是使用 sass 覆盖引导程序变量 但我该如何做到这一点 或者更确切地说 如何将这部分流程添加到 Vue webpack 工作流程中 谷歌搜索导致尝试编辑vue config js文件将 scss 加载器
  • 命名捕获对的正则表达式问题

    我有以下值 start 2011 03 10T13 00 00Z end 2011 03 30T13 00 00Z scheme W3C DTF 我使用以下正则表达式去除 开始 和 结束 日期 并将它们分配给自己的命名捕获对 start P
  • 朴素贝叶斯分类器 - 多重决策

    我需要知道朴素贝叶斯分类器是否 可用于生成多个决策 我不能 找到任何有证据支持的例子 多项决定 我是这个领域的新手 所以 我有点 使困惑 实际上我需要开发字符识别软件 在那里我需要确定给定的字符是什么 看来贝叶斯分类器可以用来识别 给定的字
  • Numpy 中形状的 (4,) 和 (4,1) 有什么区别?

    我有两个 ndarrayA and B 其形状为 4 和另一个 4 1 当我想使用计算余弦距离时this http docs scipy org doc scipy reference generated scipy spatial dis
  • 如何在python脚本中多次导入python文件

    是否可以在 python 脚本中多次导入 python 文件 因为我使用 import 命令在函数中运行循环回到我的驱动程序文件 但它只工作一次 谢谢 edit 自己解决了 谢谢 您很可能不应该使用 import 来执行您想要执行的操作 没
  • 可变借用自动更改为不可变?

    看起来u 一个可变的借用 在以下情况下自动变得不可变 let v u Both u and v然后是不可变的借用引用 因此它们都是允许的 use std ascii AsciiExt fn show a str println a a fn
  • 如何帮助反序列化器了解泛型不需要反序列化绑定

    考虑以下代码 use std marker PhantomData use serde Deserialize derive Deserialize pub struct Parent
  • 唯一约束的命名约定

    命名约定很重要 主键和外键都有常用且明显的约定 PK Table and FK Table ReferencedTable 分别 这IX Table Column索引的命名也相当标准 那么 UNIQUE 约束呢 此约束是否有普遍接受的命名约