You are on page 1of 18

Programmer

Rajasthan Public Service Commission

Volume 1
राजस्थान का सामान्य ज्ञान
Index

1. Data Base Management System 1


2. Data Communication and Computer 51
Network
3. System Analysis and Design 111

4. Programming Concepts 144


Database Management System
An overview of the Database management
• डाटाबेस, सूचनाओं (या डाटा) का एक ऐसा व्यवस्थित संग्रह (Organized Collection) होता है , जिससे हम जकसी भी
सूचना को सरलता से प्राप्त कर सकते हैं ।
• डाटाबेस व्यवस्थित इसजलए होता है , क्ोंजक इसमें जकसी भी डाटा या सूचना को एक जनजित थिान पर पहले से तय जकए
हुए रूप में रखा िाता है , ताजक कभी भी आवश्यकता पड़ने पर उसे आसानी से ढू ूँ ढकर दे खा िा सके।

व्यवस्थित डाटाबे स में हमें निम्ननिस्ित कार्य की सु नवधा होती है -


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

डाटा (Data) - जकसी वस्तु , व्यस्ि या समू ह के बारे में जकसी तथ्य अिवा िानकारी को डाटा (Data) कहा िाता है । जकसी
व्यस्ि का नाम, जकसी वस्तु का विन तिा मूल्य, जकसी कक्षा के जवद्याजिय यों की उम्र आजद ये सभी डाटा के उदाहरर् हैं ।

सूचिा (Information) - िब जकसी डाटा को सािय क तिा उपयोगी बनाने के जलए संसाजधत, व्यवस्थित, संरजचत जकया िाता
है , तो उसे हम सूचना कहते हैं ।
उदाहरर् के जलए एक कक्षा का औसत स्कोर एक सूचना है , िोजक उस कक्षा के जवद्याजिययों के स्कोर से जनकाला िा सकता है ।
संक्षेप में , डाटा डाटाबेस में स्टोर मू ल्यों को सन्दजभय त (Refer) करता है , िबजक सूचना उन मूल्यों से जनकाले गए जनष्कर्य या अिय
को सन्दजभय त करती है ।

डाटाबे स एब्सटर े क्शि (Database Abstraction) - डाटाबेस जसस्टम उपयोगकताय कों को केवल उनकी आवश्यकतानु सार
डाटा उपलब्ध करवाता है और मे मोरी में कैसे डाटा संग्रजहत और प्रबंजधत होता है जक िानकारी छु पाता है । यह
अवधारर्ा/प्रजकया डाटाबेस एब्सटर े क्शन कहलाती है ।

डाटाबे स मैिेजमेंट नसस्टम आनकयटे क्चर (Database Management System Architecture)


डाटाबेस मै नेिमें ट जसस्टम जि - स्तरीय (three tier) स्कीमा आजकयटे क्चर (Schema architecture) को जनरूजपत (describe)
करता है । इसमें तीन सतह/स्तर (Levels) होते हैं । ये जनम्नजलस्खत हैं -

1
1. Physical Level अिवा Internal Level - यह जनरूजपत करता है जक डाटाबेस में डाटा कैसे स्टोर होता है ? यह
abstraction का सबसे जनचला सतह/स्तर (lowest level) है ।
2. Conceptual अिवा Logical Level - Conceptual abstraction का अगला ऊूँचा ले वल (next higher level) है ।
यह सतह/स्तर (level) जनरूजपत करता है जक डाटाबेस में क्ा डाटा स्टोर रहता है और उनके मध्य क्ा सम्बन्ध
(relationship) है ? यह डाटाबेस प्रबन्धक (Database administrator) का कायय होता है ।
3. External अिवा View Level - ज्यादातर डाटाबेस उपयोगकताय (user) पूरे डाटाबेस का उपयोग नहीं करते हैं ले जकन
उसका कुछ भाग ही पढ़ते हैं। इसजलए वे उस भाग के view level को उपलब्ध कराते हैं । यह abstraction का सबसे
उच्चतम सतह/स्तर (highest level) है । यह जकसी जवजिष्ट ग्रुप के उपयोगकताय (user) के जलए डाटाबेस के एक भाग को
जनरूजपत करता है ।

डाटाबेस के प्रकार (Types of Database)


डाटाबेस मु ख्य रूप से तीन प्रकार का होता है , िो जक जनम्नजलस्खत हैं -
1. Network Database - इस प्रकार के डाटाबेस में डाटा को ररकॉडय के रूप में दिाय या िाता है और डाटा के बीच संबंध
जलं क के रूप में दिाय या िाता है ।

2. Hierarchical Database - इस तरह के डाटाबेस में डाटा को इसके साि टर ी स्टर क्चर (पैरेंट चाइल्ड) के रूप में व्यवस्थित
जकया िाता है । नोड् स जलं क के माध्यम से िु ड़े हुए हैं ।

3. Relational Database - इस डाटाबेस को स्टर क्चरल डाटाबेस के रूप में भी िाना िाता है । जिसमें डाटा टे बल्स के रूप
में संग्रहीत होता है । िहाूँ स्तं भ (Column) और पंस्ियों (Rows) में संग्रजहत जकया िाता है ।

2
डाटाबेस नसस्टम सं रचिा (Database System Structure)
डाटाबेस जसस्टम को मॉड्यूल (Modules) में जवभाजित जकया गया है तिा हर मॉड्यू ल पर System Control से सम्बस्न्धत
जिम्मेदारी होती है । Database System को जियाओं के अनु रूप दो भागों में जवभाजित जकया गया है -
1. स्टोरे ज मैिेजर (Storage Manager)
स्टोरे ि मै नेिर वह module है िो Low Level Data तिा Application Programs व Queries के मध्य पारस्पररक
जिया (Interaction) करता है । स्टोरे ि मै नेिर डाटा के Relational व अद्यतन (updation) के जलए उत्तरदायी होता है ।
स्टोरे ि मै नेिर में जनम्न अवयव होते हैं -
a. Authorization and integrity Manager - इसमें डाटा की पूर्यता वाली िते (integrity Constraints) तिा
उपयोगकताय (users) की अजधकाररता (authority) को भी सुजनजित जकया िाता है ।
b. Transaction Manager - यह Database की consistency के जलये उत्तरदायी होता है तिा Transaction को
लगातार जबना व्यवधान जनष्पाजदत (execute) करने का कायय भी करता है ।
c. File Manager - इसके द्वारा मे मोरी में थिान व डाटा स्टर क्चर को प्रदजिय त जकया िाता है ।
d. Buffer Manager - डाटा को मु ख्य मे मोरी में लाने के जलए उत्तरदायी होता है ।
स्टोरे ि मै नेिर के द्वारा जवजभन्न Data Structure को Implement जकया िाता है -
o Data files - जिसमें डाटा Store रहता है ।
o Data Dictionary - जिसमें डाटा के बारे में डाटा को रखा िाता है ।
o Indices - इससे डाटा को त्वररत प्राप्त जकया िा सकता है ।
2. क्वेरी प्रोसेसर (Query Processor)
• DDL Interpreter- िो DDL जनदे िों को interpret करता है तिा उन जनदे िों की पररभार्ा को Data Dictionary
में संधाररत करता है ।
• DML Compiler- िो DML जनदे िों को Low-level instruction में पररवजतयत करने का कायय करता है ।
• Query Evaluation Engine - िो DML Compiler द्वारा पररवजतयत Low-level जनदे िों को execute करने का
कायय करता है ।

कम्प्यूटरीकृत डाटाबे स की आवश्यकता (Need of Computerized Database) - हाि से बनाए गए डाटाबेस


सी समस्याएूँ होती हैं िै से जक-में बहुत (हस्तचाजलत डाटाबेस)-
• नया डाटा िोड़ने की समस्या।
• डाटा को बदलने की समस्या।
• डाटा को अपनी ितों के अनुसार प्राप्त करने की समस्या आजद।

3
इन सभी समस्याओं को दू र करने के जलए कम्प्यूटरीकृत डाटाबेस का जनमाय र् जकया गया। इसमें सभी सूचनाएूँ कम्प्यूटर पर
रखी िाती है और कम्प्यूटर की सहायता से ही उनका रख-रखाव तिा प्रोसेजसंग की िाती है । कम्प्यूटर पर डाटाबेस बनाने की
कई प्रोसेजसंग की िाती है । कम्प्यूटर पर डाटाबेस बनाने के कई कारर् हैं , िो जनम्नजलस्खत हैं –
1. कम्प्यूटर पर बड़े आकार का डाटाबेस सरलता से बनाया िा सकता है , क्ोंजक उसमें डाटा को संग्रजहत करने की क्षमता
अजधक होती है ।
2. कम्प्यूटर की कायय करने की गजत तेि होने के कारर् जकतने भी बड़े डाटाबेस में से कोई भी इस्ित सूचना जनकालना और
डाटाबेस पर जवजभन्न जियाएूँ करना आजद कायय बहुत कम समय में ही सम्पन्न हो िाते हैं । इतना ही नहीं तेि गाजत के कारर्
उस पर कोई लम्बीचौड़ी ररपोटय जनकालना और छापना- जमनटों का कायय होता है ।
3. इसमें हस्तचाजलत (Manual) डाटाबेस की तुलना में बहुत कम खचय लगता है ।

डाटाबे स के अवर्व (Components of Database) - एक डाटाबेस जवजभन्न प्रकार के अवयवों से जमलकर बना होता है ।
डाटाबेस का प्रत्येक अवयव ऑब्जेक्ट (object) कहलाता है ।
प्रत्येक डाटाबेस िाइल में आप अपने डाटा को जवजभन्न सारजर्यों (Tables) में जवभाजित कर सकते हैं । िॉमय (Form) के माध्यम
से सारर्ी के डाटा को दे ख सकते हैं । नया डाटा िोड़ सकते हैं तिा अपडे ट (Update) भी कर सकते हैं । क्वेरे ि (Queries) के
माध्यम से आवश्यकतानु सार सारजर्यों में से डाटा को खोि सकते हैं तिा पुनः प्राप्त कर सकते हैं और ररपोटय (Report) के
माध्यम से डाटा का जवश्लेर्र् (Analyses) तिा डाटा को एक जविे र् ले आउट (layout) में जप्रन्ट कर सकते हैं ।

डाटाबे स के अवर्वों का नवस्तारपूवयक वर्यि निम्ननिस्ित हैं -


1. सारर्ी (Table) - सारर्ी, स्तम्भ तिा पंस्ियों के कटाव से बने सैल (Cells) से जमलकर बनी होती है , यही सेल सारजर्यों
में डाटा को स्टोर करने के जलए प्रयोग की िाती है ।
इन सारजर्यों पर जवजभन्न प्रकार के ऑपरे िन, िै से जक डाटा को स्टोर करना, जनस्पन्दन (Filtering) करना, पुनः प्राप्त
करना, डाटा का सम्पादन करना आजद जकए िा सकते हैं । मु ख्य रूप से, सारर्ी िील्ड तिा ररकॉडय से जमलकर बनी होती
है जिनका जववरर् जनम्नजलस्खत हैं –
(i) फील्ड (Field) - सारर्ी के प्रत्येक स्तम्भ को िील्ड कहते हैं । प्रत्येक िील्ड का एक जनजित नाम होता है , जिसमे उसे
पहचाना िाता है । प्रत्येक िील्ड का नाम उस िील्ड में स्टोर होने वाले डाटा के प्रकार को बताता है । उदाहरर् के
जलए जवद्यािी का नाम, िहर, दे ि, टे लीिोन नम्बर आजद िील्ड के नाम हो सकते हैं ।
(ii) ररकॉडय (Record) - सारर्ी की प्रत्येक पंस्ि (row) को ररकॉडय कहा िा सकता है । दू सरे िब्दो में एक ररकॉडय एक
एं जटटी (िै से जक वस्तु , व्यस्ि िाजद) से सम्बस्न्धत सभी िील्डों में उपस्थित डाटा का संग्रह होता है ।
2. क्वरे ज (Queries) - जकसी सारर्ी या डाटाबेस से आवश्यकतानु सार डाटा को जनकालने के जलए िो आदे ि जदया िाता है ,
use क्वेरी कहा िाता है । जकसी क्वेरी के उत्तर में िो सूचनाएूँ या ररकॉडय डाटाबेस से जनकाले िाते हैं , उसे उस क्वेरी का
डायनासेट (Dynaset) कहते हैं ।
3. फॉमय (Forms) - िॉमय आपकी स्क्रीन पर ऐसी जवण्डो होती है , जिसकी सहायता से आप जकसी सारर्ी में भरे गए डाटा
को दे ख सकते हैं , सुधार सकते हैं और नया डाटा िोड़ भी सकते हैं , सामान्यतः िॉमय एक समय पर एक ररकॉडय को दे खने
तिा सुधारने के जलए प्रयोग जकया िाता है ।
4. ररपोटय (Reports) - सरल िब्दों में कोई ररपोटय एक ऐसा डायनासेट है , जिसे कागि पर छापा गया हो, आप जकसी
डायनासेट की सूचनाओं को जकन्ीं आधारों पर समू हबद्ध कर सकते हैं ।

डाटाबेस मै िेजमेंट नसस्टम की नवशेषताएँ (Characteristic of DBMS)


• इसमें डाटा की पुनरावती (redundancy) को जनयंिर् (control) जकया िा सकता है ।
• डाटाबेस मै नेिमें ट जसस्टम में डाटा को साझा जकया िा सकता है ।
• डाटाबेस मै नेिमें ट जसस्टम में सुरक्षा (security) का पूरा ध्यान रखा िाता है ।
• डाटाबेस मै नेिमें ट जसस्टम में प्रोसेजसंग की गजत अिी है ।
• डाटाबेस मै नेिमें ट जसस्टम में डाटा स्वतंि (independent) होता है ।

4
डाटाबेस के अिुप्रर्ोगी क्षेत्र (Application Areas of Database)
डाटाबेस का उपयोग जवजभन्न क्षे िों में जकया िाता है । जिनमें से कुछ जनम्नजलस्खत है -
• बैं नकग के क्षे ि में ग्राहकों की पसयनल सूचना, उनके खातों की सूचना, लोन (Loans) आजद की सूचना रखने के जलए।
जवश्वजवद्यालयों में जवद्याजिय यों की सूचना, उनके अंक, कोसय रजिस्टर े िन की सूचना आजद रखने के जलए।
• एर्रिाइि (Airline) में ररिवेिन (Reservation) तिा काययिम की सूचना आजद के जलए।
• क्रेनडट काडय के ले न-दे न में (Credit-card Transaction) िेजडट काडय के द्वारा खरीदारी तिा माजसक ले न-दे न की ररपोटय
तैयार करने के जलए।
• संचार के क्षे ि में कॉल (Call) की माजसक ररकॉडय रखने के जलए, माजसक जबल बनाने के जलए।
• नवक्रर् (Sale) के क्षे ि में व्याहकों, उत्पादों तिा खरीदारी की सूचना रखने के जलए।
• नवत्तीर् (Finance) क्षे ि में जबिी तिा खरीद के बारे में िानकारी संग्रजहत करने के जलए।
• एच. आर. (Human Resource) के क्षेि में कमय चाररयों, उनके वेतन, टै क्स आजद के बारे में िानकारी संग्रजहत करने के
जलए।

DBMS के िाभ (Advantages of DBMS)


DBMS के कई लाभ हैं - िो जनक्नजलस्खत हैं –
• डाटा के दोहराव में कमी (Reduction in Data Repetition) - अिी तरह व्यवस्थित जकए गए डाटाबेस में सामान्यतः
डाटा का कोई दोहराव नहीं होता। समस्त डाटा को एक िगह रखे िाने के कारर् हर सूचना को केवल एक बार स्टोर
जकया िाता है ।
• डाटा की स्थिरता (Data Consistency) - डाटा के एक ही थिान पर केस्ित (centralized) होने के कारर् डाटा की
स्थिरता बनी रहती है , क्ोंजक उसमें एक ही सूचना के दो मानों की सम्भावना समाप्त हो िाती है । डाटा स्थिर तब होता है
िब डाटा दो िगह रखा गया हो और केवल एक िगह सुधारा गया हो।
• डाटा की साझे दारी (Data Sharing) - डाटा की साझेदारी करके एक समय पर कई प्रोग्राम डाटा का प्रयोग कर सकते हैं ।
जिससे प्रोग्रामों को अपना डाटाबेस तैयार करने की आवश्यकता नहीं होती और बहुत-सा समय और पररश्रम बच िाता है ।
• डाटा की सुरक्षा (Security of Data) - डाटाबेस प्रबन्धन प्रर्ाली (DBMS) डाटा को जनजर्द्ध उपयोगकताय ओं (banned
users) तिा अवैध पररवतयन (invalid change) से बचाता है । यह केवल अजधकृत उपयोगकताय ओं (authorized users)
को डाटा का प्रयोग करने की अनु मजत प्रदान करता है ।
• डाटा की सम्पू र्यता (Data Integrity) - डाटा की सम्पू र्यता, डाटा की समय पूर्यता (Overall Completeness),
सटीकता (Accuracy) तिा जनरन्तरता (Consistency) को सन्दजभय त करती है । यह एक डाटा ररकॉडय के दो अपडे ट्स
(Updates) के बीच पररवतयन के अभाव को दिाय ता है । यह दिाय ता है जक डाटाबेस में स्टोर डाटा जबल्कुल सही है और
नवीनतम है ।

DBMS की सीमाएँ (Limitation of DBMS)


DBMS के कई लाभ हैं , ले जकन साि ही इसकी कुछ सीमाएूँ भी हैं िो जनम्नजलस्खत हैं -
• हाडय वेर्र और सॉफ्टवे र्र की िागत (Cost of Hardware and Software) - सॉफ्टवेयर को चलाने के जलए डाटा
को तीव्र गजत से प्रोसेस करने वाले प्रोसेसर (Processor) और अजधक क्षमता वाली मे मोरी (Memory) की आवश्यकता
होती है , जिनकी लागत अजधक होती है ।
• कनििता (Complexity) - एक डाटाबेस प्रबन्धन प्रर्ाली (DBMS) के अिे कायय करने की क्षमता की पूवय-कल्पना
करना उस DBMS सॉफ्टवेयर को कजिन बना दे ती है । डाटाबेस प्रबन्धन प्रर्ाली को समझने की जविलता एक संगिन
Organization के जलए गम्भीर पररर्ामों का कारर् बन सकती है ।
• कमयचाररर्ों के प्रनशक्षर् की िागत (Cost of Staff Training) - अजधकतर DBMS सॉफ्टवेयर अत्यन्त िजटल
(complex) होते हैं , इसजलए उपयोगकताय ओं को डाटाबेस का प्रयोग करने के जलए एक प्रजिक्षर् दे ने की आवश्यकता होती
है । इस प्रकार, DBMS सॉफ्टवेयर चलाने के जलए संगिन को कमय चाररयों के प्रजिक्षर् के जलए एक बड़ी राजि का भु गतान
करना पड़ता है ।

5
• टे स्िकि स्टाफ की निर्ुस्ि (Appointing Technical Staff) - एक संगिन में डाटाबेस के जलए प्रजिजक्षत टे स्क्नकल
पसयन (Trained Technical Staff) िै से जक डाटाबेस व्यवथिापक (Database Administrator), एप्लीकेिन प्रोग्रामर
(Application Programmers) आजद की आवश्यकता होती है , जिसके जलए संगिन को इन व्यस्ियों को एक अिे वेतन
का भु गतान करना पड़ता है जिससे प्रर्ाली की लागत बढ़ िाती है ।
• डाटाबे स की नवफिता (Database Failure) - अजधकां ि संगिन में सभी डाटा एक ही डाटाबेस में एकीकृत होता है ।
यजद पावर बन्द हो िाने के कारर् डाटाबेस जविल हो िाता है या डाटाबेस स्टोरे ि जडवाइस पर ही जविल (Fail) हो िाता
है । तब हमारा सभी मू ल्यवान (Valuable) डाटा लु प्त (Loss) हो सकता है या हमारी पूरी प्रर्ाली बन्द हो सकती है ।

ररिेशिि डाटाबे स (Relational Database) - ररले िनल डाटाबेस में डाटा को जद्व आयामी सारजर्यों (2-Dimensional
Tables) के रूप में संग्रजहत जकया िाता है । इन सारजर्यों को ररले िन (Relation) भी कहा िाता है । ररलेिन डाटाबेस के रख-
रखाव के जलए ररलेिनल डाटाबेस प्रबन्धान प्रर्ाली (Relational Database Management System-RDBMS) की
आवश्यकता होती है । RDBMS, DBMS का ही एक प्रकार है। ररलेिनल डाटाबेस की मु ख्य जविे र्ता यह है जक एकल डाटाबेस
में एक से अजधक सारजर्यों को संग्रजहत जकया िा सकता है और ये सारजर्याूँ आपस में सम्बस्न्धत होती हैं ।

सम्बस्ित पदाविी (Related Terminology)


1. ररिेशि (Relation) - ररले िन के अन्तगय त एक टे बल (Table) तैयार की िाती है िो एक जसक्वेस्शियल िाइल को जनरूजपत
करती है , जिसमें टे बल की पंस्ियाूँ (Rows) िाइल के ररकॉडय को इं जगत करती हैं एवं स्तम्भ (Column) ररकॉडय के िील्ड को
दिाय ता है । ये टे बल्स ररले िन ही होते हैं । ररले िन को उच्च स्तरीय िाइल्स के रूप में समझा िाता है , –
• प्रत्येक ररले िन में एक ही तरह के ररकॉडय होते हैं ।
• जकसी जदए गए ररले िन में प्रत्येक ररकॉडय के िील्डों की संख्या समान होती हैं ।
• प्रत्येक ररकॉडय का एक अलग पहचानने वाला (identifier) होता है ।
• ररले िन के अन्दर ररकॉडय जकसी जविे र् िम में व्यवस्थित होते हैं ।

इसके जलए जनम्नजलस्खत उदाहरर् पर जवचार कीजिए -


Relation - Part
P# P Name Colour Weight City
P1 Nut Red 12 London
P2 Bolt Green 15 Paris
P3 Screw Blue 18 Rome
P4 Screw Red 14 London
P5 Cam Blue 19 Paris

2. ट्यू पि (Tuple) - ररले िन में प्रत्येक ररकॉडय को ट्यूपल कहा िाता है । उदाहरर् के जलए, जदए गए ररले िन Parts में पाूँ च
ट्यूपल हैं । उनमें से एक ट्यूपल (P2, Bolt, Green, 15, Paris) है िो एक Part के जवर्य में एक जविे र् सूचना है ।
3. एनटर ब्यूट (Attribute) - ररलेिन के सन्दभय में प्रत्येक कॉलम (िील्ड) को एजटर ब्यूट कहते हैं । उदाहरर् के जलए, जदए गए
ररले िन Parts में पाूँ च एजटर ब्यूट्स (P4, P Name, Colour, Weight, City) हैं । जिनमें से प्रत्येक कॉलम एक Part के जवर्य
में सूचना प्रदान करता है ।
4. डोमेि (Domain) - ररले िन के सन्दभय में डोमे न मानों का एक समू ह होता है जिससे जकसी कॉलम में जदए गए वास्तजवक
मानों को व्यु त्पन्न जकया िा सकता है ।
उदाहरर् के जलए, हम जनम्न ररले िन पर जवचार कर सकते हैं ।
Relation – S
S# S Name Status City
S1 Amar 30 Paris
S2 Mohan 20 New Delhi
S3 Ram 10 London

6
Relation – P
P# P Name Status Quantity
P1 Nut 12 A
P2 Bolt 15 B
P3 Screw 25 C

C Relation – SP
P# S# Quantity
P1 S1 300
P2 S2 400
P3 S3 200
P2 S2 300
P1 S1 200

यहाूँ SP टे बल के P# कॉलम में िो मान जदए गए हैं उन्ें P टे बल से व्यु त्पन्न जकया गया है एवं SP टे बल के S# कॉलम में िो मान
जदए गए हैं उन्ें S टे बल से व्युत्पन्न जकया गया है । अतः यहाूँ टे बल P एवं टे बल S एक डोमेन के रूप में हैं , जिनसे P# एवं S#
मानों को व्यु त्पन्न कर एक SP टे बल तैयार जकया गया है ।

5. कानडय िैनिटी (Cardinality) - ररले िन के सन्दभय में ट्यूपल ररकॉ)ड्य स की कुल संख्या को काजडय नैजलटी कहते हैं । अतः (
ऊपर वजर्यत उदाहरर् के जलए ररले िन P की काजडय नैजलटी 3, S की 3 एवं SP की 5 है ।
6. नडग्री (Degree) - ररलेिन के सन्दभय में एजटर ब्यूट की कुल संख्या को ररले िन की (िील्ड या कॉलम)जडग्री कहते हैं । अतः
ऊपर जदए गए उदाहरर् में ररले िन P की जडग्री 4, S की 4 एवं SP की 3 है ।

ररिेशि डे टाबे स की (Relational Data base keys)


एक Relational Database में , सभी डे टा को टे बल में रखा िाता है , िो पंस्ियों और स्तं भों से बने होते हैं । प्रत्येक टे बल में
एक या अजधक Column होते हैं और प्रत्येक Column को एक जवजिष्ट डे टा प्रकार जदया िाता है , िै से- integer number, a
sequence of characters (for text), or a date आजद । टे बल में प्रत्येक पंस्ि में प्रत्येक कॉलम के जलए एक मान होता है ।

Relational Database key के प्रकार


1. प्राइमरी की (Primary Key)
Primary Key, जिसे प्राईमरी कीवडय भी कहा िाता है। यह ररले िनल डे टाबेस टे बल में एक Column है िो प्रत्येक ररकॉडय
के जलए अजद्वतीय (Unique) है । यह एक unique identifier है , िै से डराइवर का लाइसेंस नं बर, क्षे ि कोड वाला टे लीिोन
नं बर या वाहन पहचान संख्या (वीआईएन) । एक relational database में केवल एक प्राईमरी - की होनी चाजहए। डे टा
की प्रत्येक पंस्ि में एक प्राईमरी की मान होना चाजहए और कोई भी प्राईमरी - की में पंस्ि का मान Null नहीं हो सकता।
एक Primary Key एक टे बल में एक िील्ड है िो जवजिष्ट रूप से डे टाबेस टे बल में प्रत्येक पंस्ि / ररकॉडय की पहचान
करती है ।
प्रािजमक कुंिी (Primary Key) के मु ख्य लाभ जनम्नजलस्खत हैं -
(i) अजद्वतीय डे टा की पहचान करने में मदद करता है , िै से Customer ID आजद ।
(ii) टे बल में ररकॉड्य स के दोहराव को रोकता है ।
(iii) केवल जवजिष्ट ररकॉडय को अपडे ट करने या हटाने में मदद करता है ।
(iv) एक Primary Key कॉलम में NULL मान नहीं हो सकते।
(v) एक टे बल में केवल एक Primary Key हो सकती है , जिसमें एकल या एकाजधक िील्ड िाजमल हो सकते हैं । िब
Primary Key के रूप में कई Fields का उपयोग जकया िाता है , तो उन्ें Composite Key कहा िाता है ।

7
Create Primary Key
CUSTOMER Table में ID Attribute को प्राइमरी की के रूप में पररभाजर्त करने के जलए जसंटैक्स जनम्न प्रकार है ।
CREATE TABLE CUSTOMERS (
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);

Delete Primary Key


CUSTOMER Table में ID Attribute को प्राइमरी - की के रूप में हटाने के जलए जसंटैक्स जनम्न प्रकार से है
ALTER TABLE CUSTOMERS DROP PRIMARY KEY;

2. कन्डीडे ट की (Candidate Key)


एक या एक से अजधक ऐसे एजटर ब्यूट िो डाटाबेस में यूजनक पररभाजर्त होते हैं एवं प्राइमरी की का चुनाव उन्ीं में से जकया
िाता है , वे सभी एजटर ब्यू ट कन्डीडे ट की कहलाते हैं । अिाय त् एक ररले िनल डाटाबेस में , एक Candidate Key एक Single
Column या एक से अजधक Columns का संयोिन हो सकता है , जिसे प्राइमरी - की के रूप में उपयोग जकया िा सकता
है । एक "minimal super key" को Candidate Key कहा िाता है ।
जविे र्ताएूँ
• प्राइमरी - की के जवपरीत Candidate Key का एक NULL मान हो सकता है ।
• Candidate Key प्रािजमक कुंिी हो भी सकती है और नहीं भी ।

3. अल्टरिे ट की (Alternate Key)


Alternate Key या Secondary Keys वह Key है जिसे प्राइमरी - की के रूप में नहीं चुना िा सकता है ले जकन वह
Candidate Key हैं । हालाूँ जक, इसे प्राइमरी - की के जलए Candidate Key माना िाता है ।
प्राइमरी - की के रूप में नहीं चुनी गई Candidate Key को Alternate Key या Secondary Keys कहा िाता है ।
उदाहरर् –
S_ID S_Enroll S Name S Email
071 1115 Garima garima@gmail.com
052 2215 Monika monika@gmail.com
098 4028 Muskan muskan@gmail.com

उपरोि उदाहरण्र में , S_ID, S_ Enroll और S_ Email से सभी Candidate Key हैं। उन्ें Candidate Key माना िाता है
क्ोंजक वे जवजिष्ट रूप से Student Record की पहचान कर सकते हैं । प्राइमरी के रूप में Candidate Key में से जकसी एक
का चयन करें तिा बाकी दो Key Alternate या Secondary Key होंगी ।

4. फोरे ि की (Foreign Key)


यह दो टे बल को आपस में जलं क करता है । एक Foreign Key एक टे बल में एक िील्ड (या िील्ड का संग्रह ) है , िो जकसी
अन्य टे बल में प्राईमरी - की को संदजभय त करती है
Foreign Key वाली टे बल को child table कहा िाता है , और प्राइमरी - की वाली टे बल को referenced या parent
table कहा िाता है ।

फोरे ि - की की नवशेषताएँ निम्ननिस्ित हैं -


• एक टे बल में एक से अजधक िोरे न - की हो सकती हैं ।

8
• Foreign Key Column Null मान स्वीकार करता है ।
• यह एक टे बल में Parent - Child Relationship का संबंध बना सकता है ।
• डु स्प्लकेट मान Foreign Key कॉलम में संग्रजहत जकए िा सकते हैं ।
उदाहरर् -
Persons Table
Person ID Last Name First Name Age
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20

Orders Table
OrderID OrderNumber PersonID
1 77895 3
2 44678 3
3 22456. 2
4 24562 1

ध्यान दें जक "Order" टे बल में "PersonID" कॉलम


"Person" टे बल में "PersonID" कॉलम को इं जगत करता है ।
"PersonID" कॉलम "Person" टे बल में प्राइमरी - की है और "Order"
टे बल में "PersonID" कॉलम एक Foreign Key है ।

ऐंनटटी ररिेशिनशप मॉडि (Entity Relationship Model) - ऐंजटटी ररले िनजिप मॉडल वास्तजवक ऐंजटटी (real-world
entity) और उनके बीच संबंधों की धारर्ा पर आधाररत है । वास्तजवक पररदृश्य को डाटाबेस मॉडल तैयार करते समय, ईआर
मॉडल ऐंजटटी सेट, ररले िन सेट, सामान्य एजटर ब्यूट और कंस्टें ट्स बनाता है ।
ईआर मॉडल संकल्पनात्मक जडिाइन के जलए उपयोग में जलया िाता है । ER मॉडल जनम्न पर आधाररत है -
1. entities और attributes
2. entities के मध्य सम्बन्ध (Relationships)

Entity - ईआर मॉडल में ऐंजटटी में वास्तजवक दु जनया के गुर्ों वाली एजटर ब्यूट होती है । हर एजटर ब्यूट में इसके मानों के समु च्चय
(set) को डोमेन द्वारा पररभाजर्त जकया िाता है । उदाहरर् के जलए एक स्कूल डाटाबेस में छाि एक ऐंजटटी के रूप में होता है।
छाि के जभन्न-जभन्न एजटर ब्यूट िै से - नाम, उम्र , वगय, आजद होते हैं ।

9
ऐंनटटी ररिेशिनशप मॉडि
ररिेशिनशप (Relationship) - एक से अजधक एं जटटी के मध्य ताजकयक (Logical) सम्बन्ध ररले िनजिप कहलाता है । एं जटटी
में संबंध जवजभन्न तरीकों के साि मै प की िाती है । मै जपंग काडीनजलटीि (mapping cardinalities) दो एं जटटी के मध्य सम्बन्धों
की संख्या बताता है ।

मैनपंग काडीिनिटीज (mapping cardinalities) निम्न प्रकार की होती हैं –


1. One to One- Entity A का तत्व )element) अजधक से अजधक के B Entity के एक तत्व से Connected हो तिा B की
एक Entity का तत्व अजधक से अजधक A Entity के एक तत्व से सम्बस्न्धत हो।

वि टू वि ररिेशिनशप में
2. One to Many- Entity के तत्व B Entity के एक से अजधक तत्व से सम्बस्न्धत हो सकते हैं । परन्तु B Entity के तत्व
अजधक से अजधक A Entity के एक ही तत्व से सम्बस्न्धत हो सकते हैं ।

वि टू मैिी ररिेशिनशप
3. Many to One- A Entity के तत्व B Entity के एक ही तत्व से सम्बस्न्धत हो सकते हैं । परन्तु B Entity का एक तत्व एक
A Entity के एक से अजधक तत्व से सम्बस्न्धत हो सकते हैं ।

मेिी टू वि ररिेशिनशप

10
4. Many to Many- A Entity के तत्व B Entity के एक से अजधक तत्व से सम्बस्न्धत हो सकते हैं और B Entity के तत्व भी
A Entity के एक से अजधक तत्व से सम्बस्न्धत हो सकते हैं ।

मेिी टू मेिी ररिेशिनशप

MySQL Introduction
MySQL ,d MkVkcsl izca/ku iz.kkyh gS fd ;g relational MkVkcsl dks izcaf/kr djus ds dke vkrk
gS A ;g vksiu lkslZ lkW¶Vos;j gS A

MySQL Commands

To login (from unix Shell)-


#[mysql dir]/bin/mysql- h hostname - u username - p password
;g Command mu Systems ds fy, gSa tks unix operating system ij dke djrs gS a A

11
Data Base Management System

To login from windows-

mysql dir/bin/mysql.exe- h hostname - u username - p password


;g Command mu Systems ds fy, gSa tks windows, operating system ij dke djrs gS a A

To create a database

mysql > create database (database name)(


name)(
;g Command ,d u;k database cukus ds fy, izz;ksx dh tkrh gSa A ;gk¡ nks keywords dk
iz;ksx fd;k x;k gSa& "create" vkSj "database" vkSj (dataname name) dh txg vkidks vius u,
database ¼tks vki cukuk pkg jgs gS a½ dk uke nsuk gksrk gS A For e.g. ;fn gesa 'basic' uke dk
,d database cukuk gSa rks ge fy[ksaxs A
mysql > create database basic

To list all database on the server-

Mysql > show databases;


;g Command server ij ekStqn lkjs database dh list ns[kus ds fy, iz;ksx dh tkrh gSa A

To Switch to a database

mysql > use [db name]


name]
;g Command fdlh ,d database ls nwljs database ij tkus ds fy, iz;ksx dh tkrh gS ;k ge
;g Hkh dg ldrs gS a fd fdlh database dks iz;ksx djus ds fy, ;g command iz;ksx dh tkrh
gS A ;gk¡ nks keywords dk use fd;k x;k gSa& "use" vkSj "database" tcfd (db name) dh
txg vki ml database dk uke fy[krs gS a tks use djuk pkg jgs gS a A
For. eg. gekjs ikl nks database gS a & "basic" vkSj "advanced" A orZeku esa ge "basic" ij dke
dj jgs gSa A ;fn gesa "advanced" ij dke djuk gSa rks ge command nsaxs&
mysql > use advance

12
Data Base Management System

To see all the tables in the database-

mysql > show tables;


;g Command fdlh database esa ekStwn lkjh tables dh list ns[kus ds fy, dh tkrh gS A bl
Command ds }kjk vkidks ml database esa ekStwn lkjh tables fn[kkbZ nsaxh ftl database ij
vki orZeku esa gS A

To Create a table-

mysql > create table table name (column name data type (size), column name data
type (size), ------)
For e.g.:
mysql > create table student (name varchar (50), Age int (10), roll-no. int (12),
address varchar (100);
;g Command fdlh database ds vanj ,d ubZ tables create djus ds fy, iz;ksx dh tkrh gS A
Åij tks mnkgj.k fn;k gSa mlesa geus student uke dh ,d table cuk;h gSa ftlesa pkj fields gS &
a
name- ftldk size 50 gSa vkSj MkVk type varchar gS A
age- ftldk size 10 gSa vkSj datatype int gS A
roll-no- ftldk size 12 gSa vkSj datatype int gS A
address- ftldk size 100 gSa vkSj datype varchar gS A

To see table's field formats-

mysql > describe [table name]


name];
;g command fdlh ,d particular table dh details ns[kus ds fy, ç;ksx dh tkrh gS A blesa
,d keyword dk use fd;k x;k gSa ftldk uke gS & "describe" vkSj [table name] name] dh txg
vki ml table dk uke fy[ksaxs ftl table dh detail vki ns[kuk pkg jgs gS a A
tsls & ge fdlh table dh detail ns[kuk pkg jgs gS a ftldk uke 'basic' gSa rks ge command
fy[ksaxs &
describe basic;

13
Data Base Management System

To delete a database:-

mysql > drop database [database name]


name]-
bl command dk use fdlh ,d particular database dks delete djus ds fy, fd;k tkrk gS  A
blesa nks keywords & "drop" vkSj "database" dk ç;ksx fd;k x;k gSa vkSj [database name]
name]
dh txg vki ml database dk uke fy[ksaxs ftls vki delete djuk pkg jgs gS a A
tsls & gekjs ikl "company" uke dk ,d database gSa ftls ge delete djuk pkg jgs gS a rks
ge command nsaxs &
drop database company;

To delete a table-

mysql > drop table [table name]


name];
;g dekaM fdlh table dks delete djus ds fy, ç;ksx dh tkrh gS  A blesa nks keywords&"drop" vkSj
keywords&
"table" gS a vkSj (table name) dh txg ml table dk uke vkrk gSa ftls delete djuk gksrk gS  A
tSls vxj gesa 'basic' uke dh dksbZ table delete djuh gks rks ge fy[ksaxs &
drop table basic;

To empty a table-

truncate table [table name]


name];
;g command fdlh table dks [kkyh djus ds fy, ç;ksx dh tkrh gSa A ;kuh bl command ds
}kjk table ds vanj dk lkjk data delete gks tkrk gSa A

To show all data from a table-

mysql > select * from [table name]


name];
fdlh ,d particular table ds vanj dk lkjk data show djus ds fy, bl command dk ç;ksx
djrs gS a A tsls & vxj gesa 'basic' uke dh table dk lkjk data ns[kuk gks rks ge fy[ksaxs&
select * from basic;

14
Data Base Management System

To return columns and column information-

mysql > show columns from [table name]


name];
fdlh table esa fdrus column gS a rFkk mu columns dh detail ns[kus ds fy, bl command dk
ç;ksx djrs gS a A

To show particular rows with the given value-

mysql > select * from [table name]


name] where [field name]
name] = value";
bl command dk ç;ksx fdlh table dh particular rows ns[kus ds fy, fd;k tkrk gS A ;gk¡ ge
"where" keyword ds }kjk condition nsrs gS a A
tSls & gekjs ikl ,d 'users' uke dh table gSa vkSj ftlesa ,d column gSa "age" A vxj gesa mu
lkjs users dh list ns[kuh gks ;k ;w¡ dgsa fd gesa os lkjh "rows" ns[kuh gks ftuesa age dh value
24 gks rks ge command nsaxs&
Select * from basic where age = 24;

To return number of rows-

mysql > select count (*


(*) from [table name]
name];
bl command dk ç;ksx djds ge ;g ns[k ldrs gS a fd fdlh table esa orZeku esa fdruh rows gS a A

To delet a row from a table-

mysql > delete from [table name]


name] where [field name]
name] = 'field value';
bl command dk ç;ksx fdlh table ds vanj dh fdlh particular row ;k rows dks delete djus
ds fy, fd;k tkrk gS A tSls& fdlh 'basic' uke dh table esa ,d column gSa age
ageAA ;fn ,slh lkjh
rows dks delete djuk gks tgk¡ age dh value 25 gks rks command fy[ksaxs &
Delete from basic where age = 25;

To update database permissions / privileges:-

mysql > flush privileges;

15
Data Base Management System
bl command dk ç;ksx database dh permissions dks change ;k update djus ds fy, fd;k
tkrk gS A tsls& ;fn ge update command ds }kjk dksbZ updation dj jgs gS a ysfdu tks changes
fd, gS a oks load ugha gks jgs rks ge bl command dk ç;ksx djsaxs A

To delete a column-

mysql > alter table [table name]


name] drop column [column name]
name];
;g Command fdlh table ls fdlh column dks delete djrh gS A tSls & ;fn gesa 'basic' uke
dh table esa 'address' uke dk column delete djuk gks rks command gksxh&
alter table basic drop column address;

To add a new column-

mysql > alter table [table name]


name] add column [new column name]
name] varchar (20);
;g command fdlh table esa ,d u;k column ¼;k field field½½ tksMus ds fy, ç;ksx dh tkrh gS A
tSls& gesa vxj 'basic' uke dh table esa 'address' uke dh ,d field tksMh gks ¼ftldk datatype
varchar vkSj size 50 gS½ rks command fy[ksaxs&
alter table basic add column address varchar (50);

To change a column's name-

mysql > alter table [table name]


name] change (old column name) (new column name)
varchar(50);
;g command fdlh table ds fdlh column dk uke change djus ds fy, ç;ksx dh tkrh gS A
tSls & gekjs ikl dksbZ basic uke dh table gSa ftlesa address uke dh ,d fleld gS A vxj gesa
address uke dh field dk uke change djds useraddress djuk gks rks ge command fy[kasxs&
alter table basic change address newaddress;

MySQL Functions
MySQL Functions ds eq[;r;k nks çdkj gksrs gS a&
1- MySQL Numeric Functions
2- MySQL String Functions

16

You might also like