I am not sure what you are trying to do, but if you have a tree structure you will have to use an id column e.g.:
CREATE TABLE domain (id SERIAL PRIMARY KEY,name TEXT CHECK (lower(name) ~ '[a-z0-9]([a-z0-9-]*[a-z0-9])?',parent
INTEGERREFERENCES domain,UNIQUE (parent, name)
);
If you do not have a tree structure, I would recommend using a natural primary key in stead of serializing it. Bear in
mindthough - you should always have a primary key. I would also recommend creating a couple of functions to build a
fullyqualified domain name from the id.
Regards,
Aasmund.
On Wed, 5 Dec 2001 17:41:40 -0300, Martín Marqués <martin@bugs.unl.edu.ar> wrote:
> I have a table that will be populated with machines of a net we have. And we
> have more then 1 domain, so we thought about putting a seperate table with
> the domains, and a reference in the nodes table to the apropiate domain.
>
> The question is, should I put an SERIAL field in the domain table and use
> that as the PK, and use an INT reference in the nodes table?
> Or is it a good idea to just leave the domain name (a CHAR(30) field) in the
> domain table and make the node.domain a CHAR(30) that references to
> domain.name?
> What would be the best approche?
>
> Saludos... :-)
>
> --
> Porqué usar una base de datos relacional cualquiera,
> si podés usar PostgreSQL?
> -----------------------------------------------------------------
> Martín Marqués | mmarques@unl.edu.ar
> Programador, Administrador, DBA | Centro de Telematica
> Universidad Nacional
> del Litoral
> -----------------------------------------------------------------
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
Aasmund Midttun Godal
aasmund@godal.com - http://www.godal.com/
+47 40 45 20 46