我使用react-admin
withhasura
作为 Postgres 的 API。
我需要不同的实体,这些实体基本上都是一个人,但目的不同。例如。一个学生和一个老师。我在想,考虑到相似的属性,最好有一个共享共同特征的人员表,然后为特定属性设置一个单独的表。例如,像这样的表:
persons {
id,
first_name,
last_name,
birthday
...
}
students {
id,
person_id,
date_enrolled
...
}
teachers {
id,
person_id,
sallary
...
}
我遇到的那个模式的问题是,为了创建一个学生,必须首先创建它的人。因此,在 react-admin 中,我必须先向用户展示一个用于创建人的表单,然后再向用户展示另一个表单以基于该人创建一个学生。
我想这并不理想,也许最好有单独的表students
,teachers
尽管某些字段(名字,姓氏,生日......)会在两个表中重复。
这个问题并不是真正具体的,react-admin
而是更多关于类似数据库模型设计的一般建议,所以任何提示都非常受欢迎:)。