में समय अवधि का प्रतिनिधित्व करते हुए मैंने हाल ही में एक परियोजना को Employee
मॉडल के साथ अपनाया है जिसमें व्यक्ति के उपलब्ध घंटों को एक विशेषता के रूप में शामिल करने की आवश्यकता है।यूआई और डेटाबेस
मौजूदा प्रपत्र सप्ताह में प्रत्येक घंटे का प्रतिनिधित्व करने के 168 चेक बॉक्स का उपयोग करता है, और सात डेटाबेस में 24 बिट द्विआधारी तार, प्रत्येक बिट एक बूलियन सच है या उस दिन उसके संगत घंटे के लिए झूठे के रूप में कार्य के रूप में जानकारी संग्रहीत करता है।
मैं वास्तव में कुछ और अधिक सुरुचिपूर्ण और प्रबंधनीय में बदलाव करना चाहता हूं, लेकिन मैं मौजूदा कार्यान्वयन की लचीलापन से मेल खाने वाले किसी भी सरल समाधान के साथ आने में सक्षम नहीं हूं। प्रारंभ और समाप्ति समय के रूप में
भंडारण समय अवधि के बस के रूप में इनपुट करने के लिए कठिन है जब वहाँ प्रतिदिन कई हो सकता है हो सकता है, और संभावना एक विशेष समय और अधिक जटिल पर उपलब्धता के लिए क्वेरी होगा।
क्या उपयोगकर्ता इंटरफ़ेस और डेटाबेस संरचना दोनों में इस प्रकार की जानकारी से निपटने के लिए सबसे अच्छा अभ्यास है?
PostgreSQL मूल रूप से डेटा अंतराल के रूप में समय अंतराल का समर्थन करता है। – Pointy
यह जानना निश्चित रूप से अच्छा है, लेकिन मुझे यकीन नहीं है कि यह वास्तव में समस्या हल करता है। अगर मुझे गलत नहीं लगता है, तो अंतराल एक विशिष्ट प्रारंभ या समाप्ति समय से बंधे नहीं हैं, इसलिए उन्हें सभी आवश्यक जानकारी का प्रतिनिधित्व करने के लिए एक अधिक जटिल डेटा संरचना के हिस्से के रूप में उपयोग करना होगा। मुझे लगता है कि मैं वास्तव में जो खोज रहा हूं वह 168 बूलियन इनपुट, स्टोर और क्वेरी करने का एक साफ, प्रबंधनीय तरीका है। या सप्ताह में प्रत्येक घंटे का प्रतिनिधित्व करने का एक बेहतर तरीका। – Luke
ठीक है आप एक तिथि क्षेत्र के साथ एक अंतराल क्षेत्र जोड़ सकते हैं, जैसे कि दिनांक फ़ील्ड प्रारंभ समय और अंतराल की अवधि प्रदान करेगा। यह नहीं पता कि यह केवल दो तारीख क्षेत्रों से बेहतर या बदतर होगा; यह अर्थशास्त्र और उन प्रश्नों पर निर्भर करेगा जिन्हें आप चलाना चाहते हैं। – Pointy