SQL查找表中最小的唯一键
我有一个8列的表,想知道这个表的最小可能的唯一键。(没有索引) 这是非常明显的:SQL查找表中最小的唯一键,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,我有一个8列的表,想知道这个表的最小可能的唯一键。(没有索引) 这是非常明显的: select count(*) from (select distinct id1, id2, id3, id4, id5, id6, id7, id8 from mytable); 是否有一种快速简便的方法来确定此表的唯一列组合?如何进行?不,没有人们所说的快速简便的方法;作为: 您得
select count(*)
from (select distinct id1, id2, id3,
id4, id5, id6,
id7, id8
from mytable);
是否有一种快速简便的方法来确定此表的唯一列组合?如何进行?不,没有人们所说的快速简便的方法;作为:
您得到的任何答案都将取决于当时加载的数据。对表格所做的任何更改都可能使结果无效 此外,您以前没有主键搜索唯一性,因此很容易出现误报。您没有强制唯一性,因此应该是唯一的列集可能不是唯一的 唯一键由表中的数据决定。您需要了解这些数据,以确定哪些数据应该是唯一的 应该有一种拥有唯一密钥的方法,也就是说,如果你有一个操作系统用户表,那么唯一密钥应该是他们的用户名。同样,如果您有一个员工表,则无法保证员工姓名(或任何其他属性或属性集)的唯一性,因此您需要创建一个 只有你能确定这一点;研究你的数据,你应该能够把它计算出来 一般来说:
- );应与表同时创建
- 没有什么比理解数据库中的数据更重要的了。在了解数据库是什么之前,您无法有效地使用该数据库
您得到的任何答案都将取决于当时加载的数据。对表格所做的任何更改都可能使结果无效 此外,您以前没有主键搜索唯一性,因此很容易出现误报。您没有强制唯一性,因此应该是唯一的列集可能不是唯一的 唯一键由表中的数据决定。您需要了解这些数据,以确定哪些数据应该是唯一的 应该有一种拥有唯一密钥的方法,也就是说,如果你有一个操作系统用户表,那么唯一密钥应该是他们的用户名。同样,如果您有一个员工表,则无法保证员工姓名(或任何其他属性或属性集)的唯一性,因此您需要创建一个 只有你能确定这一点;研究你的数据,你应该能够把它计算出来 一般来说:
- );应与表同时创建
- 没有什么比理解数据库中的数据更重要的了。在了解数据库是什么之前,您无法有效地使用该数据库