Re: Question on imports with foreign keys - Mailing list pgsql-sql

From Emre Hasegeli
Subject Re: Question on imports with foreign keys
Date
Msg-id op.v55w0nozk2xoe5@tart-hasegeli-development
Whole thread Raw
In response to Question on imports with foreign keys  (Andreas <maps.on@gmx.net>)
Responses Re: Question on imports with foreign keys
List pgsql-sql
On Thu, 08 Dec 2011 08:48:51 +0200, Andreas <maps.on@gmx.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")


pgsql-sql by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: prepared statements
Next
From: Andreas
Date:
Subject: Re: Question on imports with foreign keys