Thread: Setting unique constraints.

Setting unique constraints.

From
Anil Jangam
Date:
Hi,

Is there any way to apply the unique constraint on the attribute of a table
through the pgAdmin?. This certainly other than applying the primary key
constraint on the attribute.

To set the foreign key relationship it is the basic requirement that the
referenced attribute should be a primary key in the referenced table.

Can I achieve FK relationship without making it a primary key?? Because I
have already defined a PK, which does not contain the referenced attribute.
If it is possible to have a unique attribute rather having PK and then
achieve the FK.

I am new to the relational world, and is in learning phase.

regds,
-anil.

Re: Setting unique constraints.

From
Dave Page
Date:

> -----Original Message-----
> From: Anil Jangam [mailto:anilj@indts.com]
> Sent: 18 December 2001 06:13
> To: 'Dave Page'; pgsql-cygwin@postgresql.org
> Subject: Setting unique constraints.
> Importance: High
>
>
> Hi,
>
> Is there any way to apply the unique constraint on the
> attribute of a table through the pgAdmin?. This certainly
> other than applying the primary key constraint on the attribute.

Yes, assuming your data is already unique, you can just create a unique
index on the column(s) required. This is how PostgreSQL enforces unique
constraints when you added them with CREATE TABLE.

> To set the foreign key relationship it is the basic
> requirement that the referenced attribute should be a primary
> key in the referenced table.

I'm not sure this is the case.

> Can I achieve FK relationship without making it a primary
> key?? Because I have already defined a PK, which does not
> contain the referenced attribute. If it is possible to have a
> unique attribute rather having PK and then achieve the FK.

I don't think you need to define a primary key or unique constraint. Just
add the foreign key when you define the table - if PostgreSQL doesn't like
it it will certainly tell you about it.

Regards Dave.