111

  1. 客户(Customer)

    客户 ID(CustomerID):唯一标识符,主键,自增整数。

    姓名(Name):用户真实姓名,非空,字符串(50字符)。

    联系方式(Contact):手机号或邮箱,唯一约束,字符串(50字符)。

    地址(Address):用户居住地址,字符串(100字符)。

    性别(Gender):枚举类型(男/女/其他),非空。

    身高(Height):单位厘米,浮点数,非空。

    初始体重(InitialWeight):单位千克,浮点数,非空。

    注册时间(RegistrationTime):时间戳,默认值为当前时间。

  2. 体重记录(WeightRecord)

    记录 ID(RecordID):唯一标识符,主键,自增整数。

    客户 ID(CustomerID):外键,关联客户表。

    体重值(Weight):单位千克,浮点数,非空。

    记录日期(RecordDate):日期时间,默认当前时间。

    备注(Note):文本类型,可选。

  3. 饮食记录(DietRecord)

    饮食 ID(DietID):主键,自增整数。

    客户 ID(CustomerID):外键,关联客户表。

    食物名称(FoodName):字符串(100字符),非空。

    热量(Calories):单位千卡,浮点数,非空。

    用餐时间(MealTime):日期时间,非空。

    分类(Category):枚举类型(早餐/午餐/晚餐/加餐)。

  4. 运动记录(ExerciseRecord)

    运动 ID(ExerciseID):主键,自增整数。

    客户 ID(CustomerID):外键,关联客户表。

    运动类型(ExerciseType):字符串(50字符),非空(如跑步、游泳)。

    时长(Duration):单位分钟,整数,非空。

    消耗热量(CaloriesBurned):浮点数,非空。

    记录时间(RecordTime):日期时间,默认当前时间。

  5. 目标设定(Goal)

    目标 ID(GoalID):主键,自增整数。

    客户 ID(CustomerID):外键,关联客户表。

    目标类型(GoalType):枚举类型(减重/增肌/维持体重),非空。

    目标值(TargetValue):浮点数(如目标体重或体脂率),非空。

    截止日期(Deadline):日期,非空。

  6. 健康评估报告(HealthReport)

    报告 ID(ReportID):主键,自增整数。

    客户 ID(CustomerID):外键,关联客户表。

    BMI 值(BMI):浮点数,非空。

    体脂率(BodyFat):浮点数,可选。

    生成时间(GenerateTime):日期时间,默认当前时间。

    建议(Advice):文本类型,专业健康建议。

  7. 设备绑定(Device)

    设备 ID(DeviceID):主键,自增整数。

    客户 ID(CustomerID):外键,关联客户表,唯一约束(一个设备绑定一个客户)。

    设备类型(DeviceType):字符串(50字符),如智能手环、体脂秤。

    同步时间(SyncTime):最近数据同步时间,日期时间。

  8. 提醒与通知(Notification)

    通知 ID(NotificationID):主键,自增整数。

    客户 ID(CustomerID):外键,关联客户表。

    提醒类型(Type):枚举类型(饮食提醒/运动提醒/目标进度)。

    内容(Content):文本类型,非空。

    触发时间(TriggerTime):日期时间,非空。

  9. 食谱库(Recipe)

    食谱 ID(RecipeID):主键,自增整数。

    食谱名称(Name):字符串(100字符),非空。

    热量(Calories):单位千卡,浮点数,非空。

    食材(Ingredients):文本类型,详细食材列表。

    分类(Category):枚举类型(低脂/高蛋白/低碳水)。

数据关系描述

  1. 客户与其他实体的关系

    客户 ↔ 体重记录:
    一对多(1:N)关系。一个客户可有多条体重记录,每条记录仅属于一个客户。
    约束:删除客户时级联删除其体重记录。

    客户 ↔ 饮食记录:
    一对多(1:N)关系。一个客户可记录多餐饮食,每条记录仅属于一个客户。

    客户 ↔ 运动记录:
    一对多(1:N)关系。一个客户可有多条运动记录。

    客户 ↔ 目标设定:
    一对多(1:N)关系。一个客户可设定多个目标(如短期减重、长期增肌)。

    客户 ↔ 健康评估报告:
    一对多(1:N)关系。每次评估生成一份报告,归属于一个客户。

    客户 ↔ 设备绑定:
    一对一(1:1)关系。一个客户最多绑定一个设备(如体脂秤),通过唯一约束实现。

    客户 ↔ 提醒通知:
    一对多(1:N)关系。一个客户可接收多条提醒。

  2. 多对多关系

    食谱库 ↔ 饮食记录:
    多对多(M:N)关系。一个食谱可被多个客户选用,一个客户的饮食记录可包含多个食谱。
    中间表:食谱记录(RecipeLog),包含字段:

     食谱ID(外键,关联食谱库)
    
     饮食ID(外键,关联饮食记录)
    
     份量(Portion):浮点数,记录实际食用量。
    

以下是健康体重管理平台的实体名称、详细属性列表及数据关系描述:
实体列表及属性定义:








ER图

posted @ 2025-04-14 13:13  Adore34  阅读(29)  评论(0)    收藏  举报