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

SQL डेटाबेस में स्टोर के खुलने का समय कैसे स्टोर करें?

एक बहुत ही लचीला और अच्छी तरह से सामान्यीकृत तरीका प्रत्येक उद्घाटन अवधि को एक तालिका में एक पंक्ति के रूप में संग्रहीत करना होगा। एक उद्घाटन अवधि को शुरू होने वाले सप्ताह के दिन के रूप में एन्कोड किया जा सकता है, जिस दिन यह शुरू होता है और जिस अवधि तक यह रहता है। प्रत्येक उद्घाटन अवधि एक विदेशी कुंजी के माध्यम से एक रेस्तरां से जुड़ी होती है।

CREATE TABLE opening_period
             (restaurant integer,
              weekday integer,
              time time,
              duration interval,
              PRIMARY KEY (restaurant,
                           weekday,
                           time,
                           duration),
              FOREIGN KEY (restaurant)
                          REFERENCES restaurant
                                     (id)
                          ON DELETE CASCADE,
              CHECK (weekday >= 0
                     AND weekday < 7),
              -- prevent overlapping opening periods
              EXCLUDE USING gist (restaurant WITH =,
                                  tsrange('epoch'::timestamp + time + weekday * INTERVAL '1 days',
                                          'epoch'::timestamp + time + weekday * INTERVAL '1 days' + duration,
                                          '[)') WITH &&));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. (पोस्टग्रे) SQL में एक-से-अनेक संबंध

  2. Postgresql:सही या क्लॉज की संख्या के आधार पर रैंक की गणना करें

  3. बर्मन क्लाउड - भाग 1:वाल आर्काइव

  4. यदि कोई पंक्ति मौजूद है, तो उसके आधार पर अद्यतन/सम्मिलित करें

  5. SQL इन-डीबी संचालन के लिए dplyr का उपयोग करते समय ifelse और grep कमांड