データベース
主キーの使用(CALCキーとして知られ、典型的にはハッシュによって実装される)。
あるレコードから別のレコードへの関係(セットと呼ばれる)の移動。
すべてのレコードを順番にスキャンする。
その後のシステムで、B木(B-tree)が追加され、代替アクセス経路を提供するようになった。また、多くのCODASYLデータベースでは、エンドユーザー向けに(ナビゲーション型APIとは異なる)宣言型クエリ言語も追加された。しかし、CODASYLデータベースは複雑で、有用なアプリケーションを作るには多大な訓練と労力を要した。
また、IBMは、1966年に、Information Management System(IMS)として知られる独自のDBMSを持っていた。IMSは、アポロ計画のために作成されたソフトウェアのSystem/360への発展型であった。IMSは一般にCODASYLと概念が似ているが、そのデータナビゲーションのモデルは厳密な階層を使用し、CODASYLのネットワーク型モデルではなかった。どちらの概念も、データへのアクセス方法の観点から、後にナビゲーショナル・データベースと呼ばれるようになった。この用語は、1973年のバックマンのチューリング賞の講演「The Programmer as Navigator」によって広まった。IBMによって、IMSは階層型データベースとして分類されている。IDMSやCincom Systems(英語版)のTOTALデータベースは、ネットワーク型データベースに分類される。2014年現在、IMSは使用されている。
データベース設計者の最初の作業は概念データモデル (en:英語版) の作成で、データベースに保持する情報の構造を反映する。そのための一般的な方法は、描画ツールを用いて実体関連モデルを作成することが多い。統一モデリング言語(UML)の使用は、もう一つのよく知られた方法である。出来のよいデータモデルは、モデル化される外界の可能な状態を正確に反映する。たとえば、人々が複数の電話番号を持つことができる場合、その情報を取得することが可能となる。優れた概念データモデルを設計するには、アプリケーションの領域を十分に理解する必要がある。それには、一般的に、組織が関心を持っていることについて深い問いを立てる必要がある。たとえば「顧客は発注先にもなり得るのか?」、あるいは「ある製品が2種類の包装形態で販売されている場合、それらは同じ製品か、それとも異なる製品なのか?」、あるいは「飛行機がニューヨークからフランクフルト経由でドバイまで飛ぶ場合、それは1便か2便か(または3便か)?」のような質問をする。これらの質問に対する回答によって、エンティティ(顧客、製品、フライト、フライト区間)に使用される用語の定義、およびそれらの関係や属性を確立する。
データベースが破損した場合に復旧するための機能
データへのアクセス時および更新時の承認のサポート
遠隔地からのアクセスサポート
データベース内のデータが特定の規則に従うことを保証するための制約の適用
また、DBMS は、インポート、エクスポート、監視、デフラグメント、分析ユーティリティなど、データベースを効果的に管理するために必要な一連のユーティリティを提供することも、一般に期待されている。データベースとアプリケーション・インタフェースの間で相互作用するDBMSの中心部分は、データベース・エンジンと呼ばれることもある。
多くのDBMSは、データベースが使用できるサーバ上のメインメモリの最大量など、静的または動的に調整可能な構成パラメータを持っている。手動構成する量を最小限に抑える傾向があり、組み込みデータベース(英語版)のような場合は、ゼロ管理を目標とする要求が最も重要である。
大規模なエンタープライズDBMSでは、サイズや機能が増大する傾向があり、その生涯を通じて数千人年の開発努力が費やされることがある。
初期のマルチユーザーDBMSでは、一般的に、アプリケーションを同じコンピュータ上で動作させ、コンピュータ端末または端末エミュレーションソフトウェアを通じてアクセスすることしかできなかった。