एस क्यू एल मध्ये डेटाबेस आणि सारण्या तयार करणे

डेटाबेस तयार करणे

आपण स्ट्रक्चर्ड क्वेरी भाषासह डेटाबेस आणि सारण्या तयार करण्यास तयार आहात का? या लेखात आपण CREATE DATABASE आणि TABLE कमांड्स तयार करुन स्वतः टेबल बनवण्याची प्रक्रिया शोधू. जर आपण एस क्यू एल वर नवीन आहात, तर आपण प्रथम आमच्या एस क्यू एल मूलभूत लेखांचे पुनरावलोकन करू शकता.

व्यवसाय आवश्यकता

कीबोर्डवर बसण्यापूर्वी आपण याची खात्री करणे आवश्यक आहे की ग्राहकांच्या गरजा समजून घेणे आम्हाला शक्य आहे. ही अंतर्दृष्टी मिळविण्याचा सर्वोत्तम मार्ग कोणता आहे? अर्थातच ग्राहकांशी बोलणे! XYZ च्या मानव संसाधन संचालकाच्या खाली बसल्या नंतर, आम्ही शिकलो की ते विजेट विक्री कंपनी आहेत आणि त्यांच्या विक्री कर्मचा-यांवरील माहितीचा मागोवा ठेवण्यात प्रामुख्याने रस आहे.

एक्सवायझेड कॉर्पोरेशन त्यांच्या विक्री बलांना पूर्व व पश्चिम भागामध्ये विभाजित करते, त्यातील प्रत्येकी वैयक्तिक विक्री प्रतिनिधींनी व्यापलेल्या अनेक प्रदेशांमध्ये विभागले आहे. मनुष्यबळविभागाचे विभाग प्रत्येक कर्मचा-यांच्या व त्याचप्रमाणे प्रत्येक कर्मचार्याच्या वेतन माहिती आणि पर्यवेक्षी संरचनेचा मागोवा घेईल. या आवश्यकतांची पूर्तता करण्यासाठी, आम्ही या पृष्ठावरील अस्तित्व-नातेसंबंध आकृतीमध्ये दर्शविलेल्या तीन टेबला असलेली एक डेटाबेस तयार केली आहे.

एक डेटाबेस प्लॅटफॉर्म निवडणे

आम्ही स्ट्रक्चर्ड क्वेरी लैंग्वेज (SQL) वर तयार केलेली डेटाबेस व्यवस्थापन प्रणाली (किंवा डीबीएमएस) वापरण्याचे ठरविले आहे. म्हणूनच, आमचे सर्व डेटाबेस आणि टेबल निर्मिती आज्ञा मानक एएनएसआय एस क्यू एल मध्ये लिहिल्या पाहिजेत.

एएनएसआय-कॉम्यंटल एस क्यू एलचा वापर करून एक अतिरिक्त बेनिफिट म्हणून, हे कमांड डीबीएमएस वर कार्य करेल जे एसक्यूएल मानक समर्थित करेल , ज्यामध्ये ओरेकल आणि मायक्रोसॉफ्ट एस क्यू एल सर्व्हर असेल. आपण अद्याप आपल्या डेटाबेससाठी प्लॅटफॉर्म न निवडल्यास, डेटाबेस डेटाबेस पर्याय आपल्याला निवड प्रक्रियेद्वारे चालते.

डेटाबेस तयार करणे

आमचे प्रथम चरण आहे डेटाबेस स्वतःच तयार करणे. अनेक डाटाबेस मॅनेजमेंट सिस्टम्स या चरणात डाटाबेस पॅरामीटर्स कस्टमाईज करण्यासाठी अनेक पर्याय देतात, परंतु आपला डाटाबेस डेटाबेसच्या सोप्या निर्मितीला परवानगी देतो. आमच्या सर्व आदेशांप्रमाणेच, आपल्या डीबीएमएसच्या दस्तऐवजीकरणाचा आपल्या विशिष्ट समस्येस अनुकूल असलेली कोणतीही प्रगत मापदंड आपल्या गरजा पूर्ण करेल किंवा नाही हे निर्धारित करण्याची आपली इच्छा असेल. आपल्या डेटाबेसची स्थापना करण्यासाठी CREATE DATABASE कमांड वापरु.

डेटाबेस कर्मचा-तयार करा

वरील उदाहरणामध्ये वापरल्या जाणार्या कॅपिटल अक्षरावर विशेष लक्ष द्या. "कर्मकांड" डेटाबेस नावाने वापरकर्ता-परिभाषित नावांसाठी सर्व लोअरकेस अक्षरे वापरताना "CREATE" आणि "DATABASE" सारख्या एस क्यू एल कीवर्डसाठी सर्व कॅपिटल अक्षरे वापरण्यासाठी एस क्यू एल प्रोग्रामरमध्ये ही सामान्य पद्धत आहे या अधिवेशने सुलभ वाचनीयता प्रदान करतात.

आपण आपल्या डाटाबेससाठी टेबल बनवण्याबद्दल हे ट्यूटोरियल वाचू.

अधिक शिकणे

आपण स्ट्रक्चर्ड क्वेरी भाषेबद्दल अधिक जाणून घ्यायचे असल्यास, SQL चे परिचय वाचा किंवा आमच्या विनामूल्य शिक्षण एस क्यू एल ई-मेल अभ्यासक्रमांसाठी साइन अप करा.

आता आपण डिझाईन केले आहे आणि आमचे डेटाबेस तयार केले आहे, आम्ही एक्सवायझेड कॉर्पोरेशनच्या कर्मचा-यांकडे साठवण्याकरता तीन टेबल्स तयार करण्यास तयार आहोत. आपण या ट्युटोरियलच्या मागील भागात डिज़ाइन केलेले टेबल्स अंमलात आणणार आहोत.

आमचे पहिले टेबल तयार करणे

आमच्या प्रथम टेबलमध्ये आमच्या कंपनीच्या प्रत्येक कर्मचाऱ्यासाठी वैयक्तिक डेटा असतो आम्हाला प्रत्येक कर्मचार्याचे नाव, पगार, ओळखपत्र आणि व्यवस्थापक समाविष्ट करणे आवश्यक आहे. भविष्यात डेटा शोधणे आणि क्रमवारी करणे सोपे करण्यासाठी वेगवेगळ्या क्षेत्रातील शेवटच्या व आडनावांना वेगळे करणे ही चांगली रचना प्रथा आहे. तसेच, आम्ही प्रत्येक कर्मचार्याच्या कर्मचा-याच्या व्यवस्थापक व्यवस्थापकाच्या कर्मचारी आयडीला संदर्भ घालून प्रत्येक कर्मचारी व्यवस्थापकाचा मागोवा ठेवू. प्रथम आपण इच्छित कर्मचार्याची टेबल पहा

ReportsTo विशेषता प्रत्येक कर्मचार्यासाठी व्यवस्थापक ID संचयित करते. दर्शविलेल्या नमुना रेकॉर्डमधून, आम्ही हे ठरवू शकतो की सु स्कॅपी टॉम केंडल आणि जॉन स्मिथ दोघांचे व्यवस्थापक आहेत. तथापि, सुच्या व्यवस्थापकावर डेटाबेसमध्ये कोणतीही माहिती नाही, जसे तिच्या ओळीत रिक्त प्रवेशाद्वारे निर्देशित केले आहे .

आता आपण आपल्या कर्मचारी डेटाबेसमध्ये टेबल तयार करण्यासाठी एस क्यू एल वापरू शकतो. तसे करण्यापूर्वी, यू.एस.ई. कमांड देऊन आपण योग्य डेटाबेसमध्ये असल्याचे सुनिश्चित करूया:

USE कर्मचारी;

वैकल्पिकरित्या, "डेटाबेझ कर्मचा;" आदेश समान कार्य करेल. आता आपण आपल्या कमेंट टेबलची रचना करण्यासाठी वापरलेली SQL कमांड बघू शकतो:

सारणी कर्मचार्यांची निर्मिती करा (कर्मचारी करणाचे नाव नाही, शेवटचे नाव VARCHAR (25) नल नाही, प्रथम नाव VARCHAR (25) नाही, अहवालाचा निष्कर्ष काढून टाका);

वरील उदाहरणाप्रमाणे, लक्षात ठेवा की प्रोग्रामिंग कॉनेंशन असे दर्शविते की आम्ही एस क्यू एल कीवर्डसाठी सर्व कॅपिटल अक्षरे आणि युजरनेमित कॉलम्स आणि टेबलसाठी लोअरकेस अक्षरे वापरतो. उपरोक्त आदेश प्रथम वेळी गोंधळात टाकणारे वाटू शकते, परंतु प्रत्यक्षात त्याच्या मागे एक साधे रचना आहे. येथे एक सामान्यीकृत दृश्य आहे ज्यामुळे गोष्टी थोडी कमी होऊ शकतात:

सारणी टेबल_नाव तयार करा (विशेषता_नाव डेटा प्रकार पर्याय, ..., विशेषता_नाव डेटा प्रकार पर्याय);

विशेषता आणि डेटा प्रकार

मागील उदाहरणामध्ये, सारणीचे नाव कर्मचारी आहे आणि आम्ही चार वैशिष्ट्यांचा समावेश करतो: कर्मचारी, शेवटचे नाव, प्रथम नाव आणि अहवाल. डेटाटाईप प्रत्येक प्रकारात आपण कोणत्या प्रकारच्या माहिती साठवायची इच्छा करतो हे दर्शविते. कर्मचारी आयडी एक साधारण पूर्णांक संख्या आहे, म्हणून आम्ही कर्मचारी फील्ड आणि रिपोर्टस्टोअर क्षेत्रासाठी INTEGER डेटाटाईप वापरू. कर्मचारी नावे व्हेरिएबल लांबीच्या वर्ण स्ट्रिंग असतील आणि आम्ही कोणत्याही कर्मचार्याला 25 वर्णांपेक्षा प्रथम किंवा आडनाव असणे अपेक्षित नाही अशी अपेक्षा नाही. म्हणूनच, आम्ही या फील्डसाठी VARCHAR (25) प्रकार वापरू.

NULL मूल्ये

आपण CREATE स्टेटमेंटच्या पर्याय क्षेत्रात NULL किंवा NOT NULL देखील निर्दिष्ट करू शकतो. हे डेटाबेस सांगते की डेटाबेसमध्ये पंक्ति जोडताना त्या गुणधर्मासाठी शून्य (किंवा रिक्त) मूल्य अनुमत आहेत की नाही. आमच्या उदाहरणामध्ये, एचआर विभागासाठी प्रत्येक कर्मचा-यांसाठी कर्मचारी ID आणि पूर्ण नाव संग्रहित करणे आवश्यक आहे. तथापि, प्रत्येक कर्मचा-यावर व्यवस्थापक नसतो - मुख्य कार्यकारी अधिकारी कोणालाही अहवाल देतात! - म्हणून आम्ही त्या फील्डमध्ये NULL प्रविष्ट्यांना परवानगी देतो. लक्षात घ्या की NULL ही डिफॉल्ट व्हॅल्यू आहे आणि हे पर्याय omittingly एखाद्या विशेषतेसाठी NULL व्हॅल्यू ला अनुमती देईल.

उर्वरित टेबल तयार करणे

आता आपण टेरिटरीज टेबलवर एक नजर टाकूया. या डेटावर जलद दृष्टीक्षेपाने असे दिसून येते की आपल्याला पूर्णांक आणि दोन व्हेरिएबल लांबीचे स्ट्रिंग संचयित करण्याची आवश्यकता आहे. आमच्या मागील उदाहरणाप्रमाणे, आम्ही प्रांज्य ID वर 25 वर्णांपेक्षा जास्त वापर करण्याची अपेक्षा करत नाही. तथापि, आमच्या काही प्रदेशांमध्ये बर्याच नावे आहेत, म्हणून आम्ही त्या वैशिष्ट्याच्या अनुमत क्षमतेस 40 वर्णांमध्ये विस्तृत करू. च्या संबंधित एस क्यू एल पाहू:

सार्या प्रदेश तयार करा (निवासी प्रदेश नाही, प्रांत वर्णन वर्णन VARCHAR (40) नाही नील, regionid VARCHAR (25) शून्य नाही);

अखेरीस, कर्मचारी आणि प्रदेशांमधील संबंध संचयित करण्यासाठी आम्ही कर्मचार्यांच्या सारण्यांच्या सारणीचा वापर करु. आमच्या मागील दोन सारण्यांमध्ये प्रत्येक कर्मचारी आणि प्रदेशाची तपशीलवार माहिती संग्रहित केली आहे. म्हणूनच, आपल्याला फक्त या टेबलमधील दोन पूर्णांक संख्या ओळखण्याची गरज आहे. जर आपल्याला ही माहिती विस्तृत करावयाची असेल तर आपण एकापेक्षा जास्त तक्त्यावरून माहिती मिळवण्यासाठी जॉईनचा वापर करू शकतो. डेटा संचयित करण्याची ही पद्धत आमच्या डेटाबेसमध्ये रिडंडन्सी कमी करते आणि आमच्या स्टोरेज ड्राइववर जागा चांगल्या उपयोगासाठी सुनिश्चित करते. भविष्यात ट्युटोरियलमध्ये आपण JOIN कमांडची सखोलता पूर्ण करू. येथे आमच्या अंतिम टेबल अंमलबजावणी करण्यासाठी एस क्यू एल कोड आहे:

सारणी नियोक्त्या तयार करा (employeeid नाही शून्य ठळक, terrified नाही निष्ठुर नसलेला);

तंत्रज्ञानाच्या निर्मितीनंतर एस क्यू एल डेटाबेसची संरचना बदलणे प्रदान करते

आपण आज विशेषतः विश्वासू असल्यास, आपण असे पाहिले असेल की आपल्या डेटाबेस टेबलचा अंमलबजावणी करताना आम्ही "अपघातीपणे" डिझाइनची आवश्यकता सोडली आहे. एक्सवायझेड कॉर्पोरेशनचे एचआर डायरेक्टर यांनी अशी विनंती केली की डेटाबेसचा कर्मचारी कर्मचा-यांकडे माहिती द्यावी आणि आम्ही तयार केलेली डेटाबेस टेबलांमधील माहिती पुरविण्याकडे दुर्लक्ष केले.

तथापि, सर्व गमावले नाही. आपण हे विशेषता आपल्या विद्यमान डेटाबेसमध्ये समाविष्ट करण्यासाठी ALTER TABLE कमांड वापरु शकतो. आम्हाला पगार एक पूर्णांक मूल्य म्हणून संचयित करायचा आहे. सिंटॅक्स CREATE TABLE कमांड सारखीच आहे, हे येथे आहे:

ALTER TABLE कर्मचारी पगार जोडा रद्द करा;

लक्षात घ्या की आम्ही या विशेषतेसाठी NULL व्हॅल्यूज ना परवानगी दिली आहे. बहुतांश घटनांमध्ये, विद्यमान तक्तामध्ये स्तंभ जोडताना कोणताही पर्याय नसतो. हे खरं आहे की टेबलमध्ये आधीपासूनच या वैशिष्ट्यासाठी नोंदणी नसलेली पंक्ती आहे. म्हणून, डीबीएमएस आपोआप रिकामा भरण्यासाठी एक शून्य मूल्य समाविष्ट करते.

आणि SQL डेटाबेस आणि टेबल तयार करण्याच्या प्रक्रीयेवर आमचे रुपांतर होते. आमच्या एस क्यू एल ट्युटोरियल मालिकेत नवीन हप्त्यांमध्ये वारंवार तपासा. जर आपण ई-मेल रिमाइंडर आवडत असाल तर नवीन लेख बद्दल डेटाबेस साइटवर जोडले जातात, आमच्या न्यूझलेटरची सदस्यता घ्या.