ڈیٹابیس اوریکل ڈیٹا بیس

محب علوی نے 'اردو آئی۔ٹی ٹیوٹوریل' کی ذیل میں اس موضوع کا آغاز کیا، ‏دسمبر 7, 2011

  1. محب علوی

    محب علوی لائبریرین

    مراسلے:
    11,300
    جھنڈا:
    Pakistan
    موڈ:
    Bookworm
    ارادہ ہے ڈیٹا بیس پر عموما اور اوریکل پر خصوصا ایک دو دھاگے شروع کیے جائیں جس میں اوریکل اور ایس کیو ایل پر گفتگو کی جائے اور اسے سیکھنے اور سکھانے کی کوشش کی جائے۔ اس سلسلے میں بہت زیادہ بنیادی باتوں پر بات نہیں ہوگی مگر اگر وقت ہوا تو ساتھ ساتھ کچھ بنیادی باتوں پر بات ہوتی جائے گی۔ اس سلسلے میں اگر کچھ اور دوست اور احباب شامل ہونا چاہیں تو کافی آسانی ہو جائے گی اور سلسلہ دلچسپ بھی رہے گا۔

    تبصرے اور تجاویز کے لیے http://یہاں تشریف لائیں۔
     
    • پسندیدہ پسندیدہ × 9
  2. محب علوی

    محب علوی لائبریرین

    مراسلے:
    11,300
    جھنڈا:
    Pakistan
    موڈ:
    Bookworm
    یوں تو ڈیٹا بیس کی بہت سی قسمیں ہیں مگر فی الوقت ہم توجہ Relational Database پر مرکوز رکھیں گے ۔ عام طور پر ڈیٹا بیس اکیلی نہیں ہوتی بلکہ اس کے ساتھ ایک مینیجمنٹ سسٹم بھی ہوتا ہے اور یوں جدید ڈیٹا بیس سافٹ وئیر عموما
    RDBMS - Relational Database Management Systems
    کہلاتا ہے جس کی مثالیں مندرجہ ذیل ہیں

    اوریکل ORACLE
    ڈی بی ٹو DB2
    ایس کیو ایل سرور SQL Server

    Relational Database Management Systems کا متعارف کروانے کا سہرا ایک IBM کے انجنیئر ڈاکٹر ای ایف کوڈ Dr. E.F.Codd کے سر جاتا ہے جنہوں نے 1970 میں اپنے ایک مقالے​
    A Relational Model of Data for Large Shared Data Banks
    میں اسے شائع کیا اور اس کے ساتھ ہی سافٹ ویئر کی دنیا میں ایک انقلاب برپا کر دیا۔​
     
    • پسندیدہ پسندیدہ × 10
  3. محب علوی

    محب علوی لائبریرین

    مراسلے:
    11,300
    جھنڈا:
    Pakistan
    موڈ:
    Bookworm
    RDBMS سے پہلے ، سافٹ ویئر ڈویلپر ایسے اطلاقیے بناتے رہتے تھے جس میں ڈیٹا کا استعمال ہوتا تھا۔ ان اطلاقیوں میں عموما ڈیٹ کو مختلف شکلوں میں محفوظ ، تبدیل اور واپس حاصل کیا جاتا تھا چونکہ ڈیٹا ہر اطلاقیے میں مختلف ہوتا تھا مگر مطلوبہ وظیفہ ایک جیسے ہی ہوا کرتا تھا یعنی محفوظ کرنا ، تبدیل کرنا اور واپس حاصل کرنا۔ اس مشترکہ وظیفہ کی ضرورت کے باوجود کوئی ایسا مشترکہ طریقہ کار موجود نہیں تھا جو اس کام کو پورا کرتا۔ ڈیٹا بیس ڈیزائن ، ڈیٹا محفوظ ، تبدیل اور حاصل کرنے کے لیے کوئی اسٹینڈرڈ یا منطقی اصولوں کا سیٹ موجود نہیں تھا جس کی وجہ سے ہر پروگرامر اپنی ہی منطق کے تحت اطلاقیوں میں ڈیٹا کے مسائل سے نمٹتا تھا۔ اس کا نتیجہ سست رفتار ڈویلپمنٹ اور ذاتی ڈیٹا اسٹرکچر کی شکل میں نکلتا۔ پروگرامر حضرات کے لیے اپنا ڈیٹا کسی سے شیئر کرنا انتہائی مشکل عمل ہوتا اور اگر وہ کرنا بھی چاہتے تو اس کے لیے انہیں بہت دشواری اور سخت محنت کا سامنا کرنا پڑتا۔ کچھ بہتر اور آسان کی ضرورت تھی۔ اس ضرورت کو پورا کیا ریلیشنل ڈیٹا بیس مینیجمنٹ سسٹم RDBMS نے اور کرنے والے تھے ڈاکٹر ای ایف کوڈ جو کہ IBM کے انجنیئر تھے۔
     
    • پسندیدہ پسندیدہ × 7
  4. محب علوی

    محب علوی لائبریرین

    مراسلے:
    11,300
    جھنڈا:
    Pakistan
    موڈ:
    Bookworm
    Relational Model
    ڈاکٹر کوڈ کے ذہن کے میں ایسے سسٹم کا خاکہ تھا جس میں پروگرامر اپنی ڈیٹا بیس بنا سکے جس میں اسٹینڈرڈ فنکش اور طریقہ کار اپناتے ہوئے ڈیٹا کو محفوظ ، تبدیل اور حاصل کیا جا سکے چند اندرونی مشترکہ فنکشن کی مدد سے جو ڈیٹا بیس میں ہی موجود ہوں۔ عام طور پر یہ خیال کیا جاتا ہے کہ لفظ “Relation“ (تعلق) جو کہ ریلیشنل ماڈل میں موجود ہے وہ ریلیشنل ڈیٹا بیس میں موجود ٹیبلز کے درمیان تعلق () جوڑنے کی وجہ سے استعمال ہوتا ہے۔ گو کہ یہ اس اصطلاح کے متعلق سوچنے کا آسان طریقہ ہے مگر غلط ہے۔ درحقیقت لفظ “Relation“ (تعلق) کی جڑیں اس اصطلاح سے ملتی ہیں جس میں ڈاکٹر کوڈ نے ریلیشنل ماڈل کو بیان کرنے کے لیے اسے استعمال کیا۔ ٹیبل کوڈ کی تحریر میں ایک تعلق (باہمی معلومات کا سیٹ) کو ظاہر کرنے کے لیے استعمال ہوا۔ ڈاکٹر کوڈ نے Relation , Attribute , Tuple کی اصطلاحات استعمال کی جبکہ عموما ہم ٹیبل ، کالم اور قطار کی اصطلاحات استعمال کرتے ہیں۔

    Relation ---------> Table
    Attribute -------> Column
    Tuple ------------ Row

    Relational Model کا اطلاق ڈیٹا بیس اور ڈیٹا بیس مینیجمنٹ سسٹم دونوں پر ہوتا ہے۔ Relational Model کے ابتدائی خدوخال ڈاکٹر کوڈ کے بارہ اصولوں پر مبنی تھے ( اب بڑھ کر تین سو سے زائد ہو چکے ہیں ) جن کی مدد سے پرکھا جا سکتا ہے کہ کوئی بھی DBMS کس حد تک ریلیشنل ماڈل پر پورا اترتا ہے.
    Relational Model کا اطلاق ڈیٹا بیس اور ڈیٹا بیس مینیجمنٹ سسٹم دونوں پر ہوتا ہے۔ Relational Model کے ابتدائی خدوخال ڈاکٹر کوڈ کے بارہ اصولوں پر مبنی تھے ( اب بڑھ کر تین سو سے زائد ہو چکے ہیں ) جن کی مدد سے پرکھا جا سکتا ہے کہ کوئی بھی DBMS کس حد تک ریلیشنل ماڈل پر پورا اترتا ہے.
     
    • پسندیدہ پسندیدہ × 8
  5. محب علوی

    محب علوی لائبریرین

    مراسلے:
    11,300
    جھنڈا:
    Pakistan
    موڈ:
    Bookworm
    Relational Database Design

    ڈیٹابیس ڈیزائن کرتے ہوئے کوشش کی جاتی ہے کس طرح بہترین طریقے سے حقیقی دنیا میں چلتے ہوئے سسٹم کو ڈیٹابیس ماڈل میں ڈھالا جا سکے۔ اس عمل میں فیصلہ کیا جاتا ہے کہ کونسے ٹیبل بنائے جائیں گے، کونسے کالم شامل ہوں گے، ٹیبل کے درمیان کیا تعلق ہوگا۔ ایک عمدہ ڈیٹا بیس ڈیزائن وقت اور کوشش سے بنتا ، بگڑتا اور بہتر ہوتا ہے۔ اس کے لیے کوئی شارٹ کٹ یا دو جمع دو کا فارمولا نہیں ہے۔

    Tables and Keys
    ریلیشنل ماڈل میں ٹیبلز اکائیوں(Entities) کو ظاہر کرتے ہیں۔ اکائی(Entity) کوئی بھی ایسی شے ہو سکتی ہے جس کے بارے میں ہم معلومات محفوظ کرنا چاہیں جیسا کہ طالب علم ، استاد ، کورس۔
    RDBMS میں ڈیٹا ٹیبل () میں محفوظ کیا جاتا ہے جس میں ایک یا زائد کالم (Column) موجود ہوتے ہیں جو کسی نہ کسی معلومات پر مشتمل ہوتے ہیں(اگر ٹیبل خالی نہ ہو تو اس میں ایک یا زائد قطاریں Row بھی ہوں گی) ۔ کالم کو فیلڈ اور قطار کو ریکارڈ بھی کہا جاتا ہے۔
    ریلیشنل ماڈل تقاضہ کرتا ہے کہ ہر ٹیبل میں موجود ہر ریکارڈ (Row) منفرد ہو کیونکہ اگر ٹیبل میں غیر منفرد ریکارڈ ہوں گے تو بذریعہ پروگرامنگ کسی مخصوص ریکارڈ اور فیلڈ تک پہنچنا ممکن نہ ہوگا۔ اس سے بہت سے اشتمالات اور پیچیدگیاں پیدا ہوتی ہیں جن سے پرہیز کرنا چاہیے۔ کسی بھی ٹیبل میں انفرادیت پیدا کرنے کے لیے اس میں ایک پرائمری کی (Primary Key) کا اضافہ کیا جاتا ہے جو کہ ٹیبل کا ایسا کالم ہوتا ہے جس میں تمام مقداریں(values) منفرد ہوتی ہیں. ہر ٹیبل میں صرف اور صرف ایک پرائمری کی ہو سکتی ہے جبکہ کسی ایک تیبل میں بہت سے کالم منفرد مقداروں کی شرط پر پورا اتر سکتے ہیں۔ تمام ایسے کالم یا کالموں کے مجموعہ جن میں منفرد مقدار ہوں وہ امیدوار کیز (Candidate Keys) کہلاتے ہیں اور انہی میں سے پرائمری کی کا انتخاب ہوتا ہے۔ پرائمری کی کے انتخاب کے بعد بچنے والے تمام امیدوار کی کالم متبادل کیز(Alternate keys) کہلاتے ہیں۔ کیز سادہ بھی ہو سکتی ہیں اور کثرت (composite) بھی. سادہ ایک کالم پر مشتمل ہوتی ہے اور کثرت والی دو یا زائد کالموں سے مل کر بنتی ہے۔
     
    • پسندیدہ پسندیدہ × 9
  6. محب علوی

    محب علوی لائبریرین

    مراسلے:
    11,300
    جھنڈا:
    Pakistan
    موڈ:
    Bookworm
    کونسی امیدوار کی پرائمری بننی چاہیے اس کا کوئی لگا بندھا اصول نہیں ہے بلکہ زیادہ تر یہ ڈیٹا بیس ڈیزائنر اور ڈیٹا ماڈلر کے ہاتھ میں ہی ہوتا ہے۔ Fabian Pascal اپنی کتاب SQL and Relational Basics میں اس پر اپنی رائے دیتے ہوئے لکھتے ہیں کہ اس کا فیصلہ کم از کم کے اصول پر مبنی ہونا چاہیے (یعنی کم سے کم ضروری کالم) ، پائیداری (ایسا فیلڈ جو کم شاذ و نادر بدلتی ہو) اور سادگی و شناسائی (ایسی فیلڈ جو سادہ بھی ہو اور صارف کے لیے جانی پہچانی بھی)۔ مثال کے طور پر ایک کمپنی کے گاہکوں کا ٹیبل لیتے ہیں۔ جس میں مندرجہ ذیل فیلڈ موجود ہیں

    Table Name: Customer
    CustomerId, LastName, FirstName, Address, City, State, ZipCode, Phone
     
    • پسندیدہ پسندیدہ × 5
  7. محب علوی

    محب علوی لائبریرین

    مراسلے:
    11,300
    جھنڈا:
    Pakistan
    موڈ:
    Bookworm
    اب ہم ٹیبل اور اس میں ڈیٹا کی بات کرتے ہیں۔ مندرجہ ذیل مثال میں ایک ٹیبل Company لیتے ہیں اور اس کے حوالے سے گفتگو کو آگے بڑھاتے ہیں۔
     
  8. محب علوی

    محب علوی لائبریرین

    مراسلے:
    11,300
    جھنڈا:
    Pakistan
    موڈ:
    Bookworm
    [​IMG]
     
    • پسندیدہ پسندیدہ × 3

اس صفحے کی تشہیر