0

ユーザーがログインして自分の食品データベースに食品を追加するためのWebサイトを作成しました。このデータベースは、後で「既存の食品」のリストとして参照できます。

各ユーザーには次のオプションがあります。

  1. データベースに新しい食べ物を追加する
  2. 毎日の摂取量に新しい食品を追加します(各ユーザーに固有の既存の食品データベースから)
  3. 設定ページを変更します(現時点では、1日のカロリーを設定することが唯一のオプションです)

これまでのところ(理論的には)私が持っているのは:

users
=====
UID (primary key)
username
password

food
====
FID
name
description
calories
carbs
protein
fat

settings
========
SID
dailyCalories

各ユーザーが食べ物と設定のページの特定のデータバンクを持つように、これらをどのようにリンクしますか?

また、毎日の摂取量の扱い方もわかりません。「開始日」と「終了日」のボタンを手動で追加して、現時点で最善の解決策と思われる毎日の追跡サイクルをリセットすることを考えています。

4

4 に答える 4

1

を含む新しいテーブルを追加し、各ユーザーの設定を含むテーブルUIDFIDフィールドを追加します。settingsUID

于 2012-12-24T10:41:51.423 に答える
0

あなたが上で説明したことだけを考えると、私はおそらく次の表を使用するでしょう。しかし、私のコメントを繰り返します。スキーマはデータの用途に依存します。

Users
    UName (PKey)
    Password

Foods
    UName (FKey)
    FName 
    OtherColumsYouHave
    Primary Key: UName, FName

Settings
    UName
    FName
    DailyIntake
    Primary Key: UName, FName
    Foreign Key: Uname, FName => Foods(UName, FName)
于 2012-12-24T10:53:16.060 に答える
0

それぞれ3つをリンクする4番目のテーブルを追加します

于 2012-12-24T10:29:04.283 に答える
0

私は提案します

settings
=========
SID - PK - you dont really need it 
UID
setName
setValues

これにより、新しい設定がポップアップするたびにテーブルスキーマを変更する必要がなくなります。

テーブルも追加します

group - so user can specify food for different days/meals etc
=========
GID - PK
UID 
name 
desc 

groupFood
=========
GID - PK
FID - PK

----必要なのが単純な場合は、食べ物とユーザーの使用に参加します

userFood
========
UID - PK 
FID - PK
于 2012-12-24T10:34:41.667 に答える