Google通讯录地址簿架构 - 如何为数据提供1到多个字段?

Mit*_*ith 5 database schema database-design

在Google通讯录中,它似乎允许您根据需要添加许多电子邮件地址,电话号码,地址等.您只需单击添加链接即可创建任意数量的字段.

这让我对如何在模式中做出这一点感到好奇?

Pen*_*m10 5

有一个名为custom_fields(profileid,moduleid,fieldid,fieldlabel)的表,您可以在其中定义字段,例如:phone,dob,dogs,children,然后在另一个表custom_fields_values(contactid,fieldid,value)中设置每个客户端/自定义的值领域.

custom_fields
-------------
user1,contacts,1000,Dogs
user1,contacts,1001,Children
user2,contacts,1002,Car Colour

custom_fields_values
-------------
120,1000,4
120,1001,0
121,1000,0
121,1001,0
122,1002,Red
123,1002,Transparent :)
124,1002,Green