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

उपयोगकर्ता की ऊंचाई और वजन सहेजा जा रहा है

कई तरीके हैं... एक में केवल दो संख्यात्मक कॉलम हों, एक ऊंचाई के लिए, एक वजन के लिए, फिर प्रदर्शन समय पर रूपांतरण (यदि आवश्यक हो) करें। दूसरा एक "ऊंचाई" तालिका और "वजन" तालिका बनाना है, प्रत्येक में प्राथमिक कुंजी है जो किसी अन्य तालिका से जुड़ी हुई है। फिर आप इन तालिकाओं में अंग्रेजी और मीट्रिक दोनों मान संग्रहीत कर सकते हैं (किसी भी अन्य मेटा जानकारी के साथ जो आप चाहते हैं):

CREATE TABLE height (
    id          SERIAL PRIMARY KEY,
    english     VARCHAR,
    inches      INT,
    cm          INT,
    hands       INT  // As in, the height of a horse
);

INSERT INTO height VALUES
    (1,'4 feet',           48, 122, 12),
    (2,'4 feet, 1 inch',   49, 124, 12),
    (3,'4 feet, 2 inches', 50, 127, 12),
    (3,'4 feet, 3 inches', 51, 130, 12),
    ....

आपको अंदाजा हो गया...

तब आपकी उपयोगकर्ता तालिका ऊंचाई . का संदर्भ देगी और वजन तालिकाएँ- और संभवतः कई अन्य आयाम तालिकाएँ--ज्योतिषीय संकेत, वैवाहिक स्थिति, आदि।

CREATE TABLE users (
    uid         SERIAL PRIMARY KEY,
    height      INT REFERENCES height(id),
    weight      INT references weight(id),
    sign        INT references sign(id),
    ...
);

फिर 4 से 5 फीट के बीच के उपयोगकर्ताओं की खोज करने के लिए:

SELECT *
FROM users
JOIN height ON users.height = height.id
WHERE height.inches >= 48 AND height.inches <= 60;

इस विधि के कई फायदे:

  • प्रदर्शन पर रूपांतरण करने के लिए आपको "प्रयास" (जैसे कि यह कोई वास्तविक कार्य था) की नकल करने की आवश्यकता नहीं है - बस उस प्रारूप का चयन करें जिसे आप प्रदर्शित करना चाहते हैं!
  • यह HTML चयन में ड्रॉप-डाउन बॉक्स को पॉप्युलेट करना सुपर आसान बनाता है--बस SELECT english FROM height ORDER BY inches , उदाहरण के लिए।
  • यह आपके तर्क को विभिन्न आयामों के लिए बनाता है--जिसमें गैर-संख्यात्मक (जैसे ज्योतिषीय संकेत) स्पष्ट रूप से समान हैं--आपके पास प्रत्येक डेटा प्रकार के लिए हर जगह विशेष केस कोड नहीं है।
  • यह वास्तव में अच्छी तरह से मापता है
  • आपके डेटा के नए निरूपण को जोड़ना आसान बनाता है (उदाहरण के लिए, ऊंचाई तालिका में 'हाथ' कॉलम जोड़ना)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql नए डेटाबेस स्थान के साथ डेटाबेस बनाता है

  2. चयन कथन संभव_की का उपयोग नहीं कर रहा है

  3. MySql में बड़ी टेबल और विश्लेषण

  4. क्या डेटाबेस में हटाए गए रिकॉर्ड की संख्यात्मक प्राथमिक कुंजी भविष्य के नए रिकॉर्ड के लिए पुन:उपयोग की जाती है?

  5. एक पंक्ति में संख्या से 1 घटाएं SQL क्वेरी