From: | "Karl F(dot) Larsen" <k5di(at)zianet(dot)com> |
---|---|
To: | Neil Conway <nconway(at)klamath(dot)dyndns(dot)org> |
Cc: | PostgreSQL General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: FOREIGN KEY questions |
Date: | 2000-09-10 12:19:54 |
Message-ID: | Pine.LNX.4.10.10009100607450.724-100000@cannac.ampr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
That is not a sin to have never used foreign keys, but I think you are
mixing apples and oranges. It sounds to me you have 2 questions. One is
how do I put data into tables and the other is how can I, using SQL
display a new table from colums you filled.
The first question is answered I think. Sounds like you are
entering data properly, but you might want to record a key column with
every entry. This may not be possible if the data is being keyed on a web
page.
Since your filling more than one table there must be a key column
in every table. Then an SQL "select from and" calls will work. Of course
if you can record date and time, that is a classic key. Tricky to use as I
discovered.
On Sun, 10 Sep 2000, Neil Conway wrote:
> I'm having a bit of difficulty understanding the correct usage of
> foreign keys (I've never used them before, excuse my ignorance).
> Here's a situation where I'm trying to figure out how/if they
> should be used:
>
> One database has a group of tables with intereferential data.
> For example:
>
> CREATE TABLE messages (
> /* ... */
> poster INT4 NOT NULL,
> thread INT4 NOT NULL
> );
>
> CREATE TABLE users (
> id serial
> /* ... */
> );
>
> CREATE TABLE threads (
> id serial
> /* ... */
> );
>
> messages.poster should refer to a valid (and unique) users.id - that
> is the person who posted the message. If there is no users.id with
> the same value as every messages.poster , there is a problem. The
> same applies to message.thread and threads.id .
>
> How do I check that this data is being entered correctly? Is this
> a situation where I should be using foreign keys? Or can this only
> be done with external logic (i.e. the application doing the inserts
> should check first that the data it's receiving is valid).
>
> Thanks in advance,
>
> Neil
>
> --
> Neil Conway <neilconway(at)home(dot)com>
> Get my GnuPG key from: http://klamath.dyndns.org/mykey.asc
> Encrypted mail welcomed
>
> We hang the petty thieves and appoint the great ones to public office.
> -- Aesop
>
Yours Truly,
- Karl F. Larsen, k5di(at)arrl(dot)net (505) 524-3303 -
From | Date | Subject | |
---|---|---|---|
Next Message | lee johnson | 2000-09-10 16:28:10 | Re: [Fwd: Re: postgres not allowing new database?] |
Previous Message | Patrick Welche | 2000-09-10 11:46:43 | Re: FOREIGN KEY questions |