次の質問は、学校の課題についてです。
ユーザーがいて、それぞれに独自の議題があるplaxoのような Web アプリケーションを作成する必要があります。私のアプリケーションの要件は、plaxo の要件よりもはるかに単純です。私の場合は、カテゴリ別にグループ化された連絡先と、完了または保留中の状態別にグループ化されたタスク、およびその他の一般的な機能のみが含まれます。
私の疑問は、SQLスキーマにあります。これは私が選ぶモデルです:
- ユーザー (ID、ユーザー名、パスワード、名前、姓、電子メール)
- カテゴリ(id,name)
- 連絡先(ID、名前、住所、電話番号、電子メール、id_categories、id_users)
- contact_person (id, lastname, id_contact )
- contact_organization (id, 商標, id_contact )
- タスク (ID、日付、時間、説明)
- tasks_contacts( id_tasks , id_contacts )
太字のフィールドは外部キーです。このスキーマが大丈夫かどうかはわかりません。そうは思いません。そうでない場合はお知らせください。
______________________________________________________________________
@Strawberryコメントの後に編集:
わかりました、モデルを次のように変更したとしましょう:
- カテゴリ(id,name)
- 連絡先(ID、名前、メール)
- contact_user (ユーザー名、パスワード、id_contacts )
- contact_person(姓、住所、電話番号、id_contacts )
- contact_organization (商標、住所、電話番号、id_contacts )
- タスク (ID、日付、時間、説明)
- tasks_contacts( id_tasks , id_contacts )
contacts_user、contacts_person、およびcontacts_organizationからidフィールドを取り出しました。id_contactsが一意のキーになることを考えると、それはナンセンスだと思うからです。
さらに情報を追加します。
- テーブル users は、ユーザーが登録時に保存するデータ用です。
- カテゴリは、連絡先をグループ化するためのものです。例: ジョン、ルイス、アンナは使い魔であるため、「家族」のカテゴリに入ることができます。
- 各連絡先は、1 つのカテゴリにのみ属することができます。
- 連絡先には、組織と個人の 2 種類があります。それらの違いは、個人には商標がなく、組織には姓がないことです。
- 各タスクには、リマインダーの日付と時刻が必要です。task がスペイン語の「recordatorio」から英語への最良の翻訳であるかどうかはわかりませんが、plaxo ではそのように呼ばれているようです。
- 各連絡先には複数のタスクまたはリマインダーを関連付けることができ、各タスクには複数の連絡先を関連付けることができます。
私が自分自身を十分に明確にしたことを願っています。