in reply to PGSQL / DBI

Ranna, I don't know about PostgreSQL, but in Oracle you don't need to say when a column *can* be null, only when it can't. So...

CREATE TABLE users ( uid INTEGER(4) PRIMARY KEY, username VARCHAR(15) NOT NULL UNIQUE, passwd VARCHAR(10) NOT NULL, realname VARCHAR(50) , email VARCHAR(50) NOT NULL UNIQUE, website VARCHAR(50) , face VARCHAR(20) , bio VARCHAR(75) );
(but as I say, I haven't used PostgreSQL)

Also, it might be worth thinking about dropping the uid column - if both username and email are unique, then you could use either of them as the primary key.

You might well find this book interesting too.

good luck - andy.