Firebird 5 のインストール,データベース作成,テーブル定義とレコード挿入(Windows 上)

概要

Firebird 5 は,オープンソースのクロスプラットフォーム対応リレーショナルデータベース管理システムである。組み込み用途からクライアントサーバーシステムまで対応可能であり,SQL 標準への準拠度が高い。このページでは,Firebird 5 の Windows 上での導入と基本操作を説明する。winget コマンドを用いてインストールし,環境変数を設定する。ISQL(対話型 SQL ツール)を使用してデータベースを作成し,テーブル定義とレコード挿入を行う。また,アカウント作成やパスワード変更などの管理タスクを SQL 文で実行する。データ型や SQL 文の具体例も示す。

目次

関連する外部ページ

【サイト内の関連ページ】

Firebird 活用ガイド

インストール前に決めておく事項

Firebird 5 のインストール(Windows 上)

  1. 管理者権限コマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

    次のコマンドは,Firebird 5 をインストールし,パスを通すものである。winget を使用し,インストール先を C:\Firebird50 に指定する。

    winget install --location "C:\Firebird50" FirebirdProject.Firebird.5
    powershell -command "$installPath = 'C:\Firebird50'; $oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); if ($oldpath -notlike ('*' + $installPath + '*')) { $newpath = $oldpath + ';' + $installPath; [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine') } "
    
  2. sysdba パスワードの設定。

    sysdba は,Firebird のデータベース管理者のユーザ名である。既定(デフォルト)の sysdba パスワードは「masterkey」である。これを新しいパスワードに変更する。パスワードの変更は,ISQL でデータベースに接続し,SQL の ALTER USER 文で行う。ここではインストール時に同梱されるサンプルデータベース employee に接続する。

    "C:\Firebird50\isql.exe" -u sysdba -p masterkey employee
    

    ISQL のプロンプトが表示されたら,次の SQL 文を実行する。

    alter user sysdba password '新しいパスワード';
    commit;
    exit;
    

ISQL の起動と終了

データベースの作成

データベースを作成するために,SQL の create database コマンドを使用する。

  1. Firebird ISQL の起動
    ISQL を起動するには,Windows のメニューで,次のように操作する。 「スタート」 → 「Firebird 5.0 (x64)」 → 「Firebird ISQL Tool
  2. データベース生成

    utf8の場合

    create database 'testdb' default character set utf8;
    

    sjisの場合

    create database 'testdb' default character set sjis;
    
  3. show database;」で,データベースが生成されたことを確認
    show database;
    
  4. exit;」で終了。
    exit;
    

テーブル定義とレコード挿入

  1. Firebird ISQL の起動
    ISQL を起動するには,Windows のメニューで,次のように操作する。 「スタート」 → 「Firebird 5.0 (x64)」 → 「Firebird ISQL Tool
  2. connect 'testdb';」で,データベースを開く。
    connect 'testdb';
    
  3. SQL を用いたテーブル定義
    Firebird のデータ型 Char: 32767 bytes Varchar: 32767 bytes Smallint: 16 bits Integer: 32 bits BigInt: 64 bits DECIMAL: Float: 32 bits, 3.4x10^-38 to 3.4x10^38, 7 digit precision Double: 64 bits, 1.7x10^-308 to 1.7x10^308, 15 digit precision Timestamp: 64 bits, 1 Jan 100 to 28 Feb 32768. Date: 32 bits, 1 Jan 100. to 29 Feb 32768. Time: 32 bits, 00:00 to 23:59.9999 Blob: 32GB
    create table order_records (
        id            integer primary key not null,
        yy            integer not null CHECK ( yy > 2008 ),
        mm            integer not null CHECK ( mm >= 1 AND mm <= 12 ),
        dd            integer not null CHECK ( dd >= 1 AND dd <= 31 ),
        customer_name varchar(32) not null,
        product_name  varchar(32) not null,
        unit_price    real not null check ( unit_price > 0 ),
        qty           integer not null check ( qty > 0 ),
        created_at    timestamp not null,
        updated_at    timestamp,
        check ( ( unit_price * qty ) < 200000 ) );
    
  4. SQL を用いたレコード挿入
    insert into order_records values( 1, 2024, 7, 26, 'kaneko', 'orange A', 1.2, 10, current_timestamp, NULL );
    insert into order_records values( 2, 2024, 7, 26, 'miyamoto', 'Apple M', 2.5, 2, current_timestamp, NULL );
    insert into order_records values( 3, 2024, 7, 27, 'kaneko', 'orange B', 1.2, 8, current_timestamp, NULL );
    insert into order_records values( 4, 2024, 7, 28, 'miyamoto', 'Apple L', 3, 1, current_timestamp, NULL );
    
  5. 確認表示
    select * from order_records;
    
  6. 更新し確認表示
    update order_records set unit_price = 11.2 where id = 1;
    select * from order_records;
    
  7. テーブル一覧の表示
    show tables;
    
  8. exit;」で終了。
    exit;
    

アカウント(ユーザ名とパスワード)作成,パスワード変更

アカウントの作成やパスワードの変更は,ISQL でデータベースに接続し,SQL の CREATE USER 文,ALTER USER 文で行う。ユーザ管理の SQL 文はセキュリティデータベースに直接接続して実行できないため,通常のデータベース(例:サンプルデータベース employee や,作成済みの testdb)に接続して実行する。これらの SQL 文は DDL 文であり,実行後に commit でコミットする。

アカウント(ユーザ名とパスワード)作成

sysdba(Firebird データベース管理者)でデータベースに接続する。

"C:\Firebird50\isql.exe" -u sysdba -p masterkey employee

ユーザ名 testuser,パスワード hoge$#34 でアカウントを作成する。

create user testuser password 'hoge$#34';
commit;

パスワードの変更

ユーザ testuser のパスワードを hoge$#34 から newpass変更したいときの実行例である。sysdba で接続し,次を実行する。

alter user testuser password 'newpass';
commit;

データベース管理者のパスワードの変更

データベース管理者 sysdba のパスワードを hoGE9!#8 に設定したいときの実行例である。sysdba で接続し,次を実行する。

alter user sysdba password 'hoGE9!#8';
commit;

【まとめ】 Firebird 5 の導入から基本操作までを体系的に説明し,データベース管理の基礎を示した。