1

のスキーマ連絡先、住所、所属、財務、投資、資産、責任、NetWorthなどの12の異なるテーブルにその情報を格納します。データベースIは、顧客のようなさまざまな製品タイプのために複数のアカウントを開くことができている銀行のアプリケーションに取り組んでいますプロファイルと注文

今、各アカウントを開くには、顧客プロファイルのような同じ種類の情報を収集して保存する必要がありますが、顧客プロファイルを上書きすることはできません。開かれる。

解決策としては、アカウントごとに12個のテーブルのレプリカを作成するか、各テーブルのJSONを1つのテーブルに保存するかのいずれかと思っています。

事前に経験したことがある人は、私たちに最良の方法でこれを行う方法を提案できますか?

答えて

1

私はどの情報がアカウント間で変更されないかを判断します。例えば、name,birthday,ssnなどである。これらの定数フィールドは、customersと呼ばれるテーブルを形成することができる。定数フィールドがない場合は、プレースホルダIDを使用できます。これは、アカウントを同じユーザーに関連付けるのに役立ちます。

また、Accountsのテーブルを作成し、account_idをアカウント間で変更される可能性のあるすべての顧客情報の外部キーとして使用します。 Accountsテーブルの各行は、以前からcustomerの所有者になります。

したがって、顧客とアカウントの関係は1対多であり、アカウントと「アカウント固有の顧客情報」との関係は1対1になります。

+0

返信ありがとうございますが、私の要件に応じて、顧客プロファイルとアカウントプロファイルの情報を別々に保存する必要があります。だから私の主な関心事は、どのアプローチを使用するかです: 1)顧客プロファイルと同じアカウントプロファイル用の並列スキーマを作成します。 2)異なる表のJSON/XMLを別の列に保存するには、アカウントのプロファイルが変更されても変更されません。 – ChupChapCharli

+0

私はデータベースにJSONやXMLを格納しないようにしたいと思います。より多くの外部処理が必要となり、正規化されたデータベースを作成することが困難になります。 「別に保管してください」とはどういう意味ですか?情報は別々のテーブルになければなりませんか?私はいくつかの "情報タイプ"変数を使用して行を識別し、同じ種類の情報をすべて同じテーブルに保持できると思います。 – Michael

+0

はい、情報は別の表になければなりません。同じ種類の情報には単一のフィールドはありません。私は列の各テーブルのJSONを保存しない場合、私は12の並列テーブルを作成する必要があり、メインテーブルのスキーマが変更されるたびに、私はパラレルテーブルも変更している。 – ChupChapCharli

関連する問題