我正在设计一个数据库,并且想知道我应该使用哪种方法。我将描述我打算设计的数据库以及我可以用来将数据存储在表中的可能方法。
请推荐我应该使用哪种方法,为什么?
关于数据:
A)我有七个需要注意的属性。这些只是示例,而不是我打算存储的实际示例。让我称呼他们:
1)名称
2)DOB(修改..我之前在这里输入了年龄..)
3)性别
4)婚姻状况
5)工资
6)母语
7)父亲的名字
B)表中至少有 10000 行,从长远来看,它们可以从那里上升
C)属性的数量可以随着时间的推移而改变。也就是说,可以将新属性添加到现有数据集中。不会删除任何属性。
方法一
创建一个包含 7 个属性的表并按原样存储数据。如果需要添加新属性,则添加新列。
优点:更容易阅读数据和信息组织良好
缺点:对于某些值未知的属性,某些行中可能有很多空值。
方法二
创建一个具有 3 个属性的表。让他们被称为:
1) Attr_Name :存储属性名称。例如姓名、年龄、性别等
2) Attr_Value :存储上述属性的值,例如:Tom, 25, Male
3)唯一ID:唯一标识数据库中的名称、值对。例如。社会保障号
因此,在方法 2 中,如果需要为某些行添加新属性,我们可以将它们添加到我们创建的 hashmap 中,而不用担心 null 值。
优点:Hashmap 结构。消除空值。
缺点:数据不易阅读。信息不容易掌握。
C) 问题
哪个是更好的方法。?
我觉得方法1是更好的方法。因为处理空值并不难,而且数据组织良好,而且很容易掌握这个数据之王。请建议我应该使用哪种方法,为什么?
谢谢!