Database 表示家庭、家庭和关系的数据库模型
这是我的情况。我正在建立一个数据库来跟踪人们和家庭之间的关系。通常,一切都与“户主”有关 我试图避免这种情况,因为当人们搬家(即哥哥最终找到工作并搬走)或家庭破裂(即爸爸和妈妈离婚,家庭现在一分为二,一些孩子和妈妈住在一起,一些和爸爸在一起)时,这会产生问题 当模型基于HOH时,找出如何级联数据是一个巨大的挑战。我的方法是将数据分为三个表:家庭表、个人表和关系表。hh只存储地址和id。关系存储人员id a、人员id b和关系代码(即1=兄弟姐妹)。person存储姓名和hh_id。这样,如果一个家庭破裂,我可以将爸爸妈妈之间的关系更改为NULL,并在不中断其他关系的情况下为爸爸和任何随他而来的孩子创建新的hh。![以下是模型的外观: 人 -个人识别码 -hh_id 关系 -个人身份证 -个人身份证 -与cd的关系 家庭 -hh_id -地址 这对你们来说有意义吗?你们能想出任何不起作用的原因,或者认为有更好的模型吗Database 表示家庭、家庭和关系的数据库模型,database,model,relationships,Database,Model,Relationships,这是我的情况。我正在建立一个数据库来跟踪人们和家庭之间的关系。通常,一切都与“户主”有关 我试图避免这种情况,因为当人们搬家(即哥哥最终找到工作并搬走)或家庭破裂(即爸爸和妈妈离婚,家庭现在一分为二,一些孩子和妈妈住在一起,一些和爸爸在一起)时,这会产生问题 当模型基于HOH时,找出如何级联数据是一个巨大的挑战。我的方法是将数据分为三个表:家庭表、个人表和关系表。hh只存储地址和id。关系存储人员id a、人员id b和关系代码(即1=兄弟姐妹)。person存储姓名和hh_id。这样,如果一个
对不起,我知道这有点令人沮丧。所有这些离婚让我的工作变得困难>:(关于姓名,我建议保持简单。有一个包含三列的姓名表:
- 吉文纳姆斯
- 家庭主妇
- 名称类型{合法,备用}
- 约翰·保罗·史密斯
- 玛丽·保罗·史密斯
- 约翰·亨利·威廉·阿尔特米斯·威廉姆斯
- 玛利亚·德·洛杉机·戈麦斯·波蒂略
- 阿卜杜勒·拉赫敏·伊本·赛义德·伊本·阿卜杜勒·阿齐兹·菲拉斯特尼
- 阿卜杜拉
对于家庭,正如我在我的评论中提到的,你可能想要支持一对多对多的关系。一个家庭可以有零到很多人,一个人可以有零到许多家庭。这有点棘手,因为这取决于你作为一个家庭的定义。你可能觉得有必要把一个作为一个主要的,但是考虑一个孩子T。hat一半的时间和母亲在一起,一半的时间和父亲在一起。哪一个是主要的?很酷的概念!我可以问一下你建这个是为了什么,你在用什么数据库软件吗?(顺便说一句,最后一行让我咯咯笑)你可能想考虑把名字存储在一个单独的表中,其中一个人可以有多个名字。关于家庭,你的模型可以存储一个有多个家庭的人的情况,因为这并不罕见(第二个家庭,分裂的监护等)。?@nivixzixer为一家非营利机构工作。我们跟踪我们向个人和家庭提供的服务,我们正在过渡到一个新的数据库和报告系统。我不知道我们将使用什么样的软件。我们有一个供应商将实际构建它。@hatchet这是一个有趣的观点。不,在这个模型中,每个人每次只有一个hh_idime,如果他们无家可归,可能没有。有没有办法适应这些情况?@Ian-一个个人和家庭之间的交叉表,用于创建多对多关系。一个家庭可以有很多(零或更多)人,一个人可以有很多(零或更多)家庭。如果需要的话,intersect记录中的一个标志可以指示一个人的主要家庭。非常周到和有趣的回答。谢谢!你建议如何处理户主?假设每个家庭可以有零个或一个,并且一个人c