Re: Is PRIMARY KEY the same as UNIQUE NOT NULL?

From: Bill Moran <wmoran(at)potentialtech(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Harald Fuchs <hari(dot)fuchs(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Is PRIMARY KEY the same as UNIQUE NOT NULL?
Date: 2016-01-31 17:17:00
Message-ID: 20160131121700.8ec04a895aa447315cf35eb6@potentialtech.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sun, 31 Jan 2016 18:02:38 +0100
Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Harald Fuchs <hari(dot)fuchs(at)gmail(dot)com> writes:
> > Ben Leslie <benno(at)benno(dot)id(dot)au> writes:
> >> "Technically, PRIMARY KEY is merely a combination of UNIQUE and NOT NULL"
> >>
> >> I wanted to clarify if that was, technically, true.
>
> > Yes, but see below.
>
> >> "identifying a set of columns as primary key also provides metadata
> >> about the design of the schema, as a primary key implies that other
> >> tables can rely on this set of columns as a unique identifier for
> >> rows."
>
> Yeah. The extra metadata has several other effects. Perhaps it would be
> better to reword this sentence to make it clear that PRIMARY KEY is
> equivalent to UNIQUE+NOTNULL in terms of the data constraint that it
> enforces, without implying that there is no other difference. I'm not
> sure about a short and clear expression of that though ...

How about:

"PRIMARY KEY is merly a combination of UNIQUE and NOT NULL with regard
to data consistency behavior."

"identifying a set of columns as primary key also provides metadata about
the design of the schema, as a primary key implies that other tables can
rely on this set of columns as a unique identifier for rows. This
metadata may be used by external programs, but is also utilized interally
by the server in some cases."

--
Bill Moran

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joshua D. Drake 2016-01-31 17:48:11 Re: Is PRIMARY KEY the same as UNIQUE NOT NULL?
Previous Message Tom Lane 2016-01-31 17:02:38 Re: Is PRIMARY KEY the same as UNIQUE NOT NULL?