Re: Seattle PostgreSQL Day

From: Basil Bourque <basil(dot)bourque(dot)lists(at)pobox(dot)com>
To: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
Cc: "seapug(at)postgresql(dot)org" <seapug(at)postgresql(dot)org>
Subject: Re: Seattle PostgreSQL Day
Date: 2013-10-30 14:32:56
Message-ID: 368EECE6-CFEF-4040-9057-A963066489AE@pobox.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: seapug


On Oct 23, 2013, at 08:52, Joshua D. Drake <jd(at)commandprompt(dot)com> wrote:

> Are there any others that would be willing to give a talk?

I would be happy to do any or all of the following talks.

----| Intro to Postgres |----------------

[I'll be using Mac OS X.]
• Quick orientation to what is Postgres and what makes it different
• How to obtain and install
• Structured for security (new Unix user 'postgres' with password)
• Date files stored separately in area owned by 'postgres' user
• pgAdmin
- Basic features
- Show default database
- Create new database
- Create tables and columns
- Primary key
- Create a few records
- Query
- Update rows
- Foreign Key & Join
- Other GUI tools available, but pgAdmin is good enough to get started with Postgres.
• psql command line tool (very quick, to create awareness but not really show anything useful)
• pgdump for backups (very quick)
• Documentation (very quick)

----| UUID, Universal Unique Identifier |----------------

• What are they (128-bit value, not text, but shown as hex string)
• Explain just how huge a range of numbers 128-bits provides.
• A standard (ISO and IETF)
• Commonly used for variety of purposes (show use in email message, iPhone app id, etc.)
• Pros and cons of using as a Primary Key rather than a serial number or a natural key
• Types (date+time+MAC, random, and so on)
• Generate a UUID by command line ('uuidgen')
• Native type in Postgres
• Explain what extensions are in Postgres (plugins)
• Install UUID extension
• Generate UUID with SELECT statement
• Use UUID as Primary Key
• Create a table and rows, show UUID in action.
• Explain bridging to Java & JDBC via "setObject" & "getObject". Show quick Java code demo if time allows.

----| Build a Database-backed Web App with Vaadin + Postgres |-----------------------
• Purpose: Actually build a working web app backed by a database, all during the demo.
• Quick demo and overview of Vaadin:
- Produce business-class desktop-style apps. Almost makes you forget you're using a web app.
- *Not* yet-another-web-app-framework
- Server-side app engine
- Pure Java (on the server, but no Java or Applet on the client)
- No templating
- No HTML, no CSS, no JavaScript, no DOM, no AJAX. (Vaadin handles all that automagically, not you & me)
• JDBC for connecting to Postgres
- Write some SQL to be executed by JDBC.
• Old "Table" widget in Vaadin
- Demo by showing data contained in Postgres
• New "Grid" widget
- Demo by showing data contained in Postgres
• Detail form
- Display and update row in Postgres

----| Show and Tell: App for Tracking Medical Encyclopedia Articles |-----------------------

• Explain simple business problem:
- Tracking a couple thousand encyclopedia articles of Traditional Chinese Medicine being published in an iOS app.
- Each article has assigned phrases (symptoms, diagnoses, and such) used for lookups.
• Explain table structure
- Show table structure diagram
- Basically a Many-to-Many of "Article" to "Phrase" with a bridge table between them, "Assignment".
- Phrases have simple child table, "Variations" of wording.
- Launch pgAdmin (and quick orientation)
- Show some SQL joins in pgAdmin of parent-child using "Phrase" and "Variation" tables.
- Show more complicated Many-to-Many joins of "Article" ↔ "Variation" ↔ "Phrase".
• Show finished Vaadin app
- Create and edit records
- Drag-and-drop to assign phrases to articles.

--Basil Bourque

In response to

Responses

Browse seapug by date

  From Date Subject
Next Message Julie Goldberg 2013-10-30 16:20:14 Re: Seattle PostgreSQL Day
Previous Message kah42pub 2013-10-30 01:01:41 Re: Seattle PostgreSQL Day