模型的细节取决于您正在建模的数据的细节。
如果类型只是没有逻辑或与他们相关联的行为标记,那么最简单的模型应该是:
Student{
lessons<-->>Lesson.student
}
Lesson{
title:string
date:date
grade:number
type:string
subtype:string
student<<-->Student.lessons
}
如果教训有某种与每种类型相关联的行为,那么你可以为每种课程创建子实体。
Lesson{
title:string
date:date
grade:number
student<<-->Student.lessons
}
TypeOne:Lesson{
}
TypeOneSubOne:TypeOne{
}
// ...etc
由于所有Lesson子实体都从Lesson继承,所以它们也可以继承关系。所有不同的子实体可以处于Student.lesson
关系中。
如果课程的类型具有与它们相关的行为,那么也可以将它们分解为单独的实体。
Lesson{
title:string
date:date
grade:number
type<<-->Type.lessons
student<<-->Student.lessons
}
Type{
lessons<-->>Lesson.type
}
TypeOne:Type{
}
TypeOneSubOne:TypeOne{
}
核心数据模型旨在模拟真实世界的对象,事件或条件以及它们之间的关系。设计模型的第一步是了解这些现实世界中的事物及其之间的关系。
是类型和子类的类吗?或者他们只是一些指标?还有什么取决于类型? – 2011-05-16 19:23:37
@Nick Weaver是的课程类型是类,子类型是字段。如果课程类型改变了它们的显示方式并添加更改。 – Sam 2011-05-18 08:22:00