मैं एक ऐसी परियोजना पर काम कर रहा हूँ जहाँ मैं एक मानक SQL संबंधपरक डेटाबेस या JSON ऑब्जेक्ट का उपयोग करके किसी घटना या गतिविधि के बारे में डेटा स्टोर करने के बीच निर्णय लेने की कोशिश कर रहा हूं।
परियोजना कई ईवेंट प्रकारों पर डेटा संग्रहीत करेगी, इसलिए मैंने इस प्रश्न के लिए केवल एक ईवेंट प्रकार का वर्णन करने का निर्णय लिया है।
लाइव म्यूजिक इवेंट (इस प्रश्न के निचले भाग में JSON स्कीमा का उपयोग करके पूर्ण वर्णन किया गया) एक ऑब्जेक्ट है जो डेटा को स्टोर करता है जैसे कि इवेंट कहां होगा, इवेंट का समय / तारीख और इवेंट की लागत। लाइव संगीत ईवेंट ऑब्जेक्ट में एक-से-एक (ईवेंट -> नाम, ईवेंट -> विवरण) और एक-से-कई (ईवेंट -> स्थान, इवेंट -> दिनांक, ईवेंट -> टिकट प्रकार दोनों हैं ) रिश्तों। इसके अलावा, ईवेंट ऑब्जेक्ट में एक या अधिक परफॉर्मर आईडी हो सकते हैं, जो परफॉर्मर ऑब्जेक्ट से लिंक होते हैं। कलाकार ऑब्जेक्ट संगीतकारों के डेटा को संग्रहीत करता है जो लाइव संगीत कार्यक्रम में प्रदर्शन कर रहे हैं।
डेटा दोनों सरल ("मुझे 'x' नाम के साथ घटनाओं का पता लगाएं) और जटिल (" मेरे x से संगीत शैली और 'y' लागत वाले 'y' लागत वाले आयोजनों को मेरे वर्तमान से '' का उपयोग करके '' उपयोगकर्ताओं को समझा जाएगा। " स्थान ") प्रश्न। डेटा वेब प्रपत्र का उपयोग करके उपयोगकर्ताओं द्वारा प्रस्तुत किया जाएगा।
जैसा कि आप शायद परिभाषित 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"
},
"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"
}
}
}