HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/share/doc/qdbm/index.ja.html
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta name="author" content="Mikio Hirabayashi" />
<link rel="contents" href="./" />
<link rel="icon" href="icon16.png" />
<link rev="made" href="mailto:mikio@fallabs.com" />
<title>データベースライブラリ QDBM</title>
<style type="text/css">html { margin: 0em 0em; padding: 0em 0em; background: #eeeeee none; }
body { margin: 2em 2em; padding: 0em 0em;
  background: #eeeeee none; color: #111111;
  font-style: normal; font-weight: normal; }
h1 { margin-top: 1.8em; margin-bottom: 1.3em; font-weight: bold; }
h2 { margin-top: 1.8em; margin-bottom: 1.1em; font-weight: bold;
  border-left: solid 0.6em #445555; border-bottom: solid 1pt #bbbbbb;
  padding: 0.5em 0.5em; width: 60%; }
h3 { margin-top: 1.8em; margin-bottom: 0.8em; font-weight: bold; }
hr { margin-top: 2.5em; margin-bottom: 1.5em; height: 1pt;
  color: #999999; background-color: #999999; border: none; }
div.note,div.navi { text-align: right; }
div.logo { text-align: center; margin: 3em 0em; }
div.logo img { border: inset 2pt #ccccdd; }
p { margin: 0.8em 0em; line-height: 140%; }
p,dd { text-indent: 0.8em; }
div,pre { margin-left: 1.7em; margin-right: 1.7em; }
pre { background-color: #ddddee; padding: 0.2em; border: 1pt solid #bbbbcc; font-size: smaller; }
kbd { color: #111111; font-style: normal; font-weight: bold; }
a { color: #0022aa; text-decoration: none; }
a:hover,a:focus { color: #0033ee; text-decoration: underline; }
a.head { color: #111111; text-decoration: none; }
table { padding: 1pt 2pt 1pt 2pt; border: none; margin-left: 1.7em; border-collapse: collapse; }
th { padding: 1pt 4pt 1pt 4pt; border-style: none;
  text-align: left; vertical-align: bottom; }
td { padding: 1pt 4pt 1pt 4pt; border: 1pt solid #333333;
  text-align: left; vertical-align: top; }
ul,ol,dl { line-height: 140%; }
dt { margin-left: 1.2em; }
dd { margin-left: 2.0em; }
ul.lines { list-style-type: none; }
@media print {
  html,body { margin: 0em 0em; background-color: #ffffff; color: #000000; }
  h1 { padding: 8em 0em 0.5em 0em; text-align: center; }
  h2 { page-break-before: always; }
  div.note { text-align: center; }
  div.navi,div.logo { display: none }
  hr { display: none; }
  pre { margin: 0.8em 0.8em; background-color: #ffffff;
    border: 1pt solid #aaaaaa; font-size: smaller; }
  a,kbd { color: #000000; text-decoration: none; }
  h1,h2,h3 { font-family: sans-serif; }
  p,div,li,dt,dd { font-family: serif; }
  pre,kbd { font-family: monospace; }
  dd { font-size: smaller; }
}
</style>
<script type="text/javascript">function startup(){
  var elem = document.getElementById("headline");
  if(elem){
    var now = new Date();
    if((now.getFullYear() + now.getMonth() + now.getDate() + now.getHours()) % 4 == 0){
      var text;
      switch((now.getMonth() + now.getDate() + now.getMinutes()) % 24){
      default: text = "QDBM: 高速資料基盤管理器"; break;
      case 1: text = "QDBM: NDBMとは違うのだよ、NDBMとは!"; break;
      case 3: text = "QDBM: QDBMは伊達じゃないっ!"; break;
      case 5: text = "QDBM: 敢えて言おう、高速であると!"; break;
      case 7: text = "QDBM: しかし、私もDBMのはずだ!"; break;
      case 9: text = "QDBM: 今の私はQDBMだ。それ以上でもそれ以下でもない。"; break;
      case 11: text = "QDBM: 私はBerkeleyとは関係ない。私はいつも一人のDBMだった。"; break;
      case 13: text = "QDBM: 見せてもらおうか!Berkeleyのデータベースの性能とやらを!"; break;
      case 15: text = "QDBM: 悲しいけどこれ、DBMなのよね。"; break;
      case 17: text = "QDBM: 新しい時代を創るのはSQLではない!!"; break;
      case 19: text = "QDBM: えぇぃ、マイナーチェンジのくせにっ!"; break;
      case 21: text = "QDBM: よくもこんなくたびれたDBMが現役でいられるものだ。"; break;
      case 22: text = "QDBM: 見える!私にもレコードが見える"; break;
      case 23: text = "QDBM: そんなRDBみたいな口の利き方、おやめなさい!"; break;
      }
      elem.firstChild.nodeValue = text;
    }
  }
}
</script>
</head>

<body onload="startup();">

<h1 id="headline">QDBM: Quick Database Manager</h1>

<div class="note">Copyright (C) 2000-2007 Mikio Hirabayashi</div>
<div class="note">Last Update: Thu, 26 Oct 2006 15:00:20 +0900</div>
<div class="navi">[<a href="index.html" hreflang="en">English</a>/<span class="void">Japanese</span>]</div>

<div class="logo"><img src="logo.png" alt="QDBM" width="300" height="110" /></div>

<hr />

<h2><a name="overview" id="overview" class="head">概要</a></h2>

<p>QDBMはデータベースを扱うルーチン群のライブラリです。データベースといっても単純なもので、キーと値のペアからなるレコード群を格納したデータファイルです。キーと値は任意の長さを持つ一連のバイト列であり、文字列でもバイナリでも扱うことができます。テーブルやデータ型の概念はありません。レコードはハッシュ表またはB+木で編成されます。</p>

<p>ハッシュ表のデータベースでは、キーはデータベース内で一意であり、キーが重複する複数のレコードを格納することはできません。このデータベースに対しては、キーと値を指定してレコードを格納したり、キーを指定して対応するレコードを削除したり、キーを指定して対応するレコードを検索したりすることができます。また、データベースに格納してある全てのキーを順不同に一つずつ取り出すこともできます。このような操作は、UNIX標準で定義されているDBMライブラリおよびその追従であるNDBMやGDBMに類するものです。QDBMはDBMのより良い代替として利用することができます。</p>

<p>B+木のデータベースでは、キーが重複する複数のレコードを格納することができます。このデータベースに対しては、ハッシュ表のデータベースと同様に、キーを指定してレコードを格納したり取り出したり削除したりすることができます。レコードはユーザが指示した比較関数に基づいて整列されて格納されます。カーソルを用いて各レコードを昇順または降順で参照することができます。この機構によって、文字列の前方一致検索や数値の範囲検索が可能になります。また、B+木のデータベースではトランザクションが利用できます。</p>

<p>QDBMはCで記述され、C、C++、Java、PerlおよびRubyのAPIとして提供されます。QDBMはPOSIX準拠のAPIを備えるプラットフォームで利用できます。QDBMはGNU Lesser General Public Licenseに基づくフリーソフトウェアです。</p>

<hr />

<h2>文書</h2>

<p>以下の文書をお読みください。ソースパッケージにも同じものが含まれています。</p>

<ul>
<li><a href="../qdbm-devel-1.8.78/spex-ja.html">基本仕様書</a></li>
<li><a href="../qdbm++-devel-1.8.78/xspex-ja.html">C++用API仕様書</a></li>
<li><a href="../qdbm-java-1.8.78/jspex-ja.html">Java用API仕様書</a></li>
<li><a href="../qdbm-perl-1.8.78/plspex-ja.html">Perl用API仕様書</a></li>
<li><a href="../ruby-qdbm-1.8.78/rbspex-ja.html">Ruby用API仕様書</a></li>
<li><a href="../qdbm-cgi-1.8.78/cgispex-ja.html">CGIスクリプト仕様書</a></li>
</ul>

<hr />

<h2>ダウンロード</h2>

<p>以下のパッケージをダウンロードしてください。Linux用バイナリパッケージは、CとC++とJavaのAPIと、CGIスクリプトを納めています。Windows用バイナリパッケージは、CとJavaのAPIと、CGIスクリプトを納めています。</p>

<ul>
<li><a href="qdbm-1.8.78.tar.gz">最新のソースパッケージ(バージョン1.8.78)</a></li>
</ul>

<hr />

<h2>その他の情報</h2>

<p>QDBMは<a href="http://fallabs.com/mikio/">平林幹雄</a>が作成しました。作者と連絡をとるには、`mikio@fallabs.com' 宛に電子メールを送ってください。</p>

<hr />

</body>

</html>