Re: Question on imports with foreign keys

From: "Emre Hasegeli" <emre(dot)hasegeli(at)tart(dot)com(dot)tr>
To: Andreas <maps(dot)on(at)gmx(dot)net>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Question on imports with foreign keys
Date: 2011-12-08 08:39:49
Message-ID: op.v55w0nozk2xoe5@tart-hasegeli-development
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Thu, 08 Dec 2011 08:48:51 +0200, Andreas <maps(dot)on(at)gmx(dot)net> wrote:

> Hi,
>
> suppose you need to import a csv with standard ciolums like name,
> adress, phone, ... and some additional text columns that need to be
> split off into referenced tables.
>
> Those lookup-tables will only be needed for a project with limited life
> time so I create a schema that might be called "project_x". There I
> create the necessary lookup tables.
>
> The core of the import will be added to the customers table with
> unlimited livespan. The customers table has a PKey id which is a serial.
>
> I don't want to add FKey columns into customers for the new
> lookup-tables so I create another table in project_x "projectinfos" that
> stores those FKeys and another FKey that references customers.id.
>
> First question: Is this a stupid aproach?

It is logical to reduce dependency from the temporary schema to the
customer table which is on the permanent schema.

>
> If not:
> How is the easiest way to to find the customer.id of the new customers
> so I can insert the projectinfos?
>

It is easy to select rows not related with another table. One of the
following queries can be used.

> Select * from "customers" where id not in (select "customerId" from
> "projectinfos")

> Select * from "customers" left join "projectinfos" on "customers"."id" =
> "projectinfos"."customerId" where "projectinfos"."customerid" is null

> Select * from "customers" where not exists (select true from
> "projectinfos" where "customers".id = "customerId")

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Andreas 2011-12-08 10:10:06 Re: Question on imports with foreign keys
Previous Message Pavel Stehule 2011-12-08 07:40:04 Re: prepared statements