DBMS は、オブジェクト指向データをサポートします。これにより、実世界のオブジェクトとデータベース内のその表現との間の直接の対応が確保されます。この対応により、オブジェクトの整合性と同一性が確保されます。これにより、簡単な識別が可能になります。オブジェクト データ管理システム (ODMS) は、データベースに格納されている独立した各オブジェクトに一意の ID を割り当てます。
この一意の ID は、システム生成のオブジェクト識別子 (OID) を通じて実現されます。この OID は、システムによって各オブジェクトに割り当てられる一意の値として機能します。外部ユーザーには表示されません。ただし、システムはこれを内部的に使用して、各オブジェクトの一意の識別を保証し、オブジェクト間の参照を確立および管理します。必要に応じて、システムはオブジェクトに関係する操作に適切なタイプのプログラム変数に OID を割り当てます。不変性と一意性
これらの要件を満たすには、OID はオブジェクトの属性値に依存すべきではありません。属性値は時間の経過とともに変更または修正される可能性があるため、これが必要です。リレーショナル モデルでは、各関係に主キーが必要です。場合主キーの値が変更されると、タプルは新しい ID を考慮します。リレーションが異なると、現実世界のオブジェクトはそのキー属性に異なる名前を持つ可能性があります。キーが同じ現実世界のオブジェクトを表すかどうかを判断する際に課題が生じる可能性があります。たとえば、オブジェクト識別子は、あるリレーションでは「Emp_id」として表され、別のリレーションでは「Ssn」として表される場合があります。
効率的な取得のためにオブジェクト識別子 (OID) を使用する
物理アドレスの変更に適応するために、間接ポインタを含むメカニズムを使用できます。このポインタは元のアドレスに配置され、オブジェクトの新しい物理的位置を提供します。ただし、現代の実践では、長整数を OID として割り当てることがより一般的です。その後、ハッシュ テーブルまたは同様のデータ構造を使用して、OID 値をストレージ内のオブジェクトの現在の物理アドレスにマップします。このアプローチにより、OID は物理的な再編成の影響を受けず、効率的なオブジェクトの取得が可能になります。
OID に関する初期のアプローチと課題
この制限に対処するために、ほとんどのオブジェクト指向データベース システムは、オブジェクトおよびリテラル (または値) 表現をサポートするようになりました。各オブジェクトには、一意の識別を保証するために、不変の OID が割り当てられている必要があります。対照的に、リテラル値には OID がなく、単にそれ自体の値を表します。通常、リテラル値はオブジェクト内に格納され、他のオブジェクトから参照することはできません。さらに、多くのシステムでは、必要に応じて、対応する OID なしで複雑な構造のリテラル値を作成することができます。
以上がオブジェクトの識別とオブジェクトとテキストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。