食品数据库的数据库结构

时间:2012-12-24 10:19:40

标签: sql database

我写了一个网站供用户登录,并将食物添加到他们自己的食物数据库中,以后可以将其作为“现有食物”列表

每个用户都有以下选项:

  1. 在他们的数据库中添加新食物
  2. 在每日摄入量中添加新食物(来自每个用户独有的现有食物数据库)
  3. 修改他们的设置页面(设置每日卡路里是目前唯一的选择)
  4. 到目前为止,我(理论上)是:

    users
    =====
    UID (primary key)
    username
    password
    
    food
    ====
    FID
    name
    description
    calories
    carbs
    protein
    fat
    
    settings
    ========
    SID
    dailyCalories
    

    我如何将这些链接在一起,以便每个用户都有一个食物和设置页面的特定数据库?

    我也不确定如何处理每日摄入量。我想手动添加“开始日”和“结束日”按钮来重置每日跟踪周期,这似乎是目前最好的解决方案。

4 个答案:

答案 0 :(得分:1)

添加一个包含UIDFID的新表,并在settingsUID中添加一个字段,其中包含每个用户的设置。

答案 1 :(得分:0)

添加第四个链接每个3的表

答案 2 :(得分: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

答案 3 :(得分: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)