数据范式化的几个概念: 1.任何类型的数据在 state 中都有自己的 “表”。 2.任何 “数据表” 应将各个项目存储在对象中,其中每个项目的 ID 作为 key,项目本身作为 value。 3.任何对单个项目的引用都应该根据存储项目的 ID 来完成。 4.ID 数组应该用于排序。
优点:去除冗余数据,结构扁平,避免深层次嵌套 缺点:查询性能低下
//原始数据
{
'id':1,
'name':'xiaoliang',
'age':20,
'hobby':[{
id:30,
desp:'足球'
},{
id:40,
desp:'篮球'
},{
id:50,
desp:'羽毛球'
}]
}
//范式化
{
person:{
'1':{
'id':1,
'name':'xiaoliang',
'age':20,
'hobby':['30','40','50']
}
},
hobby:{
'30':{
id:'30',
desp:'足球'
},
'40':{
id:'40',
desp:'篮球',
},
'50':{
id:'50',
desp:'羽毛球'
}
}
}