(dbm 型の)データベース抽象化レイヤ関数
導入
これらの関数は、Berkeley DB 型データベースへのアクセス用の基本関数を 構成します。これらの関数は、複数のファイルベースのデータベース用の抽象化レイヤです。 その機能は、» Sleepycat Software's DB2 でサポートされているような近代的なデータベースの 機能のサブセットに制限されています(IBM の DB2 と混同しないでください。 このデータベースは、ODBC 関数 を通じてサポートされます)。
要件
各機能の動作は、使用するデータベースの実装に依存します。 dba_optimize() および dba_sync() のような関数は、特定のデータベースでは動作しますが、他のデータベースでは 機能しません。サポートされるdbaハンドラをダウンロードし、インストールする 必要があります。 表 47. DBAハンドラのリストハンドラ | 注意 |
---|---|
dbm | dbm は最も古い(元祖の)Berkeley DB 型データベースです。可能なら ば使用しない方が良いでしょう。DB2 および gdbm に組み込まれている 互換性を保つための関数は、サポートされません。これは、実装されて いるのがソースレベルの互換性のみであり、元の dbm フォーマットを 処理することができないためです。 |
ndbm | ndbm は、dbm に比べて新しく、dbm よりも柔軟です。 dbm 固有の制約の多くをまだ有しています(そのため、 推奨されません)。 |
gdbm | Gdbm は、» GNU データベースマネージャ です。 |
db2 | DB2 は、» Sleepycat Software's DB2 です。これは、「スタンドアローンおよびクライアント/サーバー アプリケーションの両方で高性能な組込みデータベースサポートを提供する プログラム用ツールキット」として記述されています。 |
db3 | DB3 は、» Sleepycat Software's DB3 です。 |
db4 | DB4 は、» Sleepycat Software's DB4 です。PHP 4.3.2 以降で利用可能です。 |
cdb | cdb は「固定データベースの作成・読込み用の、高速で高信頼性の 軽量型パッケージ」です。これは qmail の作者によるものであり、 » http://cr.yp.to/cdb.html にあります。 固定であるため、読込操作のみがサポートされます。 PHP 4.3.0 以降、内部的な cdb ライブラリにより(更新ではなく) 書き込みがサポートされています。 |
cdb_make | PHP 4.3.0 以降、付属する cdb ライブラリを使用する場合に cdb ファイルの(更新ではなく)作成をサポートします。 |
flatfile | これは、PHP 4.3.0 以降で利用可能で、古い dbm 拡張モジュールとの互換性の ためだけのものであり、使用するべきではありません。 しかし、ファイルがこの形式で作成された場所でこれを使用する ことができます。これは、configure が外部ライブラリを見付ける ことができない場合に生じます。 |
inifile | これは PHP 4.3.3 以降で利用可能で、PHP スクリプトから php.ini ファイルを書き換えられるようにします。ini ファイルを扱う場合は、 array(0=>group,1=>value_name) のような配列、あるいは "[group]value_name" のような文字列を渡します(group はオプションです)。 dba_firstkey() や dba_nextkey() はキーを文字列形式で返しますが、PHP 5 以降で利用できる dba_key_split() を用いるとそれを配列形式に 変換できます。その際に FALSE を失うこともありません。 |
qdbm | これは PHP 5.0.0 以降で有効です。qdbm ライブラリは » http://qdbm.sourceforge.net にあります。 |
dba_open() または dba_popen() 関数を実行する際、引数にハンドラ名の一つを指定する必要があります。 実際に利用可能なハンドラのリストは、 phpinfo() または dba_handlers() をコールした際に表示されます。
インストール手順
設定オプション --enable-dba=shared を使用することにより、dbm 形式のデータベースをサポートする動的に ロード可能なモジュールを有効にして PHP を構築することができます。 また、PHP の configure 行に設定スイッチ --with-XXXX を指定することにより、少なくとも以下のハンドラの一つのサポートを 追加する必要があります。警告 |
PHP の configuring とコンパイルを済ませたら、コマンドラインから次の
テストを実行する必要があります: php run-tests.php ext/dba
これは、指定したハンドラの組み合わせが動作するかどうかを調べます。
いちばん問題のあるのは dbm と ndbm
の組み合わせで、これらは多くの場合何らかの衝突を引き起こします。
その原因は、いくつかのシステムではこれらのライブラリが他のライブラリの
一部となっていることで。configure 時のテストでは個々のハンドラについての
設定不備は調べられますが、それらの組み合わせについてはテストできません。
|
表 48. サポートされるDBAハンドラ
ハンドラ | configure のスイッチ |
---|---|
dbm |
dbm のサポートを有効にするには、
--with-dbm[=DIR] を追加します。
注意:
dbm は一般的にはラッパで、しばしば失敗を引き起こします。
その動作をしっかり把握しており、ほんとうにそれを必要とする場合のみ
dbm を使用するようにすべきです。
|
ndbm |
ndbm のサポートを有効にするには、
--with-ndbm[=DIR] を追加します。
注意:
ndbm は一般的にはラッパで、しばしば失敗を引き起こします。
その動作をしっかり把握しており、ほんとうにそれを必要とする場合のみ
ndbm を使用するようにすべきです。
|
gdbm | gdbm のサポートを有効にするには、 --with-gdbm[=DIR] を追加します。 |
db2 |
db2 のサポートを有効にするには、
--with-db2[=DIR] を追加します。
注意:
db2 は db3 および db4 とは同時に使えません。
|
db3 |
db3 のサポートを有効にするには、
--with-db3[=DIR] を追加します。
注意:
db3 は db2 および db4 とは同時に使えません。
|
db4 |
db4 のサポートを有効にするには、
--with-db4[=DIR] を追加します。
注意:
db4 は db2 および db3 とは同時に使えません。
注意: これは PHP 4.3.2 で追加されました。これ以前のバージョンでは、 --with-db3=DIR を使用し、 DIR に db4 ライブラリのパスを指定する必要する必要があります。 バージョン 4.3.0 より前の PHP では、4.1 以降のバージョンの db を使用することはできません。また、バージョン 4.1 から 4.1.24 までの db ライブラリは、どの PHP のバージョンでも利用できません。 |
cdb |
cdb のサポートを有効にするには、
--with-cdb[=DIR] を追加します。
注意:
PHP 4.3.0 以降、付属する cdb ライブラリを使用するために DIR
を省略することができます。この場合、cdb_make ハンドラが追加されます。
これにより cdb ファイルを作成したり、PHPのストリームを用いて
ネットワーク上の cdb ファイルにアクセスできるようになります。
|
flatfile |
flatfile のサポートを有効にするには、
--with-flatfile を追加します。
注意:
これは、古い dbm 拡張モジュール
との互換性のために PHP 4.3.0 で追加されました。
このハンドラは、他のハンドラで必要とされるライブラリをひとつも
インストールすることができない場合、そして、付属する cdb
ハンドラを使用することができない場合にのみ使用してください。
|
inifile |
inifile のサポートを有効にするには、
--with-inifile を追加します。
注意:
これは PHP 5.0.0 で追加されました。これにより Microsoft 形式の
.ini ファイル(php.ini のような)を
読み書きできるようになります。
|
qdbm |
qdbm のサポートを有効にするには、
--with-qdbm[=DIR] を追加します。
注意:
qdbm は dbm および gdbm とは同時に使えません。
注意: これは PHP 5.0.0 で追加されました。qdbm ライブラリは » http://qdbm.sourceforge.net にあります。 |
注意: PHP 4.3.0 までは、db2 および db3 ハンドラの両方を追加することが できましたが、内部的に使用できるのは片方だけでした。 これは、両方のファイル形式を使用することができないことを意味します。 PHP 5.0.0 以降、このような設定ミスを回避するよう設定の確認が行われます。
実行時設定
設定ディレクティブは定義されていません。リソース型
関数 dba_open() および dba_popen() は、指定したデータベースファイルに アクセスするためのハンドルを返します。このハンドルは、他の全ての dba 関数コールで使用されます。定義済み定数
定数は定義されていません。例
例 441. DBA の例
<?php
$id = dba_open("/tmp/test.db", "n", "db2");
if (!$id) {
echo "dba_open failed\n";
exit;
}
dba_replace("key", "This is an example!", $id);
if (dba_exists("key", $id)) {
echo dba_fetch("key", $id);
dba_delete("key", $id);
}
dba_close($id);
?>
DBA はバイナリセーフであり、いかなる制限も受けません。しかし、 使用するデータベースの実装による全ての制約を継承します。
全てのファイルベースのデータベースは、完全に使用可能なものについて 新規に作成されたデータベースのファイルモードを設定する手段を、 提供する必要があります。 ファイルモードは、通常 dba_open() または dba_popen() に 4 番目の引数として渡されます。
dba_firstkey() および dba_nextkey() 関数を用いて全てのエントリに 連続的にアクセスすることができます。アクセスする際にデータベースを 変更できない可能性があります。
例 442. データベースへのアクセス
<?php
// データベースをオープンする
$key = dba_firstkey($id);
while ($key != false) {
if (true) { // 他の操作を後で行うためにキーを記憶する
$handle_later[] = $key;
}
$key = dba_nextkey($id);
}
foreach ($handle_later as $val) {
dba_delete($val, $id);
}
?>
目次
- dba_close — DBA データベースを閉じる
- dba_delete — キーが指す DBA エントリを削除する
- dba_exists — キーが存在するかどうかを確認する
- dba_fetch — キーが指すデータを取得する
- dba_firstkey — 最初のキーを取得する
- dba_handlers — 利用可能なハンドラの一覧を得る
- dba_insert — エントリを挿入する
- dba_key_split — 文字列形式のキーを配列形式に分割する
- dba_list — オープンされている全データベースファイルのリストを得る
- dba_nextkey — 次のキーを取得する
- dba_open — データベースをオープンする
- dba_optimize — データベースを最適化する
- dba_popen — データベースを持続的にオープンする
- dba_replace — エントリを置換または挿入する
- dba_sync — データベースを同期する
ジベンジリデンアセトン
分子式: | C17H14O |
その他の名称: | ジベンザルアセトン、Dibenzalacetone、Distyryl ketone、1,5-Diphenyl-1,4-pentadien-3-one、Bis(2-phenylvinyl) ketone、1,3-Dibenzylideneacetone、Di(2-phenylvinyl) ketone、β,β'-Carbonylbisstyrene、ジベンジリデンアセトン、Dibenzylideneacetone、dba、(Carbonylbisvinylene)bisbenzene、1,5-Diphenylpenta-1,4-diene-3-one |
体系名: | (カルボニルビスビニレン)ビスベンゼン、ビス(2-フェニルビニル)ケトン、1,3-ジベンジリデンアセトン、ジスチリルケトン、ジ(2-フェニルビニル)ケトン、1,5-ジフェニル-1,4-ペンタジエン-3-オン、β,β'-カルボニルビススチレン、1,5-ジフェニルペンタ-1,4-ジエン-3-オン |
ジベンジルアミン
分子式: | C14H15N |
その他の名称: | Dibenzylamine、ビベンジルアミン、Bibenzylamine、DBA、1,1'-(Iminobismethylene)bisbenzene、Iminobismethylenebisbenzene、N,N-Dibenzylamine、Benzylaminomethylbenzene、N-Benzylbenzenemethanamine、Bisbenzylamine、(Iminobismethylene)bisbenzene、N-Benzylbenzylamine、Bis(Phenylmethyl)amine、Bis(benzyl)amine |
体系名: | (イミノビスメチレン)ビスベンゼン、ビス(ベンジル)アミン、ビス(フェニルメチル)アミン、N-ベンジルベンゼンメタンアミン、N-(フェニルメチル)ベンゼンメタンアミン、N-ベンジルベンジルアミン、ジベンジルアミン、1,1'-(イミノビスメチレン)ビスベンゼン、イミノビスメチレンビスベンゼン、N,N-ジベンジルアミン、ベンジルアミノメチルベンゼン、ビスベンジルアミン |
ジベンゾ[a,h]アントラセン
分子式: | C22H14 |
その他の名称: | イソペンタフェン、1,2-ベンゾナフタセン、ナフト-1',2',2,3-アントラセン、Isopentaphene、1,2-Benznaphthacene、Dibenz[a,h]anthracene、Naphtho-1',2',2,3-anthracene、1,2,5,6-DBA、DBA、RCRA waste number U-063、1,2,5,6-Dibenzanthracene、1,2,5,6-ジベンゾアントラセン、8,9-[1,3]Butadienobenzo[a]anthracene |
体系名: | ジベンゾ[a,h]アントラセン、8,9-[1,3]ブタジエノベンゾ[a]アントラセン |
DBA
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/03 09:47 UTC 版)
DBA
- データベース管理者 (Database Administrator) の略。
- 学位 のひとつ(Doctor of Business Administration)。日本では 博士(経営学)に相当。
- 平成17年排出ガス規制基準値より有害物質を75%以上低減させた乗車定員10以下の乗用車を意味する記号。車両型式の前に付与。(例:DBA-GRS182)
- テレビ番組『D-BOYS BE AMBITIOUS』の略称。
- 日本最大級の歯科情報ポータルサイト「Doctorbook academy」の略称。
- デス・バイ・オーディオ - Death By Audio ニューヨーク市ブルックリン区のライブ会場(2014年閉鎖)
- かつて存在したドイツの航空会社(英語版)。
dba
- ジベンジリデンアセトンの略称。
dBA、dB(A)
- A特性音圧レベルを表す単位。
DBA、dba、d,b,a,
- 脚注
- ^ “[dba (DBA) 【~という商号(屋号)を使っている】 by なるほど!訳語発見+英語屋さん最後の挨拶]”. eigoyasan.blog.fc2.com. 2024年2月26日閲覧。
- ^ Office, U. S. Government Accountability. “Cellco Partnership dba Verizon Wireless | U.S. GAO” (英語). www.gao.gov. 2024年2月26日閲覧。
- DBAのページへのリンク