Tag: sql

主键/外键命名约定

在我们的开发小组中,我们对主键和外键的命名规则有一个激烈的争论。 我们组中基本上有两个学派: 1: Primary Table (Employee) Primary Key is called ID Foreign table (Event) Foreign key is called EmployeeID 要么 2: Primary Table (Employee) Primary Key is called EmployeeID Foreign table (Event) Foreign key is called EmployeeID 我不想在任何列中复制表的名称(所以我更喜欢上面的选项1)。 从概念上讲,它与其他语言中的许多推荐实践一致,即在其属性名称中不使用对象的名称。 我认为命名外键EmployeeID (或者Employee_ID可能更好)告诉读者它是Employee Table的ID列。 其他一些人则更喜欢选项2,其中您指定了以表名为前缀的主键,以便整个数据库中的列名相同。 我明白了这一点,但是现在你不能直观地将主键与外键区分开来。 此外,我认为在列名中包含表名是多余的,因为如果您将表视为实体,将列视为实体的属性或属性,则将其视为Employee的ID属性,不是EmployeeID属性。 我不去问我的同事他的PersonAge或PersonGender是什么。 我问他年龄是多less。 所以就像我说的那样,这是一场激烈的辩论,我们一直在继续。 我有兴趣得到一些新的观点。

列出在PostgreSQL中引用表的存储函数

只是一个简单而快速的问题:在PostgreSQL中,如果可能的话,如何使用一个只使用SELECT语句的表列出所有存储的函数/存储过程的名称? 如果一个简单的select是不够的,我可以做一个存储的function。 我想,我的问题与这个问题有点类似,但是这个问题是针对SQL Server 2005的: 表的存储过程列表 (可选)对于这个问题,你如何列出使用相同表格的触发器和约束条件?

在一个查询MySQL多重连接?

我有以下查询: SELECT dashboard_data.headline, dashboard_data.message, dashboard_messages.image_id FROM dashboard_data INNER JOIN dashboard_messages ON dashboard_message_id = dashboard_messages.id 所以我使用INNER JOIN并抓取image_id 。 所以现在,我想把这个image_id,并把它从图像表变成images.filename 。 我怎样才能添加到我的查询?

IDENTITY_INSERT设置为OFF – 如何打开它?

我有一个已删除的文件存档数据库,存储已被删除的文件的ID,我希望pipe理员能够恢复该文件(以及相同的ID链接文件)。 我不想把identity_insert从整个表中删除,因为增加一个很好。 在我插入到TBL_Content存储过程中,我有这样的东西 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON SET IDENTITY_INSERT tbl_content ON GO ALTER procedure [dbo].[spInsertDeletedIntoTBLContent] @ContentID int, …insert command… SET IDENTITY_INSERT tbl_content OFF 但是我一直得到相同的错误: 当IDENTITY_INSERT设置为OFF时,不能在表'TBL_Content'中插入标识列的显式值。 任何帮助?

MySQL,连接两列

MySQL表中有两列: SUBJECT和YEAR 。 我想生成一个字母数字唯一的数字,它保存来自SUBJECT和YEAR的连接数据。 我怎样才能做到这一点? 有没有可能使用像+这样的简单运算符?

PostgreSQL索引使用分析

有没有一种工具或方法来分析Postgres,并确定应该创build哪些缺失的索引,以及哪些未使用的索引应该被删除? 我有一点经验做这与SQLServer的“探查器”工具,但我不知道Postgres中包含一个类似的工具。

mysql太多索引?

我花了一些时间来优化我们当前的数据库。 我正在专门查看索引。 有几个问题: 有没有索引太多的东西? 什么索引加快? 什么指标会慢下来? 什么时候添加索引是个好主意? 什么时候添加索引是一个坏主意? Pro和Con的多指标与多列指标?

如何识别引用特定表的所有存储过程

为了testing目的,我创build了一个开发环境表,有几个sp正在修复这个表。 现在我必须删除这个表格,并且确定所有引用这个表格的sp。 我很难find所有sp的列表。 请通过假设表名是'x'和数据库是sql server 2005来build议一些查询。

如何读取SQL Server的最后一行

使用SQL Server读取最后一行的最有效方法是什么? 该表是索引在一个唯一的键 – “底部”键值代表最后一行。

MySQL在ORDER BY中获得行位置

用下面的MySQL表格: +—————————–+ + id INT UNSIGNED + + name VARCHAR(100) + +—————————–+ 如何在按name ASCsorting时,如何select单个行及其在表中其他行之间的位置。 所以如果表格数据看起来像这样,按名称sorting: +—————————–+ + id | name + +—————————–+ + 5 | Alpha + + 7 | Beta + + 3 | Delta + + ….. + + 1 | Zed + +—————————–+ 我怎么能select得到该行当前位置的Beta行? 我正在寻找的结果集是这样的: +—————————–+ + id | position | name […]