オープンソースで作る Java+DB

特集 オープンソースで作るJava+DB
第1回 PostgreSQLで学ぶSQLデータベースの操作 (3/15)


データベースを作成する

 PostgreSQLに限らず、リレーショナルデータベースの構成は、データベースを作り、そのなかに各種テーブルを構成していく形式になる。postgresqlスクリプトを初回に起動したときに作成されるのは、データベース全体の保存域だ。データベースを利用する場合には、その保存域を区切り、各種データベースを作成する方式となる(Fig.1)。

Fig.1 データベースの構成

fig01.gif

 PostgreSQLは、postgresユーザー/グループの権限で動作している。そのため、PostgreSQLに対する操作は、次のようにpostgresユーザーにログインしてから行うことを忘れてはならない。

# su - postgres

 さて、データベースを実際に作成するには、createdbコマンドを使う。createdbコマンドを使ってデータベースを作成するときには、「-E」オプションで保存するデータのエンコード方式を指定する。例えば、「-E EUC_JP」とするとEUCコードで、「-E UNICODE」とするとUnicodeで、それぞれ保存されるようになる。

 文字コードとして何を選択するのかは難しい問題だ。一般にUnixではEUCが利用されるから、EUCを使ったほうが有利だ。しかしこれは、データベースを利用するアプリケーションにもよる。たとえば、JavaからPostgreSQLにアクセスする場合には、Javaが文字列をUnicodeとして扱っているため、Unicodeとして構成したデータベースでないと、正しくデータを保存できない。

 今回は、JavaからPostgreSQLを使うことを主目的とするので、Unicodeとしてデータベースを作成することにしよう。ここでは、次のようにcreatedbコマンドを実行する。

$ createdb -E UNICODE sampledb

 すると画面に「CREATE DATABASE」と表示され、sampledbデータベースが完成する。

CREATE DATABASE

One Point!

  • createdbコマンドの代わりに、すぐのちに説明するpsqlコマンドを使って、CREATE DATABASE文を実行することでもデータベースを作成できる。
  • 既存のデータベースを削除するには、dropdbコマンド(またはDROP DATABASE文)を使う。

コラム:Unicodeを使う場合のコマンドラインからの操作

データベースの文字コードをUnicodeとする場合、問題となるのが、コマンドラインからの操作だ。次に説明するように、データベースの操作には、psqlコマンドを使う。psqlコマンドを使うと、レコードを表示したり、追加したり、更新したりできる。

この時、Unicodeに対応しない端末からpsqlコマンドを使うと、文字化けが起こってしまう。Unicodeに対応する方法は幾つかあるが、Unicodeに対応したターミナルソフトを使ってLinuxに接続して利用するのが比較的簡単な解決方法だ。

たとえば、Unicodeに対応したWindows用のフリーのターミナルソフトとしては、PuTTYがある。

前のページ | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 次のページ

[大澤文孝,ITmedia]