On 10/04/2013 10:41 AM, lucazeo@gmail.com wrote:
> Il 04/10/2013 18:48, JORGE MALDONADO ha scritto:
>> I have search for information about the difference between "unique
>> index" and "unique constraint" in PostgreSQL without getting to a
>> specific answer, so I kindly ask for an explanation that helps me
>> clarify such concept.
>
> 2 main differences.
>
> First is the meaning: primary key identifies a record. A unique just
> tells you that that value of the record, in the table is unique. If you
> use keys, db structure will be more intelligible (my opinion).
Not sure I follow, you can have a unique index that is not a primary
key. A primary key is special kind of unique index:
http://www.postgresql.org/docs/9.3/interactive/sql-createtable.html
The primary key constraint specifies that a column or columns of a table
can contain only unique (non-duplicate), nonnull values. Technically,
PRIMARY KEY is merely a combination of UNIQUE and NOT NULL, but
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.
>
> Second one is functional: in an unique constraint you can allow NULL
> values and ignore them. A primary key does not allow this.
>
>> Respectfully,
>> Jorge Maldonado
>
> Regards,
>
> Luca.
>
>
--
Adrian Klaver
adrian.klaver@gmail.com