我有关于人物信息的数据库
会有一些关于姓名,年龄,地址,联系方式等人的共同细节......
但是有一些类别的人,如政府公务员,商人,薪水,政客等...
因此会有一些关于类别的动态字段......
可以轻松制作常用的详细信息表,但问题在于类别的动态字段 政府公务员将有收入,部门,等等......
我创建了三个表:
人民表:姓名,年龄,DOB等...... 类别:政府公务员行,薪水等...... 属性:
------------------------
ID|Category|Field|Value
-----------------------
1 |GS |dept |electricity
上面的数据库设计(我现在正在使用的)是那种
NopCommerce数据库设计
Nop_Customer
和Nop_CustomerAttribute
表
这是一个好的或者比这更好的事情:(对于这种情况)
需要考虑两个要点: 1用户将为此添加数据,因此必须相应地创建控件 2-这个数据库将被其他人搜索。
修改
每个类别的字段都将被修复。
但是类别将随着时间的推移而不是由用户而是由开发人员添加,因此需要为开发人员减少繁忙和可维护性
答案 0 :(得分:4)
为每种类型的人制作表格。在这些表中,仅存储适用的内容。如果Phil Jones是一名政治家,那么他就会在Person表中输入一个条目来描述他,就个人而言。他还会在政治家表格中排成一排,就政治家而言,他会形容他。使每个子表与person表的ID列具有外键关系。
答案 1 :(得分:0)
您可以选择使用ORM等NHibernate工具:
NHibernate是一个成熟的开源对象关系映射器 .NET框架。它是积极开发,功能齐全和使用的 成千上万的成功项目。
然后,您可以使用OOP主体(如继承)来创建一个涵盖基础的超类,然后根据您需要的其他额外功能扩展该类。 This教程为您提供了如何操作的建议。
答案 2 :(得分:0)
您可以使用XML字段,以便存储非结构化数据或使用继承映射之一 见http://www.agiledata.org/essays/mappingObjects.html