relational database management system (RDBMS)

Introduction to RDBMS

एक relational database management system ऐसा database management system होता है जो relational model पर आधारित होता है। Relational model IBM में कार्यरत एक British computer scientist Edgar F. Codd द्वारा invent किया गया था। Edgar F. Codd को सभी modern relational databases का जनक (father) माना जाता है।

Edgar F. Codd ने relational model को 1970 में design किया था। Edgar F. Codd के द्वारा relational model का idea IBM में paper के रूप में publish किया गया था। शुरुआत में इसे बहुत कम attention मिला लेकिन बाद में इसके महत्व को समझा गया और यह relational data storage के basic rule के रूप में use किया गया।

Financial records से लेकर personal records साथ ही और भी सभी प्रकार की information के storage के लिए RDBMS एक popular choice बन चुकी है। Relational database management system ने flat file system, hierarchical databases और networks databases को पूरी तरह replace कर दिया है।

सभी modern database management systems जैसे की Microsoft SQL Server, IBM DB2, Oracle, MySQL और Microsoft Access आदि relational model पर ही आधारित है। इनमें कुछ commercial तो कुछ open source है।

What is Relational Model?

Relational model data को store करने का एक defined way है। Relational model में data को rows और columns के structure में store किया जाता है। Rows और columns के combination से table का निर्माण होता है। Relational database में simple table को निचे बताया गया है।

एक table related data entries का collection होती है। एक relational database की table के निचे दिए गए मुख्य elements होते है।

Fields

Relational database की table में fields यह बताते है की क्या data है जैसे की नॉम है, पता है या फिर फ़ोन number है। इन fields के लिए ही actual information store की जाती है।

Row/Record

एक row horizontally columns का collection होती है। Row में उतने ही columns होते है जितने की table में field होते है। एक row के सभी columns में table के सभी fields के लिए actual information store की जाती है।

एक row एक individual entry होती है और इसके सभी columns की information related होती है। ये जरुरी नहीं की row के सभी columns में value हो।

Column

एक column एक vertical entry होती है। एक column किसी specific filed से related table की सभी entries को दर्शाता है। उदाहरण के लिए निचे Age filed के column में सभी की employees की ages आप देख सकते है।

NULL

जब किसी field के लिए column में कोई entry नहीं होती है तो उस column की value NULL मानी जाती है। NULL value zero या space से अलग होती है।

Advantages of RDBMS

RDBMS दूसरे DBMS से किस प्रकार बेहतर है ये समझाने के लिए निचे RDBMS की कुछ advantages दी जा रही है।

  • RDBMS large databases को handle करने में सक्षम होते है।
  • RDBMS में data को store, modify और access करना बहुत आसान होता है।
  • Data को अलग अलग change करने की आवश्यकता नहीं होती है। Data सभी जगह automatically change हो जाता है। यदि दो tables आपस में related है तो एक ही जगह पर change करने से दूसरी table में भी वह change हो जाता है।
  • RDBMS को SQL द्वारा handle किया जाता है। SQL के द्वारा आप complex queries perform कर सकते है। उदाहरण के लिए flat file system में condition के आधार पर data को sort नहीं किया जा सकता है। लेकिन RDBMS में data को कई प्रकार से access किया जा सकता है।
  • RDBMS में data secured रहता है। RDBMS में आवश्यकतानुसार tables को hide किया जा सकता है। User के द्वारा login information provide किये जाने पर tables उसकी privilege level के अनुसार show होती है।
  • RDBMS में एक साथ कई tables के साथ काम किया जा सकता है। RDBMS इसके लिए joins की facility provide करते है।
  • RDBMS में data duplicate नहीं होता है। इससे data accurate होता है।

Disadvantages of RDBMS

निचे RDBMS की कुछ disadvantages दी जा रही है।

  • यदि commercial software की बात की जाए तो relational database की setup cost बहुत अधिक होती है। इसके अलावा relational database को handle करने के लिए specialists की आवश्यकता होती है।
  • Simple text को आसानी से insert और access किया जा सकता है। लेकिन audio, video और images के लिए relational database में अभी कोई support available नहीं है।
  • Table में कुछ fields की character limit होती है जिसे आप exceed नहीं कर सकते है।
  • यदि tables बहुत अधिक है तो fast processing लिए better hardware की requirement होती है नहीं तो processing slow हो जाती है।

MySQL सबसे popular open source RDBMS है। इसके लिए आपको किसी प्रकार का मूल्य चुकाने की आवश्यकता नहीं होती है। ये कई platforms पर available है।

साथ ही MySQL कई popular programming languages के लिए support provide करती है। MySQL सिखने में बहुत आसान है और इसकी performance बहुत effective है।