0

私は CakePHP を学んでおり$hasOne$hasMany$belongsToなどの特別なクラス プロパティを持つモデル クラスのデータベース内の対応するテーブルの関係に従ってモデルの関係を定義できます。クラスと子クラスが継承されているかどうか?

たとえば、会社には顧客がいて、名前が付けられた顧客のテーブルがcustomersあり、会社はWebデザイン、共有ホスティングの提供、ドメイン名の販売など、顧客ごとに異なるサービスを提供しています。ここでは、サービスはさまざまなタイプのものであり、フィールドのいくつかは同じです、、などのようcustomer_idに、、、、...などの特定のフィールドがいくつかあります。costactivation_dateexpiration_datehost_spacedomain_namehost_typedesign_typecontrol_panel

すべてのサービス エントリのベース テーブルservicesと、サービスの種類ごとに 1 つのテーブルを作成し、domainsドメイン サービスに関する特定の情報をone-to-oneそこに格納する必要がありserviceますか? ありがとう

4

1 に答える 1

1

PHP で行うように、スーパー クラスと継承を持つ子クラスを使用して、テーブルとそれらの関係を定義する必要がありますか?

いいえ、MySQL では継承を使用できないためです。リレーショナル データベース パラダイムを使用します。継承は、オブジェクト指向プログラミングで使用される概念です。

すべてのサービス エントリに対してベース テーブル サービスを作成し、ドメインなどのサービスの種類ごとに 1 つのテーブルを作成し、ドメイン サービスに関する特定の情報をそこに格納する必要があります - 1 対 1 の関係

はい、これはまさにあなたがすべきことです。すべてのタイプのサービスで一貫した列を含むベース テーブルを用意し、余分なデータ用にテーブルを追加します。

追加の重複列が見つかった場合は、サービスをさらにサービス グループに分割できる場合もあります。

于 2012-12-31T11:35:39.193 に答える