X-Original-To: pgsql-docs-postgresql.org@localhost.postgresql.org Received: from localhost (neptune.hub.org [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id D1C1CD1B439 for ; Thu, 8 Jan 2004 17:16:02 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 04222-08 for ; Thu, 8 Jan 2004 13:15:14 -0400 (AST) Received: from sss.pgh.pa.us (unknown [192.204.191.242]) by svr1.postgresql.org (Postfix) with ESMTP id 61BD6D1C980 for ; Thu, 8 Jan 2004 13:15:13 -0400 (AST) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.12.10/8.12.10) with ESMTP id i08HEu19011934; Thu, 8 Jan 2004 12:14:56 -0500 (EST) To: Peter Eisentraut Cc: Jeroen Ruigrok/asmodai , David Fetter , pgsql-docs@postgresql.org Subject: Re: The Tutorial(TM) In-reply-to: <200401081020.00181.peter_e@gmx.net> References: <200401080722.53433.peter_e@gmx.net> <20040108075229.GE85110@nexus.ninth-circle.org> <200401081020.00181.peter_e@gmx.net> Comments: In-reply-to Peter Eisentraut message dated "Thu, 08 Jan 2004 10:20:00 +0100" Date: Thu, 08 Jan 2004 12:14:56 -0500 Message-ID: <11933.1073582096@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: by amavisd-new at postgresql.org X-Archive-Number: 200401/17 X-Sequence-Number: 2233 Peter Eisentraut writes: > I feel that there is a very useful dividing line between chapters 2 and > 3: chapter 2 is about getting the data in and out, to give beginners a > feeling that the database system is working, chapter 3 is about > refining the data structures for higher convenience, maintainability, > and integrity -- "design". Perhaps a reasonable compromise would be to divide the material into 3 chapters instead of 2 --- beginner, intermediate, advanced. Looking at the existing TOC: 2. The SQL Language 2.1. Introduction 2.2. Concepts 2.3. Creating a New Table 2.4. Populating a Table With Rows 2.5. Querying a Table 2.6. Joins Between Tables 2.7. Aggregate Functions 2.8. Updates 2.9. Deletions 3. Advanced Features 3.1. Introduction 3.2. Views 3.3. Foreign Keys 3.4. Transactions 3.5. Inheritance 3.6. Conclusion I'd be inclined to put aggregates, transactions, foreign keys, and views into the "intermediate" category, leaving only inheritance as "advanced". (Or maybe we should just drop inheritance from the tutorial.) You could possibly even argue that joins are intermediate instead of basic, although that's stretching it a bit. I agree with Peter's point that the first thing to teach is how to get data in and out. regards, tom lane