+ All Categories
Home > Documents > Table Joins and Indexes in SQL - WordPress.com · MySQL में Indexes बनाना...

Table Joins and Indexes in SQL - WordPress.com · MySQL में Indexes बनाना...

Date post: 05-Jul-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
18
Table Joins and Indexes in SQL सीबीएसई पाठ्यम पर आधारत का -11 ारा: संजीव भदौरिया नातकोि शिक (संगणक शवान ) के० शव० बािाबंकी (लखनऊ संभाग) सॊजीव भदौररया, के० वव० बाराबॊकी
Transcript
  • Table Joins and Indexes in SQL सीबीएसई पाठ्यक्रम पर आधाररत

    कक्षा -11

    द्वारा: संजीव भदौरिया स्नातकोत्ति शिक्षक (संगणक शवज्ञान ) के० शव० बािाबंकी (लखनऊ संभाग)

    सॊजीव भदौररया, के० वव० बाराबॊकी

  • पररचय

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • कभी कभी हमें ऐसी आनफामेशन की अवश्यकता पड़ती

    ह ैजजसमे डाटा एक स ेऄजधक tables से अता ह ै|

    • यदद tables दकसी common field से अपस में जुडी

    हों तो अप tables को असानी से join कर सकत े हैं

    और डाटा या आनफामेशन जनकल सकते हैं |

    • आस ऄध्याय में हम SQL के ऄंतगगत tables को अपस

    में join करना तथा ईनसे आनफामेशन जनकलना सीखेंगे |

    • आस ऄध्याय में हम SQL में indexes भी सीखेंगे जजसके

    कारण बड़ े databases स े query को प्रोसेस कराना

    तेज़ हो जाता ह ै|

  • JOINS

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • Join एक प्रकार की query होती ह ैजो दो या ऄजधक tables

    के rows आकठ्ठा करती ह ै|

    • एक join-query में FROM Clause में एक स ेऄजधक tables

    की सूची दते ेहैं |

    • कइ tables के डाटा को एक साथ लेन के फंक्शन को joining

    कहते हैं | ईदहारण के जलए –

    SELECT * FROM emp1, dept;

    • दो tables के unrestricted join या cartesian product स े

    दोनों tables के समस्त row से सभी संभव जोड़ बन जाते हैं |

  • Table को join के जलए तैयार करना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    उपरोक्त उदहारण में 2 table बनाई गयी हैं जजसमें emp1 table में primary key है empcode तथा dept table में foreign key है deptic जो कक emp1 table के empcode को refer कर रही है |

  • Table को join के जलए तैयार करना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    आस table का

    ऄध्ययन करें तो हम

    को समझ अजायेगा

    की table एक दसूरे

    से कैसे जुडी हैं |

    ऄब ये दखेते हैं की

    join query कैसे

    काम करती ह ै|

  • Join query

    सॊजीव भदौररया, के० वव० बाराबॊकी

    mysql>

    SELECT * from

    emp1, dept;

    Command चलने

    से समस्त record

    के combination

    के साथ हर

    column के डाटा

    को शो कर ददया |

    आनको दफ़ल्टर करने

    के जलए query में

    condition लगाइ

    जाती ह ै|

  • Join query

    सॊजीव भदौररया, के० वव० बाराबॊकी

    ये पता करना हो दक कौन सा employee दकस department में प्रभारी ह ै

    तो जनम्न query को run करना होगा |

    mysql> SELECT name, deptname from emp1, dept

    where emp1.empcode=dept.deptic;

    जब दोनों table में सामान name से field हों तो perticular table की

    field को दशागने के जलए . के प्रारूप में

    जलखते हैं जैसे - emp1.empcode यह एक प्रकार का Equi- Join का उदहारण है जहाॉ tables को column की values को बराबरी के साथ access करके जोड़ा जाता ह ै | तथा यह Natural- Join का भी उदहारण है जहाॉ joining tables एक एक ही column का प्रयोग ककया जाता है |

  • Join query के साथ additional search

    सॊजीव भदौररया, के० वव० बाराबॊकी

    यदद ये पता करना हो दक Ankit दकस department में प्रभारी ह ैतो जनम्न

    query को run करना होगा |

    mysql> SELECT name, deptname from emp1, dept

    where emp1.empcode=dept.deptic and

    emp1.name=‘Ankit’;

  • Table Aliases का प्रयोग करना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • कभी कभी ऐसा होता ह ैकी tables का नाम बहुत बड़ा होता ह ैतथा ऄलग ऄलग

    tables में column के name सामान होते हैं |

    • ऐसे में ‘.’ के साथ बार बार name जलखने में समय बबागद होता ह ैतो हम table के

    alias बना लेते हैं जो की ऄस्थाइ lebel होते हैं |

    • आसके जलए जनम्न ईदहारण को ध्यान से दखेें

    mysql> SELECT E.name, E.Salary, D.DeptName

    FROM emp1 E, dept D

    WHERE E.empcode=D.deptic;

    ये table के Alias name हैं |

  • दो से ऄजधक tables को जोड़ना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    mysql> SELECT E.name, E.Salary, D.DeptName, G.grade

    FROM emp1 E, dept D, salarygrade G

    WHERE E.empcode=D.deptic

    AND E.salary BETWEEN G.lowsal AND G.hisal;

    यह एक प्रकार का Non-Equi-Join का उदहारण है जहाॉ बबना ‘=‘ का प्रयोग ककये condition दी गयी है |

  • JOIN Clause के द्वारा tables को जोड़ना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • SQL दो tables को जोड़ने के जलए कुछ जवशेष clauses भी प्रदान करता ह ै -

    JOIN (और NATURAL JOIN) clause .

    mysql > SELECT * FROM

    [CROSS] [NATURAL] JOIN

    [ON () | USING()];

    • आसमें cartesian product बनाने के जलए -

    SELECT * FROM emp1 JOIN dept;

    • CROSS JOIN बनाने के जलए –

    SELECT * FROM emp1 CROSS JOIN dept;

    • EQUI- JOIN बनाने के जलए –

    SELECT * FROM emp1 e. JOIN dept d

    ON (e.empcode=d.deptic);

    • NATURAL JOIN बनाने के जलए -

    SELECT * FROM emp1 NATURAL JOIN dept;

    इनके output भी वैसे ही आएॊगे जसेै की हम पीछे देख चुके हैं |

  • LEFT-JOIN

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • जब हम LEFT-JOIN का प्रयोग करते हैं तो पहली table से समस्त row return होती हैं चाह े

    दसूरी table से row match हो या न हों |

    • पहली table के unmatched row के जलए दसूरी table के column में NULL ददखाइ दतेा ह|ै

    mysql>SELECT FROM LEFT JOIN

    ON

    Right-JOIN • जब हम RIGHT-JOIN का प्रयोग करते हैं तो दसूरी table से समस्त row return होती हैं

    चाह ेपहली table से row match हो या न हों |

    • दसूरी table के unmatched row के जलए पहली table के column में NULL ददखाइ दतेा

    ह|ै

    mysql>SELECT FROM RIGHT JOIN

    ON

  • Database में Indexes

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • Index एक प्रकार का data structure होता ह ैजजसका प्रयोग database दकसी table से

    records को ऄजधक तेज़ी खोजने में करता ह ै|

    • एक index ऄपने index field में actual table में record के लोकेशन की sort की हुइ या

    ordered values को रखता ह ै|

    • Database में index स्वयं एक table होती ह ैजो ऄपने column में values को एक जनजित

    क्रम में संगहीत रखती ह ै|

  • MySQL में Indexes बनाना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • MySQL में Index हम दो प्रकार से बना सकते हैं –

    1. Table को create करते समय

    2. दकसी पहले से ईपजस्थत table पर index बनाना

    • पहले वाले case में syntax जनम्नवत होगा – CREATE TABLE ( ,

    ,

    , . . . .

    INDEX ( ,

    , . . ));

    • ईदहारण : mysql>Create table PLAYERS ( PLAYERNO INT NOT NULL,

    NAME CHAR(15) NOT NULL,

    DOB DATE,

    SEX CHAR(1) NOT NULL,

    ADDRESS VARCHAR(100) NOT NULL,

    PHONE CHAR(10),

    TEAM NO CHAR(4) NOT NULL,

    PRIMARY KEY (PLAYERNO),

    INDEX Player_idx(NAME(5) ) );

  • MySQL में Indexes बनाना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • MySQL में Index हम दो प्रकार से बना सकते हैं –

    1. Table को create करते समय

    2. दकसी पहले से ईपजस्थत table पर index बनाना

    • दसूरे वाले case में syntax जनम्नवत होगा – CREATE INDEX ON

    ( [ASC|DESC],

    [ASC|DESC], . . );

    ऄथवा unique values को रखने के जलए

    CREATE UNIQUE INDEX ON

    ( [ASC|DESC],

    [ASC|DESC], . . );

    ईदहारण :

    mysql>Create index Player_idx on Players (name(5)); ऄथवा

    Create Unique index Player_idx on Players (Teamno);

  • • Indexes को दखेने के जलए जनम्न commands का प्रयोग करें – mysql> SHOW INDEXES FROM ;

    ईदाहरण :

    mysql> SHOW INDEXES FROM Players;

    • Indexes को delete करने के जलए जनम्न commands का प्रयोग

    करें – mysql> DROP INDEX ON ;

    ईदाहरण :

    mysql> Drop Index Player_idx ON Players;

    • Indexes को rename करने के जलए जनम्न commands का प्रयोग

    करें – mysql> ALTER TABLE RENAME INDEX

    TO ;

    ईदाहरण :

    mysql> ALTER TABLE Players RENAME INDEX Player_idx

    TO Player_new_idx;

    Database में Indexes

    सॊजीव भदौररया, के० वव० बाराबॊकी

  • • Advantages : • Indexes के साथ queries बेहतर कायग करती हैं |

    • Indexes के साथ डाटा की प्राजि ऄजधक तेज़ी से होती ह ै|

    • Sorting के ईद्देश्य से index बहुत मदद ्गार ह ै

    • Index, Database में uniquely identifiable records

    को uniquely खोजने के गारंटी दतेा ह ै|

    Indexes के Advantages & Disadvantages

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • Disadvantages : • Indexes के साथ insert, update और delete की कायगक्षमता घट जाती ह ै| क्योंदक

    प्रत्येक insert/update/delete operation के साथ index table को भी update

    होना पड़ता ह ैजजसके कारण समय ऄजधक लग जाता ह ै|

    • Index storage की जगह घेरती हैं जजसके कारण जसै े जसै े डाटा की संख्या या

    column की संख्या बढ़ती ह ैतो जगह भी ज्यादा जघरती ह ै |

    ऄतः यह सलाह दी जाती ह ैकी जब ज्यादा ज़रुरत हो तभी index का प्रयोग करना चाजहए|

  • धन्यवाद और ऄजधक पाठ्य-सामग्री हतेु जनम्न ललक पर जक्लक करें -

    सॊजीव भदौररया, के० वव० बाराबॊकी

    www.pythontrends.wordpress.com

    http://www.pythontrends.wordpress.com/

Recommended