Re: The Tutorial(TM) - Mailing list pgsql-docs
From | david@fetter.org (David Fetter) |
---|---|
Subject | Re: The Tutorial(TM) |
Date | |
Msg-id | GmSdnZL2avO6cWCiXTWc-g@speakeasy.net Whole thread Raw |
In response to | The Tutorial(TM) (david@fetter.org (David Fetter)) |
Responses |
Re: The Tutorial(TM)
|
List | pgsql-docs |
Christopher Browne <cbbrowne@acm.org> wrote: > Oops! david@fetter.org (David Fetter) was seen spray-painting on a wall: >> On Thu, Jan 08, 2004 at 06:07:13PM +0100, Peter Eisentraut wrote: >>> David Fetter wrote: >>> > Expanding on that, putting FK's in "Advanced Features" gives the >>> > (IME always wrong) impression that they're optional. >>> >>> They *are* optional. >> >> I disagree. >> >>> The first chapter is about getting the data in and out. That is >>> not optional for using a database. Transactions, views, foreign >>> keys, primary keys even, and everything else that some people >>> think is essential for a "real" database are in fact optional. >>> Remember that the tutorial is intended for people starting from >>> zero. >> >> No, they're not optional. If people see how it's done right, >> starting from zero, they will not then develop bad habits that have >> to be un-learned. >> >>> Let's not overwhelm them right away. >> >> I don't think this will be overwhelming. > > When some Pointy-Haired Type has some ridiculously large list of > things that they say are all "top priorities," that implies that all > are of equally _LOW_ priority. Good point. How about this, then? For the table create scripts at the beginning, I'll put in FK's with a pointer to the DB design section, and just go with 'em from there. That way, people get used to seeing and doing things the right way, even if they don't understand them right off the bat. > I rather like Tom Lane's suggestion that it makes sense to split into > _three_ sections: > > 1. Rudimentary queries, where novices figure out the basics of > SELECT, INSERT, DELETE, UPDATE. Perhaps with simple joins. > > 2. Intermediate queries, where more complex joins, views, > transactions, subselects, some mention of vacuum/analyze/explain > and such, are presented. > > 3. The "advanced" part might instead get called "Designing > Databases," and present foreign keys, stored procedures, > triggers, and such. > Foreign keys would _naturally_ flow into the section that is on > design, as they are a "design" matter. Excellent :) Cheers, D -- David Fetter david@fetter.org http://fetter.org/ phone: +1 510 893 6100 cell: +1 415 235 3778 Liberty is inseparable from social justice, and those who dissociate them, sacrificing the first with the purpose of attaining the second more quickly, are the true barbarians of our time. Mario Vargas Llosa
pgsql-docs by date: