SQL

我希望可以用 SQL 整理雜物,從亂七八糟的房間找我剛好要用的東西。

SELECT location FROM home WHERE item_name = '錀匙';
SELECT location FROM bedroom WHERE item_name = '筆記簿' AND last_modified < parse_date('大約幾天前');
SELECT location FROM bedroom WHERE item_name = '證書' AND price IS NULL;
SELECT location FROM home WHERE item_name = '鉗' OR shape LIKE '%鉗%';

找東西找到發神經了。

PostgreSQL

因為以往 PostgreSQL 必須在 *NIX平台上安裝(好,cygwin另計,搞這個太煩人了),所以也沒有太大理會這套資料庫軟件。

最近這套資料庫推出的新版本叫人眼前一亮,因為終於有 Win32 Native 版本了。 這當然是個好消息,因為在 Windows 平台上走可以有更高的效能和穩定性。
至於這套資料庫有何特別呢?最大的特點當然是:開源及連 commerical license 也免費吧?此外,PostgreSQL 在 programming 上也有頗特別的地方。例如,它支援資料表繼承,可以讓相似但不盡相同的資料整合處理。例子如下:

CREATE TABLE person (name text, sex char(1));
CREATE TABLE staff (salary int) INHERITS person;

SELECT * FROM person* WHERE sex = ‘F’;

以上的 select statement 便會找上包括 staff 在內 sex 為 f 的資料項。
而它也支援交易(transaction),觸發(trigger,指 db 資料到指定狀態時自動執行自行撰寫的程序),內儲程序(stored procedure)等。所以做系統開發的朋友不得不注意這套資料庫呢。

(別注:再度留意這個資料庫的主要原因是:今天去面試的公司用上 PostgreSQL… :p)