Firebird 5 のインストール,データベース作成,テーブル定義とレコード挿入(Windows 上)
【概要】
Firebird 5 は,オープンソースのクロスプラットフォーム対応リレーショナルデータベース管理システムである。組み込み用途からクライアントサーバーシステムまで対応可能であり,SQL 標準への準拠度が高い。このページでは,Firebird 5 の Windows 上での導入と基本操作を説明する。winget コマンドを用いてインストールし,環境変数を設定する。ISQL(対話型 SQL ツール)を使用してデータベースを作成し,テーブル定義とレコード挿入を行う。また,アカウント作成やパスワード変更などの管理タスクを SQL 文で実行する。データ型や SQL 文の具体例も示す。
【目次】
- インストール前に決めておく事項
- Firebird 5 のインストール(Windows 上)
- ISQL の起動と終了
- データベースの作成
- テーブル定義とレコード挿入
- アカウント(ユーザ名とパスワード)作成,パスワード変更
【関連する外部ページ】
- Firebird の公式ページ: https://www.firebirdsql.org/
- Firebird のドキュメント: https://www.firebirdsql.org/en/documentation/
【サイト内の関連ページ】
インストール前に決めておく事項
- Firebird インストールディレクトリ: C:\Firebird50
* 自由に決めてよい。日本語などの全角文字を含まないこと。
Firebird 5 のインストール(Windows 上)
- 管理者権限でコマンドプロンプトを起動する
(手順: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') } " - sysdba パスワードの設定。
sysdba は,Firebird のデータベース管理者のユーザ名である。既定(デフォルト)の sysdba パスワードは「masterkey」である。これを新しいパスワードに変更する。パスワードの変更は,ISQL でデータベースに接続し,SQL の ALTER USER 文で行う。ここではインストール時に同梱されるサンプルデータベース employee に接続する。
"C:\Firebird50\isql.exe" -u sysdba -p masterkey employeeISQL のプロンプトが表示されたら,次の SQL 文を実行する。
alter user sysdba password '新しいパスワード'; commit; exit;
ISQL の起動と終了
- ISQL の起動
ISQL の起動は,Windows のメニューで,次のように操作する。
「Firebird 5.0 (x64)」 → 「Firebird ISQL Tool」
あるいは,コマンドプロンプトで,次のように実行する。「sysdba」は,Firebird のデータベース管理者のユーザ名である。これは,自動作成されるものである。
"C:\Firebird50\isql.exe" -u sysdba - ISQL の終了
ISQL の終了は 「exit;」。
exit;
データベースの作成
データベースを作成するために,SQL の create database コマンドを使用する。
- Firebird ISQL の起動
ISQL を起動するには,Windows のメニューで,次のように操作する。 「スタート」 → 「Firebird 5.0 (x64)」 → 「Firebird ISQL Tool」
- データベース生成
utf8の場合
create database 'testdb' default character set utf8;
sjisの場合
create database 'testdb' default character set sjis;
- 「show database;」で,データベースが生成されたことを確認
show database;
- 「exit;」で終了。
exit;
テーブル定義とレコード挿入
- Firebird ISQL の起動
ISQL を起動するには,Windows のメニューで,次のように操作する。 「スタート」 → 「Firebird 5.0 (x64)」 → 「Firebird ISQL Tool」
- 「connect 'testdb';」で,データベースを開く。
connect 'testdb';
- 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 ) );
- 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 );
- 確認表示
select * from order_records;
- 更新し確認表示
update order_records set unit_price = 11.2 where id = 1; select * from order_records;
- テーブル一覧の表示
show tables;
- 「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;
- アカウントの作成は sysdba(Firebird データベース管理者)だけが実行できる。上記の「masterkey」は,sysdba のパスワードに読み替える。
パスワードの変更
ユーザ testuser のパスワードを hoge$#34 から newpass に変更したいときの実行例である。sysdba で接続し,次を実行する。
alter user testuser password 'newpass';
commit;
データベース管理者のパスワードの変更
データベース管理者 sysdba のパスワードを hoGE9!#8 に設定したいときの実行例である。sysdba で接続し,次を実行する。
alter user sysdba password 'hoGE9!#8';
commit;
【まとめ】 Firebird 5 の導入から基本操作までを体系的に説明し,データベース管理の基礎を示した。