使用Firebase的票务预订系统的JSON结构?

时间:2017-03-26 21:31:21

标签: json database firebase database-design firebase-realtime-database

我目前正在开发一个票务预订系统,用户应该可以选择一个活动,查看部分列表,一个部分包含一个座位列表,这些座位可以由其他用户免费或占用/预订。我选择使用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
          }
      }
  }

}

1 个答案:

答案 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

虽然这是 答案,但它并不是唯一的答案。例如。如果你想知道哪些活动有免费席位怎么办?您实际上无法查询此数据的结构(除非您在代码中进行过滤)。

但是,如果您向用户显示事件列表,他们可以点击该事件以获取更多数据,此结构可以正常工作,因为它可用于显示可用的部分和席位。

如果您有不同的特定用例,请使用更多数据更新您的问题。