Ich arbeite an einem Projekt, in dem ich mich zwischen der Verwendung einer relationalen SQL-Standarddatenbank oder von JSON-Objekten zum Speichern von Daten zu einem Ereignis oder einer Aktivität entscheiden möchte.
Das Projekt speichert Daten für mehrere Ereignistypen. Daher habe ich beschlossen, für diese Frage nur einen Ereignistyp zu beschreiben.
Das Live-Musik-Ereignis (im Folgenden anhand des JSON-Schemas ausführlich beschrieben) ist ein Objekt, in dem Daten wie der Ort des Ereignisses, die Uhrzeit / das Datum des Ereignisses und die Kosten des Ereignisses gespeichert werden. Das Live-Musik-Ereignisobjekt verfügt sowohl über eine Eins-zu-Eins-Verbindung (Ereignis -> Name, Ereignis -> Beschreibung) als auch über eine Eins-zu-Viele-Verbindung (Ereignis -> Veranstaltungsorte, Ereignis -> Daten, Ereignis -> Tickettypen ) Beziehungen. Darüber hinaus kann das Ereignisobjekt eine oder mehrere Darsteller-IDs enthalten, die mit dem Darstellerobjekt verknüpft sind. Das Performer-Objekt speichert Daten zu Musikern, die beim Live-Musik-Event auftreten.
Die Daten werden von Benutzern sowohl mit einfachen ("Find me events with 'x' name") als auch mit komplexen ("Find me events with 'x' music genre und 'y' cost im Umkreis von 'z' von meinem aktuellen Wert abgefragt location ") abfragen. Die Daten werden von den Nutzern über ein Webformular übermittelt.
Wie Sie wahrscheinlich anhand des definierten JSON-Schemas erkennen können, wollte ich ursprünglich JSON-Objekte zum Speichern dieser Daten verwenden, aber ich habe von einigen Leuten gehört, dass ich mich an die älteren Methoden halten sollte, da meine Daten rein relational sind.
Ich würde es begrüßen, wenn ich mir Gedanken über die Vor- und Nachteile jedes Ansatzes mache, der meinen Bedürfnissen entspricht. Wenn Sie weitere Informationen benötigen, wenden Sie sich bitte an uns.
{
"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"
},
"eventDoorTime": {
"type":"string",
"format":"date-time"
},
"eventPerformerIDList":{
"type":"array",
"liveMusicPerformerID":{
"type":"integer"
}
},
"eventSetList":{
"type":"array",
"eventPerformerID":{
"type":"integer"
},
"eventPerformerStartTime":{
"type":"string",
"format":"date-time"
},
"eventPerformerEndTime":{
"type":"string",
"format":"date-time"
}
},
"eventDateList": {
"type":"array",
"eventDateItem": {
"type":"string",
"format":"date-time"
}
},
"eventDateStartTime": {
"type":"string",
"format":"date-time"
},
"eventDateEndTime": {
"type":"string",
"format":"date-time"
},
"eventTicket":{
"type":"array",
"eventTicketType":{
"type":"string"
},
"eventTicketLowPrice":{
"type":"number"
},
"eventTicketHighPrice":{
"type":"number"
},
"eventDatesAdvancePrice": {
"type":"number"
}
}
},
"performer": {
"performerID": {
"type":"integer"
},
"performerType": {
"type":"string"
},
"performerName": {
"type":"string"
},
"performerAlternateName": {
"type":"array",
"performerAlterateNameItem":{
"type":"string"
}
},
"performerGenreList": {
"type":"array",
"performerGenreItem":{
"type":"string"
}
},
"performerURL": {
"type":"string"
}
}
}