دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۷
  • اردیبهشت

جلسه ۱۵ : آشنایی با Joins در سیستم مدیریت پایگاه داده ( DBMS )

  • دسته‌بندی‌ها :
جلسه ۱۵ : آشنایی با Joins در سیستم مدیریت پایگاه داده ( DBMS )
    • جزئیات
    • نوع محتواآموزشی

      سلام به همه پی وی لرنی های عزیز!
      به دوره آموزش دوره آموزش سیستم مدیریت پایگاه داده DBMS خوش آمدید.
      Database Management System یا سیستم مدیریت پایگاه داده که به صورت خلاصه به آن DBMS می گویند؛ به فناوری ذخیره و بازیابی اطلاعات کاربران با حداکثر کارآیی در کنار اقدامات امنیتی مناسب اشاره دارد. در این آموزش اصول اولیه سیستم مدیریت پایگاه داده یا DBMS مانند معماری آن، مدل های داده، طرحواره داده ها، استقلال داده ها، مدل E-R، مدل رابطه، طراحی بانک اطلاعاتی رابطه ای، و ذخیره سازی و ساختار پرونده و موارد دیگر را می آموزیم.
      در جلسه گذشته مفهوم عادی سازی Normalization را در DBMS شناختیم؛ اگر طراحی پایگاه داده کامل نباشد، ممکن است حاوی ناهنجاری هایی باشد که ممکن است دردسرهای زیادی ایجاد نماید و مدیریت پایگاه داده با وجود این ناهنجاری ها غیر ممکن است.
      در این جلسه قرار است به آشنایی با Joins در سیستم مدیریت پایگاه داده ( DBMS ) می پردازیم.

      آشنایی با Joins در سیستم مدیریت پایگاه داده ( DBMS )

      ما از مزایای استفاده از Cartesian product دو رابطه ای تاکنون آگاه شده ایم. Cartesian product امکان جفت شدن دو رابطه یا relations را می دهد. اما ممکن است در موارد خاص این امکان پذیر نباشد که یک Cartesian product را تهیه کنیم و در آنجا با هزاران tuples که دارای تعداد زیادی attributes هستند و با تعداد بی پایانی رابطه relations روبرو شویم.

      در این گونه موارد بهترین گزینه انتخاب گزینه Join است. Join ترکیبی از یک Cartesian product است و به دنبال آن یک فرایند انتخاب انجام می شود. در صورتي كه شرط پيوستن معين تأیید شود، يكي از عملكردها دو جفت tuples از روابط مختلف را جفت مي كند.

      انواع مختلف پیوستگی را در بخش های بعدی به طور خلاصه شرح خواهیم داد.

      Theta (θ) Join

      Theta (θ) Join ترکیبی از روابط مختلف است به شرط آنکه شرایط تتا راضی نماید. شرط پیوستن توسط نماد θ مشخص شده است.

      نشانه گذاری

      مثال : 

      R1 و R2 روابطی هستند که دارای attributes های (A1 ، A2 ، .. ، An) و (B1 ، B2 ، .. ، Bn) هستند به طوری که این attributes هیچ ارتباطی با یکدیگر ندارند ، یعنی R1 ∩ R2 = Φ.

      Theta join می تواند از انواع عملگرهای مقایسه استفاده کند.

      Student
      SIDNameStd
      ۱۰۱Alex۱۰
      ۱۰۲Maria۱۱
      Subjects
      ClassSubject
      ۱۰Math
      ۱۰English
      ۱۱Music
      ۱۱Sports

      − Student_Detail

      مثال : 

      Student_detail
      SIDNameStdClassSubject
      ۱۰۱Alex۱۰۱۰Math
      ۱۰۱Alex۱۰۱۰English
      ۱۰۲Maria۱۱۱۱Music
      ۱۰۲Maria۱۱۱۱Sports

      مبحث بعدی ای که قرار است در آشنایی با Joins در سیستم مدیریت پایگاه داده به آن بپردازیم؛ اعتدال یا equijoin است.

      اعتدال Equijoin

      هنگامی که Theta join تنها از عملگر مقایسه برابری استفاده می کند، گفته می شود که دارای اعتدال یا equijoin است. مثال بالا مربوط به equijoin یا اعتدال است.

      (⋈) Natural Join

      Natural Join از هیچ عملگر مقایسه ای استفاده نمی کند. این راهی که یک Cartesian product انجام می دهد نتیجه نمی گیرد. ما می توانیم Natural Join را فقط در صورت وجود حداقل یک attribute مشترک که بین دو روابط وجود دارد، انجام دهیم. علاوه بر این، attribute ها باید دارای همان نام و دامنه باشند.

      Natural Join به آن دسته از attributes هایی منطبق عمل می کند که در آن ارزش attributes در هر دو رابطه یکسان باشد.

      Courses
      CIDCourseDept
      CS01DatabaseCS
      ME01MechanicsME
      EE01ElectronicsEE
      HoD
      DeptHead
      CSAlex
      MEMaya
      EEMira
      Courses ⋈ HoD
      DeptCIDCourseHead
      CSCS01DatabaseAlex
      MEME01MechanicsMaya
      EEEE01ElectronicsMira

      Outer Joins یا Joins های خارجی

      Theta Join ، Equijoin ، و Natural Join (پیوستگی درونی) نامیده می شوند. پیوستگی درونی فقط شامل آن دسته از صفحات با attributes های منطبق است و بقیه در نتیجه حاصل شده دور می شوند. بنابراین، ما باید از پیوستگی بیرونی یا Outer Joins استفاده کنیم تا تمام روابط مربوط به مشارکت در رابطه نتیجه گنجانده شود. سه نوع پیوستگی بیرونی وجود دارد – پیوستگی بیرونی سمت چپ، پیوستگی بیرونی راست و پیوستگی بیرونی کامل.

      پیوستگی بیرونی سمت چپ

      تمام مقادیر مربوط به رابطه چپ، R، در رابطه نتیجه گنجانده شده است. اگر در R مناسب باشد، هیچ رابطه ای در رابطه R وجود ندارد، سپس attribute مربوط به S از نتیجه حاصل شده را NULL می کند.

      Left
      AB
      ۱۰۰Database
      ۱۰۱Mechanics
      ۱۰۲Electronics
      Right
      AB
      ۱۰۰Alex
      ۱۰۲Maya
      ۱۰۴Mira
      Courses Left Outer Join HoD
      ABCD
      ۱۰۰Database۱۰۰Alex
      ۱۰۱Mechanics
      ۱۰۲Electronics۱۰۲Maya

      پیوستگی بیرونی راست

      در تمام مقادیر مربوط به رابطه راست؛ S در رابطه نتیجه گنجانده شده است. اگر در S بدون هیچ tuple تطبیقی در S وجود داشته باشد attribute مربوط به R رابطه حاصل شده را NULL می کند.

      Courses Right Outer Join HoD
      ABCD
      ۱۰۰Database۱۰۰Alex
      ۱۰۲Electronics۱۰۲Maya
      ۱۰۴Mira

      و در نهایت در آخرین بخش از آشنایی با Joins در سیستم مدیریت پایگاه داده بیایید با پیوستگی بیرونی کامل آشنا شویم.

      پیوستگی بیرونی کامل

      تمام tuples های مربوط به روابط هر دو شرکت کننده در رابطه نتیجه گنجانده می شود. اگر برای هر دو رابطه tuples تطبیقی وجود نداشته باشد، attributes های غیرقابل مقایسه آنها را NULL می کند.

      Courses Full Outer Join HoD
      ABCD
      ۱۰۰Database۱۰۰Alex
      ۱۰۱Mechanics
      ۱۰۲Electronics۱۰۲Maya
      ۱۰۴Mira

      سخن پایانی

      در این جلسه به آشنایی با Joins در سیستم مدیریت پایگاه داده پرداختیم؛ Join ترکیبی از یک Cartesian product است و به دنبال آن یک فرایند انتخاب انجام می شود. در صورتي كه شرط پيوستن معين تأیید شود، يكي از عملكردها دو جفت tuples از روابط مختلف را جفت مي كند.
      در جلسه بعدی به سیستم ذخیره سازی در DBMS می پردازیم.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۱۵ : آشنایی با Joins در سیستم مدیریت پایگاه داده ( DBMS )
      به اشتراک بگذارید