Skip site navigation (1) Skip section navigation (2)

Re: The Tutorial(TM)

From: Bret Busby <bret(at)busby(dot)net>
To: pgsql-docs(at)postgresql(dot)org
Subject: Re: The Tutorial(TM)
Date: 2004-01-11 04:24:10
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-docs
On Sun, 11 Jan 2004, Bret Busby wrote:

> As a person who is not a PostgreSQL guru or a database guru, or who 
> has worked on databases with the numbers of tables in the hundreds 
> or thousands, but, a person with (relatively) basic database skills, and 
> who knows of relational database design and the need for normalisation, 
> I suggest that wariness of cross-references, etc, should exist.
> I suggest that Foreign Keys should be included as a subsection to 
> creating tables, and to altering tables, which are the places, to me, in 
> which they belong. When I create a table, or am learning to do it with 
> PostgreSQL, having to follow cross-references, to find how to do what 
> should be a relatively simple and elementary task, would make the 
> process unnecessarily cumbersome, and would be a disincentive to use 
> foreign keys.
> I believe that a person creating a database, and the tables, should 
> have, at that stage, the information required for the components; 
> primary keys, foreign keys, etc, so that the person can create the 
> database and get it properly operational, before entering data.
> A proverb exists; "Do it once - do it properly", and, if a person does 
> it properly from the start, the process is much more efficient.
> What is the point in using PostgreSQL to build a flat-file database, 
> then tearing it apart, to implement elementary relational concepts like 
> foreign keys?
> And, if a person has to go looking elsewhere, via cross-references, for 
> concepts like foreign keys, they may fall by the wayside, and, may be 
> reagarded as unimportant, as they are not included in the part for 
> creating the tables.
> Thus, I suggest that the sections should be CREATE TABLE and ALTER 
> TABLE, and they should include subsections like PRIMARY KEYS and FOREIGN 
> KEYS, so that the person can do it properly from the start, and, not be 
> discouraged from using foreign keys, by the use of cross-referencing.
> After all, you must consider the level for whom the tutorials are to be 
> written; are they for gurus, like (some of) you, or, for basic level 
> people, like me?

Oh, and, after reading subsequent messages in the thread "How to show 
table structure", specifically the message posted by Kumar, I also 
further suggest that the method of showing the table structure, be 
included at the end of the section CREATE TABLE, with the 
instruction/suggestion to use it to verify the structure of the table 
that has been created. Whilst (some of) you may regard that as advanced 
level stuff, to me, it appears to me, to be a necessary means of 
verifying the action(s). And, a suggestion to use the method, to verify 
changes, should be used at the end of the setcion ALTER TABLE, so that 
the developer/student/whatever can check that what the person has done, 
has been successful.

Bret Busby
West Australia

"So once you do know what the question actually is,
 you'll know what the answer means."
- Deep Thought,
  Chapter 28 of 
  "The Hitchhiker's Guide to the Galaxy:
  A Trilogy In Four Parts",
  written by Douglas Adams, 
  published by Pan Books, 1992 

In response to

pgsql-docs by date

Next:From: Robert TreatDate: 2004-01-12 04:43:07
Subject: Re: ODBC encoding
Previous:From: Bret BusbyDate: 2004-01-11 04:13:14
Subject: Re: The Tutorial(TM)

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group