化学データベース
化学者は部分構造や IUPAC 名の一部のような属性よる制約に類する検索条件を使ってデータベース検索を実行する。化学データベースは他の汎用データベースと異なり、部分構造検索を提供する点が特徴に挙げられる。この種の検索は部分グラフ同形法(sub-graph isomorphism、時として単射 monomorphism と呼ばれる方法)やグラフ理論の応用により探索することができる。検索アルゴリズムは計算量で O (n) ないしは O (n) 倍の複雑さで増大する(n は含まれる原子の数)。検索機能を集約したコンポーネントは atom-by-atom-searching (ABAS) と呼ばれ、検索対象分子構造の原子と結合からなる部分構造を探索できるように、検索できるようにマッピングを行っている。ABAS 検索はウルマン・アルゴリズムかその変法を使って通常は実装される。検索速度の向上は分割実行により実現され、前処理により複数の検索タスクに分割されて格納される。
レコードが化学物質として重複のないように管理されたデータベースシステムは登録システム(registration systems)とも呼ばれる。これらのデータベースは化学物質の目録や特許システムあるいは産業用データベースとして広く利用されている。 登録システムは、通常、データベース内の化学的表現の揺らぎを特定の表現ルールに沿うように強制することで一意性を保っている。文字列化表現を発生する際に優先ルールを適用することで、「正規 SMILES」のような、固有/「正規化」文字列表現を登録システムは格納することができる。 CASシステムのようなある種の登録システムは同一の登録項目に対して固有なハッシュ値(CAS 登録番号)を発生させるアルゴリズムを採用している。
登録システムでは、塩化合物のハロゲンイオンの違いのような相違が検索上の違いとして無視されるように分子構造を前処理する場合もある。