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

Re: [HACKERS] Enticing interns to PostgreSQL

From: Jeff Davis <jdavis-pgsql(at)empires(dot)org>
To: Bruno Wolff III <bruno(at)wolff(dot)to>
Cc: "Jim C(dot) Nasby" <decibel(at)decibel(dot)org>,pgsql-advocacy(at)postgresql(dot)org
Subject: Re: [HACKERS] Enticing interns to PostgreSQL
Date: 2005-07-23 21:28:01
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-advocacypgsql-hackers
Bruno Wolff III wrote:
> On Fri, Jul 22, 2005 at 17:47:09 -0500,
>   "Jim C. Nasby" <decibel(at)decibel(dot)org> wrote:
>>Sadly, I'd be willing to bet there's a lot of professors using MySQL to
>>teach database theory. Just like there's a lot of other people who use
>>it because they don't know any better. But everyone else uses it, so it
>>must be good, right?
> I don't see a problem for the professors or students using MySQL to learn
> database theory. For a first course in database theory you could use
> almost anything to practice issuing some DDL and DML commands.
> It might be nice PR for Postgres to have professors using that instead
> of MySQL. So as a Postgres developer or user you might not like this,
> but its not as if the students are going to be scarred for life by
> using MySQL to practice creating tables and doing simple queries.

I disagree. In MySQL, it often silently ignores errors, and has strange
behavior. Dates are a perfect example: it thinks Feb 31st can go in a
date column. And you can't create your own types.

Basically, it reduces the database to a place to throw data and get it
back a little later. Everything else is client-side processing
(including all detection and recovery for malformed data coming out of
the database). That very easily could cause serious misconceptions about
the role of a relational database management system.

By the way, this is a university level class, not vocational school. I
would be disappointed if they spent all the time learning SQL and
practicing commands.

Here is the class description (UCSD):
CSE132A Database System Principles
"Basic concepts of databases including data modeling,
relational databases, query languages, optimization,
dependencies, schema design, and concurrency con-
trol. Exposure to one or several commercial database
systems. Advanced topics such as deductive and
object-oriented databases, time allowing."

So, back on the subject, does someone see a good advocacy opportunity
here? I think many students would be able to help if we devised some
ways to advocate PostgreSQL in that kind of environment without
distracting from the main topics in the course.

Basically, here's what I've got so far:
(1) Make passive comments about PostgreSQL when appropriate, and mention
the name "PostgreSQL". For example, if the professor asks a question
that could be answered by "the PostgreSQL way".
(2) I started work on a project a while ago to improve concurrent
seqential scans of the same table. It works, but it needs testing and
needs to be better integrated with PostgreSQL source conventions. I'll
mention it to the professor and see if he's interested in helping me. If
so, he's bound to gain some real respect for PostgreSQL.

	Jeff Davis

In response to


pgsql-hackers by date

Next:From: Andrew DunstanDate: 2005-07-23 23:58:21
Subject: Re: [HACKERS] Patch to fix plpython on OS X
Previous:From: Tom LaneDate: 2005-07-23 21:13:01
Subject: Re: A Guide to Constraint Exclusion (Partitioning)

pgsql-advocacy by date

Next:From: Josh BerkusDate: 2005-07-23 22:24:54
Subject: Coverity Inspected, 20 bugs detected!
Previous:From: Joshua D. DrakeDate: 2005-07-23 21:06:54
Subject: Re: [HACKERS] Enticing interns to PostgreSQL

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