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

तालिका में अद्वितीय संयोजन

यदि आप हर समय डेटा अखंडता की गारंटी देना चाहते हैं तो इसे डीबी स्तर पर हल किया जा सकता है (और चाहिए)। कई तरीके हैं, एक आंशिक UNIQUE INDEX शायद सबसे सरल और सबसे प्रभावी।

CREATE UNIQUE INDEX picture_homepage_uni ON picture (house_id) WHERE homepage;

->sqlfiddle

होमपेज चित्रों को संपार्श्विक लाभ के रूप में पुनः प्राप्त करने के लिए प्रश्नों को भी गति देगा।

स्कीमा बदलें

एक अलग तरीका यह होगा कि एक कॉलम homepage_id add जोड़ा जाए टेबल पर house , चयनित चित्र की ओर इशारा करते हुए। स्वचालित रूप से, केवल 1 चित्र का चयन किया जा सकता है। आपको picture.homepage की आवश्यकता नहीं होगी इसके बाद। दोनों दिशाओं में विदेशी कुंजी बाधाओं के कारण रेफ़रेंशियल अखंडता थोड़ी मुश्किल हो सकती है, लेकिन मेरे पास इस तरह के समाधान हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql:पासवर्ड के साथ स्क्रिप्टिंग psql निष्पादन

  2. Django पोस्टग्रेज ArrayField बनाम एक-से-अनेक संबंध

  3. Postgres में गतिशील आधार के साथ संचयी जोड़ना

  4. Psycopg2 में मेटा कमांड - \d काम नहीं कर रहा

  5. माता-पिता को हटा दें यदि यह किसी अन्य बच्चे द्वारा संदर्भित नहीं है