この質問に対する答えは、データベースと実装の両方に依存します。以下に、データの保存方法の例をいくつか示します。
- データベースごとに 1 つのファイルとして。(これは SQL Server の既定です。)
- 別のファイル システム マネージャー (オペレーティング システムなど) を使用する。(MySQL には InnoDB のような名前のオプションがいくつかあります。)
- テーブルごとに個別のファイルを使用します。(Access をデータベースと見なす場合。)
- 複数の物理ファイルとして、複数のファイル システムに分散されますが、単一の「ファイル」として表されます。(たとえば、並列ファイル システムを使用してデータを格納する HIVE。)
ただし、これらはデフォルトの構成です。実際のデータベースでは通常、複数の物理デバイス間でデータを分割できます。SQL Server と MySQL はこれをパーティションと呼びます。Oracle では、この表スペースを呼び出します。これらは通常、システムのパフォーマンス要件を理解している知識豊富な DBA によって設定されます。
ただし、最後の質問には簡単に答えることができます。ほとんどのデータベースでは、領域が必要になったときにデータベースを拡張するか、データベースに固定 (または固定の最大) サイズを与えるかを選択できます。基礎となるデータを自動的に複数のファイルに分割するデータベース エンジンに遭遇したことはありませんが、新しい列指向のデータベース (Vertica など) が同様のことを行う可能性があります。