家庭成员的数据模型



我不是数据库专家。,然而,我有一个商业案例,我想存储与一个拥有20000多名成员的大家庭有关的信息,从一位家长开始,插入出生的新成员,数据涉及他们的姓名、出生日期、职业、死亡数据等。

对于这种情况,最好的数据模型是什么?

在做了一项研究后,我有点混淆了层次数据模型和图形数据模型,那么,它们中的任何一个都适合这个问题还是另一个解决方案更好?

这个问题非常适合图形数据库领域,并且很容易实现。在InfiniteGraph中,数据模型如下所示:

UPDATE SCHEMA {
CREATE CLASS Person {
name        : String,
dateOfBirth : DateTime,
dateOfDeath : DateTime,
education   : List { 
Element: Reference { EdgeClass: Education, EdgeAttribute School },
CollectionTypeName: TreeListOfReference
},
residence   : List { 
Element: Reference { EdgeClass: Residence, EdgeAttribute Address },
CollectionTypeName: TreeListOfReference
},
birthMother     : Reference { referenced: Person },
birthFather     : Reference { referenced: Person }
}


CREATE CLASS Education {
startDate   : Date,
endDate     : Date,
certificate : String,

school      : Reference { Referenced: School }
}

CREATE CLASS School {
name        : String
}

CREATE CLASS Residence {
startDate   : Date,
endDate     : Date,

address     : Reference { Referenced: Address },
resident    : Reference { Referenced: Person }
}

CREATE CLASS GeoPosition {
latitude    : Float,
latitude    : Float
}


CREATE CLASS Address SUPERCLASS GeoPosition {
street1     : String,
street2     : String,
city        : String,
state       : String,
country     : String,
postalCode  : String,

resident    : List { 
Element: Reference { EdgeClass: Residence, EdgeAttribute Person },
CollectionTypeName: TreeListOfReference
}
}
}

InfiniteGraph是一个可大规模扩展的面向对象图形数据库。我用这个产品解决了很多像你这样的问题。

最新更新