Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में कार्डिनैलिटी क्या है?


MySQL में, कार्डिनैलिटी शब्द उन डेटा वैल्यूज़ की विशिष्टता को संदर्भित करता है जिन्हें कॉलम में रखा जा सकता है। यह एक प्रकार की प्रॉपर्टी है जो डेटा को खोजने, क्लस्टर करने और सॉर्ट करने की क्षमता को प्रभावित करती है।

कार्डिनैलिटी दो प्रकार की हो सकती है जो निम्न हैं −

  • लो कार्डिनैलिटी − एक कॉलम के सभी वैल्यूज़ समान होने चाहिए।

  • हाई कार्डिनैलिटी − एक कॉलम के सभी वैल्यूज़ यूनिक होने चाहिए।

हाई कार्डिनैलिटी का कॉन्सेप्ट तब उपयोग किया जाता है जब हम डुप्लीकेट वैल्यूज़ को प्रतिबंधित करने के लिए किसी कॉलम पर कंस्ट्रेंट लगाते हैं।

हाई कार्डिनैलिटी

हाई कार्डिनैलिटी का निम्न उदाहरण है, जिसमें एक कॉलम के सभी वैल्यूज़ यूनिक होने चाहिए।

mysql> create table UniqueDemo1 
-> ( 
-> id int, 
-> name varchar(100), 
-> UNIQUE(id, name) 
-> ); 
Query OK, 0 rows affected (0.81 sec)

टेबल में रिकॉर्ड्स इन्सर्ट करना।

mysql> insert into UniqueDemo1 values(1,'John'); 
Query OK, 1 row affected (0.18 sec) 
mysql> insert into UniqueDemo1 values(1,'John'); 
ERROR 1062 (23000): Duplicate entry '1-John' for key 'id'

उपरोक्त में, जब हम टेबल में समान रिकॉर्ड्स इन्सर्ट करते हैं तो एरर आती है।

सभी रिकॉर्ड्स डिस्प्ले करने के लिए।

mysql> select * from UniqueDemo1;

आउटपुट निम्न है। चूंकि डुप्लीकेट वैल्यू के लिए एरर आती है; इसलिए, अभी टेबल में केवल 1 रिकॉर्ड है, जिसे हमने पहले जोड़ा था।

+------+------+
| id   | name |
+------+------+
| 1    | John |
+------+------+
1 row in set (0.00 sec)

लो कार्डिनैलिटी

लो कार्डिनैलिटी का उदाहरण।

टेबल बनाना।

mysql> create table LowCardinality 
-> ( 
-> id int, 
-> name varchar(100) 
-> ); 
Query OK, 0 rows affected (0.71 sec)

डुप्लीकेट वैल्यूज़ के साथ रिकॉर्ड्स इन्सर्ट करना।

mysql> insert into LowCardinality values(1,'John'); 
Query OK, 1 row affected (0.19 sec) 
mysql> insert into LowCardinality values(1,'John'); 
Query OK, 1 row affected (0.14 sec)

सभी रिकॉर्ड्स डिस्प्ले करना।

mysql> select * from LowCardinality;

आउटपुट डुप्लीकेट वैल्यूज़ दिखाता है, क्योंकि हमने टेबल बनाते समय UNIQUE शामिल नहीं किया था।

+------+------+
| id   | name |
+------+------+
| 1    | John |
| 1    | John |
+------+------+
2 rows in set (0.00 sec)

  1. - MySQL में "SELECT TRUE" क्या है?

    स्टेटमेंट SELECT TRUE पंक्ति मिलने पर 1 लौटाता है। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable(Name varchar(100)); Query OK, 0 rows affected (0.54 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris); Query OK, 1 row affecte

  1. - MySQL में BETWEEN क्लॉज के बजाय AND ऑपरेटर से रेंज क्वेरी कैसे करें?

    MySQL में BETWEEN के विकल्प: AND ऑपरेटर का उपयोग BETWEEN क्लॉज के बजाय आप >= और <= ऑपरेटर को AND से जोड़कर समान रेंज क्वेरी कर सकते हैं। यह अधिक स्पष्ट और कभी-कभी अधिक लचीला होता है। उदाहरण: 15 से 80 के बीच की संख्याएं टेबल बनाएं: CREATE TABLE DemoTable (Number INT); INSERT INTO DemoTable VAL

  1. - MySQL में कॉलम मानों से बेतरतीब ढंग से 2 मान चुनें?

    बेतरतीब ढंग से चुनने के लिए ORDER BY RAND() का उपयोग करें। MySQL में केवल 2 मान चुनने के लिए LIMIT 2 का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1815 ( Question text ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: my