Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ईएवी एसक्यूएल डिजाइन पर पूछताछ

आपको प्रत्येक नाम/मूल्य संयोजन के लिए एक विधेय जोड़ना होगा:

  SELECT <whatever you need>
    FROM Entity_Table et
   WHERE et.e_name = 'Joe'
     AND EXISTS (SELECT 1 
                   FROM AttributeValue_Table avt
                   JOIN Entity_AttrVal ea ON ea.e_id = et.e_id
                  WHERE ea.a_id = avt.av_id
                    AND avt.prop_name = 'color'
                    AND avt.prop_value = 'black')
     AND EXISTS (SELECT 1 
                   FROM AttributeValue_Table avt
                   JOIN Entity_AttrVal ea ON ea.e_id = et.e_id
                  WHERE ea.a_id = avt.av_id
                    AND avt.prop_name = 'whiskers'
                    AND avt.prop_value = 'short')

(यदि मेरी Sql सर्वर बोली अच्छी लगती है तो मैं क्षमा चाहता हूँ)

तुलनाओं की मनमानी संख्या करने के लिए, आपको SQL उत्पन्न करना होगा और इसे निष्पादित करना होगा।

जैसा कि एक टिप्पणी में कहा गया है, यह दिखाता है कि ईएवी एक दर्द है (वास्तव में एक विरोधी पैटर्न), लेकिन मुझे अनुभव से पता है कि कभी-कभी कोई विकल्प नहीं होता है यदि हम एक रिलेशनल डेटाबेस से बंधे हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा से बीडी में ब्लॉब स्टोर करें:इस प्रकार के लिए अधिकतम आकार से बड़ा डेटा आकार जब स्पष्ट रूप से नहीं है

  2. प्रत्येक पंक्ति से दो विशिष्ट मान प्राप्त करने के लिए डेटा तालिका के माध्यम से लूपिंग

  3. क्या Oracle 11g क्लाइंट के लिए ODP.NET आवश्यक है?

  4. संस्करण नियंत्रण के लिए डीबी वस्तुओं का निर्यात

  5. ORA-00913:केस का उपयोग करते समय बहुत अधिक मान जब