使用关系数据库与JSON对象获取事件/活动数据
我正在一个项目中尝试在一个标准SQL关系数据库或JSON对象之间存储有关事件或活动的数据。 该项目将存储多种事件类型的数据,因此我决定仅描述此问题的一种事件类型。 现场音乐事件(此问题底部使用JSON模式完整描述)是一个对象,用于存储数据,例如事件发生的地点,事件的时间/日期和事件的成本。现场音乐事件对象具有一对一(事件->名称,事件->描述)和一对多(事件->场所,事件->日期,事件->票证类型) )关系。此外,事件对象可以包含一个或多个执行者ID,这些ID链接到执行者对象。表演者对象存储有关在现场音乐事件中表演的音乐家的数据。 用户将使用简单数据(“以'x'名称为我查找事件”)和复杂数据(以'x'音乐体裁为'y'事件并在距我当前半径'z'范围内以'y'为代价的事件来查询数据)位置”)查询。数据将由用户使用Web表单提交。 从定义的JSON模式中可以看出,我本来打算使用JSON对象存储此数据,但是我听到有些人说,因为我的数据是纯关系型的,所以我应该坚持使用较旧的方法。 鉴于我的需要,我希望对每种方法的利弊有任何想法。如果您需要任何澄清,请随时询问。 { "event": { "eventID":{ "type":"string" }, "eventType":{ "type":"array", "eventTypeItem":{ "type":"string" } }, "eventName":{ "type":"string" }, "eventDescription":{ "type":"string" }, "eventVenueList":{ "type":"array", "eventVenueListID":{ "type":"integer" } }, "eventURL":{ "type":"string" }, "eventTwitter":{ "type":"string" }, "eventFB":{ "type":"string" }, "eventInstagram":{ "type":"string" }, "eventEmail":{ "type":"string", "format":"email" }, "eventContactPerson":{ "type":"string" }, …