我目前正在开发一个票务预订系统,用户应该可以选择一个活动,查看部分列表,一个部分包含一个座位列表,这些座位可以由其他用户免费或占用/预订。我选择使用Firebase作为我的后端,但对数据库的使用经验很少,使用JSON则为零。我将如何构建这样的系统?
这是我到目前为止所得到的:
{
"events" : {
"e2017" : {
"name" : "event 2017",
"date" : "1490567256550"
}
},
"eventSections" : {
"e2017" : {
"e2017-A" : {
"isFull" : false,
"totalSeats": 40,
"bookedSeats": 20
}
}
},
"sectionSeats" : {
"e2017-A" : {
"A1": {
"isBooked" : true,
"bookedBy" : "userId"
},
"A2": {
"isBooked" : false,
"bookedBy" : false
}
}
}
}
答案 0 :(得分:0)
以下结构是针对您的问题的特定用例的示例结构。您有以下标准:
cnxn = informixdb.connect('database_name@server_name', 'UID', 'PWD')
以及符合该标准的结构
1) user should be able to choose an event
2) see a list of sections
3) a section contains a list of seats
4) (seats are) either free or occupied/booked by another user
虽然这是 答案,但它并不是唯一的答案。例如。如果你想知道哪些活动有免费席位怎么办?您实际上无法查询此数据的结构(除非您在代码中进行过滤)。
但是,如果您向用户显示事件列表,他们可以点击该事件以获取更多数据,此结构可以正常工作,因为它可用于显示可用的部分和席位。
如果您有不同的特定用例,请使用更多数据更新您的问题。