web-dev-qa-db-ja.com

データベースがディスク用のファイルをフォーマットする方法

This SO answer MySQLがデータベースをファイルに編成する方法の概要を示していますが、ファイル自体の構造については説明していません。

物理レベルでは、リレーショナルデータベース管理システムがどのようにレコードをファイルに保存するのか疑問に思っています。ファイルの構造は大まかに、列/値はどこにあり(CSVの場合)、どのようにトラバースされるか。

1
Lance Pollard

リレーショナルデータベースでは Dr。EF Codd -のように、情報は1つで表されていることを指摘し始めるのは適切だと思います。唯一の構造、relationは、通常tableとして表されます。

リレーショナルモデル論理レベルの抽象化の側面のみを扱うため、テーブル(抽象化)はデータベースの論理レベルの一部です(論理演算(たとえば、射影、結合、制限など)を受ける可能性があるため、データベース管理システムによって利用される物理ストレージから完全に独立しています(DBMS for使用の簡潔さ)。

そういうわけで、リレーショナルモデルは論理レベルの側面で単独で行う必要があるため、物理データの独立性を提供します。 DBMS(たとえば、IBM DB2、Microsoft SQL Server、PostgreSQLなどのSQLプラットフォーム—非常に強力ですが、厳密に言えば、半リレーショナルです。つまり、リレーショナルフレームワークの規定に完全には準拠していません—) (a)開発者/ベンダーが便利と見なす方法で物理レベルの抽象化で保管します。(b)論理レベルのテーブルで表されるデータ。

物理レベルのストレージは、抽象化の個別のサブレベルに分割できることに注意することが重要です。

したがって、物理的な配置は検討中の特定のDBMSに依存するため、プラットフォームごとに異なる可能性があります。

さまざまなSQLプラットフォームで使用される物理構造の例が詳しく説明されています

あなたが興味を持っている場合、あなたは助けを見つけるかもしれません この答え コンピュータ化された情報システムの抽象化のいくつかの異なるレベルについての質問へ。

5
MDCCL