Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

SQL Anywhereのデータベース管理の基礎

SQL Anywhereの魅力を探る 3

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/06/04 16:20

SQL Anywhereは、組込み・中小規模ビジネス・モバイル分野などで特に普及している、省リソースで高速な処理を実現するリレーショナルデータベースです。この連載では、その魅力を紹介していきます。第3回は、データベースの作成・起動、キャッシュの設定、ユーザ管理について説明します。

目次

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
SQL Anywhereでの変更点1
 SQL Anywhere 10では、dbinitのオプションが拡張され、ファイルサイズの指定やDBAユーザ(後述)の設定がデータベース作成時に可能となった。また、ページサイズのデフォルトは4096となったので、「-p 4096」を明示する必要はない。
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
図2.9 : データベースサーバ名とデータベース名
図2.9 : データベースサーバ名とデータベース名
データベース名やサーバ名の省略
 データベース名を省略した場合は、データベースファイル名(拡張子を除く)がデータベース名となる。また、サーバ名を省略した場合は、1つ目のデータベース名がサーバ名となる。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 森脇 大悟(モリワキ ダイゴ)

    1974年生まれ。神奈川県川崎市出身。京都大学理学部物理学科卒業。同大学院 修士課程中退後、有限会社グルージェント(現・株式会社グルージェント)入社。 SIとして金融や物流システムを手がける。2003年アイエニウェア・ソリューションズ株式会社入社。エンジニアとして製品の導入支援やコンサルティング業...

バックナンバー

連載:SQL Anywhereの魅力を探る

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5