在概念方案中,如果一个类中有一个属性,其中 1/10 的情况有值,而其余 9/10 的情况没有值,那么最好采用哪种设计方案?我们应该将属性保留在类/实体中,还是将其分开然后创建关联的解决方案? 我应该把它保留在班级中,然后在计划重组期间对其进行管理。
从概念上讲,在 UML 中,属性要么是属性,要么是拥有的关联端。 此外,在这两种情况下,重数 0..1 具有相同的效果。换句话说,两种设计在 UML 中几乎是等效的。
从技术上讲,在数据库中它有点不同:
由您决定您最看重哪些优势以及您希望避免哪些不便。根据经验,与只有一个属性的类关联是一件痛苦的事情。属性实现通常是首选选项。然而,它不是关于单个属性,而是关于多个属性,单独的类的选项再次闪耀,因为它有助于数据库规范化。