harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

[DB]FireBird テストDBで遊んでみる

   


アカウントを作ったところで、データベースへログインしてみました。

インストール直後に、/var/lib/firebird/data/以下にemployee.fdbというサンプルデータベースがあるので、ためしに接続してみます。

1.ログインしてみる

ログインには、コマンドラインツールisql-fbを使用します。
実行すると、

SQL> 

というコンソールが出ますので、SQL分を発行します。

  • isql起動
    $ isql-fb
  • データベースファイルアクセス
    SQL> connect "/var/lib/firebird/data/employee.fdb"	
    CON> user 'sysdba'
    CON> password '******';
    Database:  "/var/lib/firebird/data/employee.fdb", User: sysdba	←DBを指定して認証された場合は左のような表示が。
    SQL>

    上記にてログイン成功です。
    ※"CON> "は、SQL文が続いているとみなされた場合に表示されます。

  • 失敗した場合の表示は以下の通り。
    • パスワードエラーの場合
      # isql-fb
      Use CONNECT or CREATE DATABASE to specify a database
      SQL> connect "/var/lib/firebird/data/employee.fdb"
      CON> user 'sysdba'
      CON> password 'chigau-passwd';
      Statement failed, SQLSTATE = 28000
      Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
      SQL>
  • データベースを指定せずに、ログインIDとパスワードだけ指定してログインする場合は
    以下のような感じで。

    $ isql-fb -u sysdba -p ******
    Use CONNECT or CREATE DATABASE to specify a database
  • 後からデータベースを指定してアクセスします。
    SQL> connect employee;
    Database:  employee, User: sysdba
    SQL>
  • ログアウトする場合は
    SQL> quit;

    とします。

2.サンプルデーターベースの中身を見てみる

サンプルはテーブルの中身も容易されているので色々遊べるようになってました。
テーブルの表示は普通に"show tables"で。

  • テーブル一覧
    SQL> show tables;
    COUNTRY                           CUSTOMER
    DEPARTMENT                        EMPLOYEE
    EMPLOYEE_PROJECT                  JOB
    PROJECT                           PROJ_DEPT_BUDGET
    SALARY_HISTORY                    SALES
  • COUNTRYテーブルの中身を見てみる。
    SQL> select * from COUNTRY;
    
    COUNTRY         CURRENCY
    =============== ==========
    USA             Dollar
    England         Pound
    Canada          CdnDlr
    Switzerland     SFranc
    Japan           Yen
    Italy           Lira
    France          FFranc
    Germany         D-Mark
    Australia       ADollar
    Hong Kong       HKDollar
    Netherlands     Guilder
    Belgium         BFranc
    Austria         Schilling
    Fiji            FDollar

データベース作成

サンプルデータベースに続いて、サンドボックス用のテストDBを作成。
CREATE DATABASEで作成します。

  • 書式
    CREATE DATABASE 'データベースファイル名'  USER '<ユーザー名>' PASSWORD '<パスワード>';

    データベースのファイル名を指定するときはフルパスで指定する必要があります。

  • CREATE DATABASE実行時のオプションを抜粋
    ひとまずよく使用されると思われるオプション2つを。

    • PAGE_SIZE
      ページサイズの指定。デフォルト値は4096バイト。
    • DEFAULT CHARACTER SET
      文字コードの指定。デフォルト値はNONE。
  • 書式例
    RPM版firebirdの場合は/var/lib/firebird/data以下にファイルを作成するので、以下のような書式に。

    CREATE DATABASE "/var/lib/firebird/data/test.fdb" PAGE_SIZE 8192 USER 'testuser' PASSWORD '********';
  • 実行例
    上記のような感じで作って見ます。

    SQL> CREATE DATABASE "/var/lib/firebird/data/test.fdb" PAGE_SIZE 8192 USER 'testuser' PASSWORD '********';

    →プロンプトが戻ってきたらOK。
    また、データベース作成時にメタデータとしてシステムテーブルが作成されているので、
    以下のSELECT文で中身をチェックすることが可能。

  • 作成後のテーブルチェック
    SQL>SELECT * FROM RDB$RELATIONS;

    ※そこそこのデータ量があるので、中身は割愛w

  • テーブル作成
    ひとまず日本郵便のサイトから郵便番号データをいただいて、テスト用DBに入れてみようと思います。
  • テーブル作成
    SQL> CREATE TABLE postcode (
    CON> postalid INTEGER primary key not null,
    CON> postal7 varchar(8) not null,
    CON> address varchar(64) not null,
    CON> pref varchar(8) not null,
    CON> city varchar(32) not null,
    CON> flag1 varchar(8) not null,
    CON> flag2 varchar(8) not null,
    CON> flag3 varchar(8) not null,
    CON> flag4 varchar(8) not null,
    CON> flag5 varchar(8) not null,
    CON> flag6 varchar(8) not null );
  • さいごにcommit。
    SQL> commit;

つづけてCSVデータをインポート。

Firebird 徹底入門
Firebird 徹底入門

posted with amazlet at 13.08.16
木村 明治 はやし つとむ 坂井 恵
翔泳社
売り上げランキング: 446,102

 - DB, FireBird, メモ, レビュー, 作業ログ ,