ホームページ  >  記事  >  バックエンド開発  >  効率的でスケーラブルなデータベース テーブル構造とスケーラブルなコードを作成するにはどうすればよいでしょうか? (例を添付)

効率的でスケーラブルなデータベース テーブル構造とスケーラブルなコードを作成するにはどうすればよいでしょうか? (例を添付)

WBOY
WBOYオリジナル
2016-08-25 10:37:241253ブラウズ

例えば、今、あるモールのパッケージ関数を作りたいと思っています(関数は単独で実装されています
重要なのは、以下の赤でマークされた質問に答えることです、ありがとうございます~O(∩_∩)O~

  1. モールの初期機能は特定の商品を購入するだけであり、後から追加されたパッケージ機能は元のコードに変更されており、変更は非常に大きくなっています。
    我该如何在关键的地方做出判断,以防后期需要添加额外的功能?コードの結合を弱め、後で関数を追加して元のコードへの変更を減らすにはどうすればよいでしょうか?

返信内容:

例えば、今、あるモールのパッケージ関数を作りたいと思っています(関数は単独で実装されています
重要なのは、以下の赤でマークされた質問に答えることです、ありがとうございます~O(∩_∩)O~

  1. モールの初期機能は特定の商品を購入するだけであり、後から追加されたパッケージ機能は元のコードに変更されており、変更は非常に大きくなっています。
    我该如何在关键的地方做出判断,以防后期需要添加额外的功能?コードの結合を弱め、後で関数を追加して元のコードへの変更を減らすにはどうすればよいでしょうか?

この問題には、mysql を使用する 3 つのテーブルが必要になる場合があります:

  1. 商品一覧

  2. パッケージリスト、パッケージの説明、価格、有効期間など

  3. パッケージと製品の関連付けテーブルには、基本的にパッケージ ID と製品 ID の 2 つのフィールドがあります。多対多の関係。パッケージには複数の製品が含まれている必要があり、特定の製品は異なるパッケージにも属するためです

具体的な実装では、パッケージと製品に対して、製品の追加、削除、変更、確認、購入の機能と、パッケージの追加、削除、変更、確認、購入の機能の 2 つのモジュールを独立して開発できます。パッケージと製品間の唯一の結合は関連付けテーブルです。つまり、製品を削除するときは、対応するパッケージに影響を与えるかどうかに注意する必要があります。他の機能は基本的に連動しておりません

同時に、注文テーブルには、パッケージ注文か単一製品注文かを示すタイプフィールドを含めることができます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。