在SQL中,名字和姓氏必须是唯一的

在SQL中,名字和姓氏必须是唯一的,sql,oracle,unique,Sql,Oracle,Unique,我知道使用以下代码将使每列都具有唯一的值,但是如果我希望全名是唯一的,该怎么办 CREATE TABLE people (first_name varchar2(32) unique, last_name varchar2(32) unique); 这将使每个属性自身唯一,但我需要使它们一起唯一,例如,如果我有一个名字“James Smith”,我不想重复这个名字,但如果有一个“James Sunderland”家伙,就可以了。定义对两列组合的唯一约束

我知道使用以下代码将使每列都具有唯一的值,但是如果我希望全名是唯一的,该怎么办

CREATE TABLE people (first_name varchar2(32) unique,
                     last_name varchar2(32) unique);

这将使每个属性自身唯一,但我需要使它们一起唯一,例如,如果我有一个名字“James Smith”,我不想重复这个名字,但如果有一个“James Sunderland”家伙,就可以了。

定义对两列组合的
唯一
约束:

CREATE TABLE people 
  ( first_name varchar2(32) , 
    last_name varchar2(32) ,
    UNIQUE ( first_name, last_name )
  ) ;

您真的必须验证数据库中的所有业务逻辑吗?我只是好奇。你知道姓和名并不是唯一的组合,对吧?即使是一个小的组织也很容易产生DUP,特别是如果他们雇佣像医生办公室这样的父子联合体。@win,uniquess必须在数据库中进行验证,否则会出现数据完整性问题。伙计们,这只是一个例子,我只是想知道如何做到这一点