2.4 データベースの作成と起動
この節では、データベースの作成・削除、および接続方法などについて説明する。主にコマンドラインによる方法を説明するので、GUIなどそのほかの方法についてはマニュアルを参照していただきたい。
2.4.1 作成
データベースを作成するにはいくつか方法がある。
- Sybase CentralからGUIで行う(ウィザード)
- 既存のデータベースサーバに対してSQL文で行う(CREATE DATABASE文)
- コマンドラインで行う(dbinitコマンド)
コマンドラインでデータベースを作成するには、dbinitコマンドを使用する。
$ dbinit test.db
この文を実行すると、test.dbというデータベースファイルが作成される。トランザクションログファイルは、データベースを起動したときに自動的に生成される。
ページサイズを明示してデータベースを作成するには、-pオプションでページサイズを指定する。
$ dbinit -p 4096 test.db
dbinit -dba user1,mypwd -dbs 200m test.db
DBSPACEのサイズを拡張する
データベースファイル(DBSPACE)のサイズは自動的に拡張するので、特に注意する必要はない。しかし、まとまった量をあらかじめ作成しておけば、ファイルのフラグメンテーションが起きにくいので、必要なサイズが概算できるならば指定しておくとよい。
DBSPACEのサイズを増やすには、データベースを作成して起動したあとで、ALTER DBSPACE文を実行する。デフォルトのDBSPACE名はsystemなので、200MB増やす場合、次のようになる。
ALTER DBSPACE system ADD 200MB
データベースファイルの追加
データベースファイルを追加し、テーブルやインデックス単位でDBSPACEに振り分けることができる。次のSQL例では、既存のデータベースに対して、books.dbとbooks_index.dbとの2つのデータベースファイルを新たに作り、テーブルとインデックスとを別々に置いている。
-- books.db CREATE DBSPACE books AS 'd:\\books.db'; CREATE TABLE Books ( title char(100) PRIMARY KEY, author char(50), isbn char(30), ) IN books; -- books_index.db CREATE DBSPACE books_index AS 'd:\\books_index.db'; CREATE INDEX books_isbn ON Books (isbn) IN books_index;
2.4.2 起動
データベースサーバを起動するコマンドは、サーバの種類ごとにある。
- ネットワークサーバ ―― dbsrv9コマンド
- パーソナルサーバ ―― dbeng9コマンド
コマンド引数の形式は同じだ。引数にデータベースファイル名を指定すると、データベースサーバが立ち上がるとともにデータベースが起動する。
$ dbeng9 test.db
複数のデータベースを起動するには、データベースファイルを列挙する。
サーバ名やデータベース名をそれぞれ明示したい場合は、-nオプションを利用する。たとえば、図2.9のような場合は次のように実行する。
$ dbeng9 -n server_name test1.db -n test1_db_name -n test2.db test2_db_name