2016-12-09 53 views
-1

構造体は、1つの見出しの下に異なるデータ型(およびデータ)を格納することができます。これはまさにデータベースのレコードと同じです。データベースのレコードは実際にはCの構造体と同じような "構造体"ですか?

質問:

  1. すべてのレコードは、構造ですか?
  2. テーブルは構造体のテンプレートですか?
  3. この場合、構造体は変数名で識別されます。 DB内のレコード構造を識別するために使用されるものは何ですか?
  4. データベースが構造体を使用しないように最適化されている場合、レコードはどのように実装されますか?
+0

1)Cを記述するだけで、タグは修正されません。 2)あなたは何を見つけましたか?何を試しましたか?あなたの**具体的な**問題は何ですか? 3)単一の「データベース」タイプはありません。 – Olaf

+0

1)いいえ、それは構造体ではありません(とにかくCのような構造体ではありません) –

答えて

1

これはコメントには長すぎます。

データベースレコードは、指定された型の名前付きフィールドをサポートしている点でC構造に似ています。おそらく類似点はそこで終わります。一般に、レコードをCの構造体とは考えないでください。基本的な違いがいくつか考えられます。

  • データベースは(一般的に)配列をサポートしていません。
  • データベースは(直接的な)ポインタをサポートしていません。
  • データベースは構造の入れ子をサポートしていません。
  • データベースでは、データを連続して格納する必要はなく、整列させる必要もありません。
  • データベースの列には、null可能な属性、デフォルト値があり、制約を適用できます。

他にも違いがあると私は確信しています。

データベースレコードは、データページに格納され、ページ管理システムによって管理され、メモリまたはディスクに格納されている可能性があります。また、データベースはACIDプロパティを強制し、トランザクションの一貫性を確保します。

使用しているデータベースを調査し、データの格納方法を知りたい場合があります。

+0

_some_データベースは配列をサポートしています:) –

関連する問題