mySQL डेटाबेस स्कीमा लिखने के लिए शुरुआती गाइड

mySQL डेटाबेस स्कीमा लिखने के लिए शुरुआती गाइड

सॉफ़्टवेयर प्रोजेक्ट विकसित करते समय सबसे महत्वपूर्ण, मूलभूत और आंतरिक पहलुओं में से एक उचित रूप से संरचित डेटाबेस स्कीमा है। यह एक घर के निर्माण के बराबर है, आपको यह सुनिश्चित करने की आवश्यकता है कि नींव ठीक से रखी गई है, अन्यथा एक गुणवत्ता वाले घर के निर्माण की संभावना काफी कम हो जाती है।





आश्चर्यजनक रूप से जितना आसान लगता है, आइए एक अच्छी तरह से आर्किटेक्टेड डेटाबेस स्कीमा लिखने के लिए उपयोग किए जाने वाले विभिन्न पहलुओं को जानें।





डाउनलोड या साइन अप किए बिना मुफ्त फिल्में देखना

टेबल सिंटैक्स बनाएं

शुरू करने के लिए, अपना पसंदीदा टेक्स्ट एडिटर खोलें। डेटाबेस स्कीमा बनाने के लिए एक सादे पाठ फ़ाइल के अलावा और कुछ नहीं चाहिए। एक डेटाबेस में कई टेबल होते हैं, प्रत्येक में कॉलम होते हैं, और CREATE TABLE सिंटैक्स का उपयोग सिंगल टेबल बनाने के लिए किया जाता है। यहाँ एक बुनियादी उदाहरण है:






CREATE TABLE users (
id INT NOT NULL,
is_active TINY INT NOT NULL,
full_name VAR CHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);

जैसा कि आप देख सकते हैं, यह नाम की एक डेटाबेस तालिका बनाएगा उपयोगकर्ताओं जिसमें चार कॉलम होते हैं। यह एक बिल्कुल सीधे आगे का SQL कथन होना चाहिए जिसकी शुरुआत तालिका बनाएं , उसके बाद डेटाबेस तालिकाओं का नाम आता है, फिर कोष्ठक के भीतर तालिका के स्तंभों को अल्पविराम से अलग किया जाता है।

सही कॉलम प्रकारों का प्रयोग करें

जैसा कि ऊपर दिखाया गया है, तालिका में जिन स्तंभों को शामिल किया जाएगा, वे अल्पविराम द्वारा अलग किए गए हैं। प्रत्येक स्तंभ परिभाषा में तीन समान भाग होते हैं:



COL_NAME TYPE [OPTIONS]

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

सभी उद्देश्यों के लिए, उपरोक्त कॉलम प्रकार वे सभी हैं जिन्हें आपको अच्छी तरह से निर्मित mySQL डेटाबेस स्कीमा लिखने की आवश्यकता है।





कॉलम विकल्प परिभाषित करें

कॉलम को परिभाषित करते समय आपके द्वारा निर्दिष्ट किए जा सकने वाले विभिन्न विकल्प भी होते हैं। नीचे का एक और उदाहरण है तालिका बनाएं बयान:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
status ENUM('active','inactive') NOT NULL DEFAULT 'active',
balance DECIMAL(8,2) NOT NULL DEFAULT 0,
date_of_birth DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

उपरोक्त थोड़ा कठिन लग सकता है, लेकिन चिंता न करें, यह काफी सरल है। टूटा हुआ, यहाँ उपरोक्त कथन में क्या हो रहा है:





  • तालिका की गति और प्रदर्शन में सहायता के लिए आपको हमेशा संभव सभी स्तंभों पर NOT NULL का उपयोग करना चाहिए। यह केवल निर्दिष्ट करता है कि जब कोई पंक्ति डाली जाती है तो कॉलम को खाली/शून्य नहीं छोड़ा जा सकता है।
  • हमेशा कॉलम का आकार यथासंभव छोटा रखने की कोशिश करें, क्योंकि यह गति और प्रदर्शन को बेहतर बनाने में मदद करता है।
  • NS पहचान कॉलम एक पूर्णांक है, तालिका की प्राथमिक कुंजी भी है जिसका अर्थ है कि यह अद्वितीय है, और हर बार एक रिकॉर्ड डालने पर एक से बढ़ जाएगा। यह आम तौर पर आपके द्वारा बनाई गई सभी तालिकाओं पर उपयोग किया जाना चाहिए ताकि आप तालिका के भीतर किसी एक पंक्ति को आसानी से संदर्भित कर सकें।
  • NS स्थिति कॉलम एक ENUM है और इसमें 'सक्रिय' या 'निष्क्रिय' का मान होना चाहिए। यदि कोई मान निर्दिष्ट नहीं है, तो 'सक्रिय' की स्थिति के साथ एक नई पंक्ति प्रारंभ होगी।
  • NS संतुलन कॉलम प्रत्येक नई पंक्ति के लिए 0 से शुरू होता है, और एक राशि है जो दो दो दशमलव बिंदुओं को स्वरूपित करती है।
  • NS जन्म की तारीख कॉलम केवल एक दिनांक है, लेकिन शून्य मान की भी अनुमति देता है क्योंकि जन्म की तारीख निर्माण पर ज्ञात नहीं हो सकती है।
  • अंतिम, पर बनाया गया कॉलम एक टाइमस्टैम्प है और वर्तमान समय के लिए डिफ़ॉल्ट है जब पंक्ति डाली गई थी।

ऊपर एक अच्छी तरह से संरचित डेटाबेस तालिका का एक उदाहरण है, और इसे आगे बढ़ने वाले उदाहरण के रूप में उपयोग किया जाना चाहिए।

रिलेशनल डेटाबेस का उपयोग करने के सबसे बड़े लाभों में से एक जैसे माई एसक्यूएल विदेशी प्रमुख बाधाओं और कैस्केडिंग के लिए इसका उत्कृष्ट समर्थन है। यह तब होता है जब आप दो तालिकाओं को एक कॉलम द्वारा एक साथ जोड़ते हैं, जिससे माता-पिता का संबंध बनता है, इसलिए जब मूल पंक्ति हटा दी जाती है तो आवश्यक बाल पंक्तियां भी स्वचालित रूप से हटा दी जाती हैं।

यहाँ एक उदाहरण है:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
full_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) engine=InnoDB;
CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
userid INT NOT NULL,
amount DECIMAL(8,2) NOT NULL,
product_name VARCHAR(200) NOT NULL,
FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE
) engine=InnoDB;

आप FOREIGN KEY क्लॉज को अंतिम पंक्ति के रूप में देखेंगे। यह पंक्ति केवल यह बताती है कि इस तालिका में चाइल्ड पंक्तियाँ हैं जो द्वारा जुड़ी हुई हैं यूज़र आईडी कॉलम उनकी मूल पंक्ति में, जो है पहचान का स्तंभ उपयोगकर्ताओं टेबल। इसका मतलब यह है कि किसी भी समय एक पंक्ति को हटा दिया जाता है उपयोगकर्ताओं तालिका, mySQL स्वचालित रूप से सभी संबंधित पंक्तियों को हटा देगा आदेश तालिका आपके डेटाबेस के भीतर संरचनात्मक अखंडता सुनिश्चित करने में मदद करती है।

यह भी ध्यान दें इंजन = InnoDB उपरोक्त कथन के अंत में। हालाँकि InnoDB अब डिफ़ॉल्ट mySQL तालिका प्रकार है, यह हमेशा नहीं था, इसलिए इसे केवल सुरक्षित पक्ष पर रहने के लिए जोड़ा जाना चाहिए, क्योंकि कैस्केडिंग केवल InnoDB तालिकाओं के साथ काम करता है।

आईफोन 7 आईट्यून्स द्वारा मान्यता प्राप्त नहीं है

विश्वास के साथ डिजाइन

अब आप ठोस, अच्छी तरह से संरचित mySQL डेटाबेस स्कीमा को तैयार करने के अपने रास्ते पर हैं। उपरोक्त ज्ञान का उपयोग करके अब आप अच्छी तरह से व्यवस्थित स्कीमा लिख ​​सकते हैं जो प्रदर्शन और संरचनात्मक अखंडता दोनों प्रदान करते हैं।

अपने स्कीमा के साथ, सुनिश्चित करें कि आप जानते हैं कि इनका उपयोग कैसे करना है आवश्यक एसक्यूएल कमांड .

साझा करना साझा करना कलरव ईमेल SQL जॉइन के साथ एक साथ कई डेटाबेस टेबल्स को कैसे क्वेरी करें

प्रश्नों को सुव्यवस्थित करने, समय बचाने और आपको SQL पावर उपयोगकर्ता की तरह महसूस कराने के लिए SQL जॉइन का उपयोग करना सीखें।

आगे पढ़िए
संबंधित विषय लेखक के बारे में मैट डिज़ाकी(18 लेख प्रकाशित) मैट डिज़ाकी की और फ़िल्में या टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें