推荐和知识评估反馈-数据库字段设计
数据库字段设计
推荐反馈模块
用户对所推荐题目的反馈,包含推荐题目的难度difficulty(已有枚举类型,EASY/MODERATE/HARD)和文字描述content
model RecommendFeedback {
id String @id @default(cuid())
difficulty DifficultyLevel
content String?
createdAt DateTime @default(now())
updatedAt DateTime @default(now()) @updatedAt
codingExerciseId String @map("codingExercise")
codingExercise CodingExercise @relation(fields: [codingExerciseId], references: [id])
userId String @map("owner")
user User @relation(fields: [userId], references: [id])
}
知识水平评估反馈模块
用户对知识水平评估的反馈,包括准确率precision(高估/正常/低估)、变化速率changeRate(太快/正常/太慢)、知识点名称skill和文字内容content
model KnowledgeLevelFeedback {
id String @id @default(cuid())
precision EvaluateLevel?
changeRate SpeedLevel?
skill String
content String?
createdAt DateTime @default(now())
updatedAt DateTime @default(now()) @updatedAt
userId String @map("owner")
user User @relation(fields: [userId], references: [id])
}
enum EvaluateLevel {
LOW
MODERATE
HIGH
}
enum SpeedLevel {
SLOW
MODERATE
FAST
}
用户和试题部分相应增加一对多关系
model User {
...
recommendFeedback RecommendFeedback[]
knowledgeLevelFeedback KnowledgeLevelFeedback[]
...
}
model CodingExercice {
...
recommendFeedback RecommendFeedback[]
...
}