Re: Foreign Key for multi PK or design question

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Foreign Key for multi PK or design question
Дата
Msg-id 20071211194246.GK10710@alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: Foreign Key for multi PK or design question  (PostgreSQL Admin <postgres@productivitymedia.com>)
Список pgsql-sql
PostgreSQL Admin wrote:
> This is my layout so far:
> 
> CREATE TABLE users (
> id serial NOT NULL,
> --question REFERENCES questions(id) ON DELETE CASCADE ## ON REMOVED##
> );
> 
> CREATE TABLE questions (
> id serial NOT NULL,
> questions varchar(450) NOT NULL
> );
> 
> CREATE TABLE answers (
> id serial NOT NULL,
> question_id int REFERENCES questions(id) ON DELETE CASCADE,
> user_id int REFERENCES users(id) ON DELETE CASCADE,
> answer varchar(450) NOT NULL,
> created timestamptz NOT NULL
> );
> 
> Originally I wanted to have a foreign key that would be the pk of the
> question table.  So if the user answered Q2, 5 and 6 - the user.fk would
> store values 2,5,6 - but I have passed most of logic to the answer table.

That would have made no sense.

> Does this look correct? or most efficient?

Yeah it seems sane, however you have forgotten to add NOT NULL to the FK
fields.

-- 
Alvaro Herrera                               http://www.PlanetPostgreSQL.org/
"No me acuerdo, pero no es cierto.  No es cierto, y si fuera cierto,no me acuerdo."                 (Augusto Pinochet a
unacorte de justicia)
 


В списке pgsql-sql по дате отправления:

Предыдущее
От: PostgreSQL Admin
Дата:
Сообщение: Re: Foreign Key for multi PK or design question
Следующее
От: "Pavel Stehule"
Дата:
Сообщение: Re: join on three tables is slow