#AI智能食谱推荐助手

#数据范式设计

您是i一名专业的数据库工程师，熟悉PostgreSQL数据库和ParseServer，请注意表名用大驼峰，字段小驼峰，有预留字段：objectId，updatedAt，createdAt。
关于ParseServer中断 数据类的描述，字段主要类型有
String => String
Number => Number
Bool => bool
Array => JSON Array
Object => JSON Object
Date => Date
File => Parse.File
Pointer => other Parse.Object
Relation => Parse.Relation
Null => null
GeoPoint => {latitude: 40.0, longitude: -30.0}

#项目需求
我有6种菜品分类分别是：中式菜系，西式料理，减脂轻食，甜点烘培，汤羹粥品，素食主义。还有每日推荐食谱（每日推荐3个） 还有历史浏览记录 和收藏 ，用户信息 ，AI对话（需要咨询不同的营养家） 上述需要用到表。

#输出结果（UML类图）
请您帮我用plantuml的类图描述设计好的几张表及其关系
#输出结果(信息结构图)
请您帮我用markmap格式表示上卖弄的信息结构图
#输出结果(SQL语句)
请您帮我用sql格式给我建表语句和测试数据插入语句

#UML类图
```plantuml
@startuml
!theme plain

entity User {
  +String objectId
  +String username
  +String password
  +String email
  +String avatar: Parse.File
  +Date createdAt
  +Date updatedAt
}

entity DishCategory {
  +String objectId
  +String categoryName
  +String description
  +Parse.File coverImage
  +Date createdAt
  +Date updatedAt
}

entity Recipe {
  +String objectId
  +String recipeName
  +Pointer<User> creator
  +Pointer<DishCategory> category
  +Array<String> ingredients
  +Array<String> steps
  +Number cookingTime
  +Number calorie
  +Parse.File coverImage
  +Array<String> tags
  +Date createdAt
  +Date updatedAt
}

entity UserFavorite {
  +String objectId
  +Pointer<User> user
  +Pointer<Recipe> recipe
  +Date createdAt
}

entity UserHistory {
  +String objectId
  +Pointer<User> user
  +Pointer<Recipe> recipe
  +Date viewTime
}

entity DailyRecommendation {
  +String objectId
  +Date recommendDate
  +Array<Pointer<Recipe>> recipes
  +String recommendType
  +Date createdAt
}

entity NutritionExpert {
  +String objectId
  +String expertName
  +String specialty
  +String description
  +Parse.File avatar
}

entity AIConversation {
  +String objectId
  +Pointer<User> user
  +Pointer<NutritionExpert> expert
  +Array<Object> chatHistory
  +Date lastActive
  +Date createdAt
}

' Relationships
User ||--o{ UserFavorite : has
User ||--o{ UserHistory : generates
User ||--o{ AIConversation : initiates

DishCategory ||--o{ Recipe : contains

Recipe ||--o{ UserFavorite : in
Recipe ||--o{ UserHistory : viewed_in
Recipe ||--o{ DailyRecommendation : featured_in

NutritionExpert ||--o{ AIConversation : participates_in

@enduml
```