Re: dev 1.15 wxwidgets - constraints with multiple tables

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Colin Beckingham <colbec(at)start(dot)ca>
Cc: pgadmin-support(at)postgresql(dot)org
Subject: Re: dev 1.15 wxwidgets - constraints with multiple tables
Date: 2012-04-06 20:55:39
Message-ID: 1333745739.20329.18.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

On Fri, 2012-04-06 at 16:39 -0400, Colin Beckingham wrote:
>
> On 04/06/2012 04:10 PM, Guillaume Lelarge wrote:
> > On Fri, 2012-04-06 at 15:11 -0400, Colin Beckingham wrote:
> >>
> >> On 04/06/2012 02:40 PM, Guillaume Lelarge wrote:
> >>> On Fri, 2012-04-06 at 08:03 -0400, Colin Beckingham wrote:
> >>>> Given 3 tables, authors, books and words, each has a primary key.
> >>>>
> >>>> Attempting to use pgadmin to add a foreign key to books to link authors
> >>>> to books, and a key to words to link words to books.
> >>>>
> >>>> The first step works ok (ignoring previously reported backtrace) and the
> >>>> foreign key is added to books linking it to authors. However when
> >>>> attempting to add a foreign key to words, pgadmin can still only see the
> >>>> authors table as a reference table.
> >>>>
> >>>> Tried reloading and refreshing but pgadmin does not seem to see beyond
> >>>> the authors table for the 'referencing' dropdown.
> >>>>
> >>>> Maybe I am missing a step. table books definitely has a primary key.
> >>>
> >>> Can you give us your tables' definition? Thanks.
> >>>
> >>>
> >>
> >> CREATE TABLE authors
> >> (
> >> authid serial NOT NULL,
> >> name character varying(250) NOT NULL,
> >> CONSTRAINT authors_pkey PRIMARY KEY (authid )
> >> );
> >> CREATE TABLE books
> >> (
> >> bookid serial NOT NULL,
> >> authid integer NOT NULL,
> >> title character varying(250) NOT NULL,
> >> CONSTRAINT books_pkey PRIMARY KEY (bookid ),
> >> CONSTRAINT books_authid_fkey FOREIGN KEY (authid)
> >> REFERENCES authors (authid) MATCH SIMPLE
> >> ON UPDATE NO ACTION ON DELETE NO ACTION,
> >> CONSTRAINT books_bookid_key UNIQUE (bookid )
> >> );
> >> CREATE TABLE words
> >> (
> >> wordid serial NOT NULL,
> >> lemma character varying(100),
> >> bookid integer,
> >> wcount integer,
> >> CONSTRAINT words_pkey PRIMARY KEY (wordid )
> >> );
> >> CREATE INDEX words_bookid_idx
> >> ON words
> >> USING btree
> >> (bookid );
> >>
> >
> > Thanks. So, I don't see any issues adding an fkey on words. Can you
> > describe more precisely what you do?
> >
> >
>
> Okay, found my error. It works correctly if you follow the right steps.
>
> My mistake was to go straight to the columns tab of the _second_ dialog
> box, skipping the definition tab where I can select a table with the
> reference fields. Missed it entirely and did not think to look there.
>
> So, open pgadmin, drill down to table name. Right click to get context
> menu and select Properties. Select constraints tab, defaults to fkey in
> lower dropdown, click add. New dialog opens.
>
> (At this point the parent of the new dialog is still active so evidently
> the new dialog is not modal. This might lead to problems.)
>
> Continuing - at this point user is tempted to go straight to the columns
> tab but this is a mistake unless the default happens to be what you
> need. Your table might be there but probably not. Next tab should be
> definition where you have a chance to select the referencing table
> before selecting columns, in particular the referencing fields.
>
> Thoughts - is it confusing to the user to have two important fields on
> different dialog tabs?

Could be. I wouldn't object to put the table combobox in the third tab.

> Does selecting the referencing table belong on
> the same tab as selecting the referencing field?

Sure, could be nice.

> Yet again, would it be
> clearer for the user if the referencing field contained a list of
> table.column entries like author.authid and words.lemma?

No. Moreover, it wouldn't be consistent with the other dialogs. Having
the table name on the same tab should be enough.

> Would use of the status bar help guide users?

No. The status bar is only available to remind you if you miss to fill
some required informations.

--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Basil Bourque 2012-04-08 01:53:31 Suggestion: Use "Menlo" rather than "Monaco" as default font
Previous Message Colin Beckingham 2012-04-06 20:39:46 Re: dev 1.15 wxwidgets - constraints with multiple tables