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



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

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

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

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

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

      پیش بینی می شود سیستم های پایگاه داده های Relational به یک زبان کوئری مجهز باشند که می تواند به کاربران آن در جستجوی نمونه های پایگاه داده کمک کند. دو نوع از زبان کوئری وجود دارد: جبر Relational و حساب Relational.

      جبر Relational

      جبر Relational یک کوئری رویه ای است که نمونه هایی از روابط را به عنوان ورودی در می آورد و نمونه هایی از روابط را به عنوان نتیجه ارائه می دهد. جبر Relational از اپراتورها operator برای انجام کوئری استفاده می کند. یک اپراتور می تواند یک unary یا binary باشد. آنها روابط را به عنوان ورودی و روابط خود به عنوان خروجی خود می پذیرند. جبر Relational به صورت بازگشتی بر روی یک رابطه انجام می شود و نتایج میانی را نیز به عنوان روابط در نظر می گیرد.

      عملیات اساسی جبر Relational به شرح زیر است:

      • Select
      • Project
      • Union
      • Set different
      • Cartesian product
      • Rename

      در ادامه در مورد همه این عملیات ها بحث خواهیم کرد.

      عملیات انتخاب (σ)

      این عملیات tuples را انتخاب می کند که گزاره داده شده را از یک رابطه برآورده می کند.

      (Notation − σp(r

      جایی که σ مخفف انتخاب محمول و r مخفف رابطه است. p یک فرمول منطقی پیش فرض است که ممکن است از اتصال دهنده هایی چون and و or و یا not استفاده کند. این اصطلاحات ممکن است از اپراتورهای رابطه ای مانند:

      • =
      • <
      • >

      استفاده نماید.

      برای مثال :

      مثال : 

      خروجی : انتخاب tuples ها از books، جایی که subject ما “database” است.

      مثال : 

      خروجی : انتخاب tuples ها از books، جایی که subject ما “database” است و “price” نیز ۴۵۰ است.

      مثال : 

      خروجی : انتخاب tuples ها از books، جایی که subject ما “database” است و “price” نیز ۴۵۰ است یا books ها بعد از ۲۰۱۰ منتشر شده اند.

      در ادامه آشنایی با جبر Relational در سیستم مدیریت پایگاه داده می خواهیم به پروژه عملیاتی (∏) بپردازیم.

      پروژه عملیاتی (∏)

      پروژه عملیاتی (∏) ستون (هایی) را طراحی می کند که یک محمول معین را برآورده می کند.

      نشان گذاری:

      • A1∏
      • A2
      • (An (r

      جایی که A1 ، A2 ، An وجود دارند در حقیقت اشاره به نامهای رابطه r دارند.

      ردیف های تکراری به طور خودکار از بین می روند ، زیرا رابطه یک مجموعه است.

      برای مثال:

      مثال : 

      ستون های Selects و projects به عنوان subject و author (نویسنده کتاب) به عنوان subject انتخاب می شوند.

      پروژه متحد (∪)

      این اتحاد باینری را بین دو رابطه معین انجام می دهد و به این شرح است:

      مثال : 

      نشان گذاری:

      • r U s

      جایی که r و s وجود دارند یا روابط پایگاه داده هستند یا نتایج حاصل از رابطه (رابطه موقتی) هستند.

      برای داشتن یک پروژه متحد؛ باید شرایط زیر را داشت:

      • r و s باید دارای همان تعداد Attribute باشند.
      • Attribute domains ها باید سازگار باشند.
      • tuples های کپی شده به طور خودکار از بین روند.

      مثال : 

      خروجی : نام (authors) نویسندگانی را که یا کتاب یا مقاله ای نوشته اند یا هر دو کار را انجام داده اند.

      تنظیم تفاوت (-)

      نتیجه عملكرد اختلاف مجموعه tuples هایی است كه در یك رابطه حضور دارند اما در رابطه دوم نیستند.

      نشان گذاری:

      • − r − s

      تمام tuples های موجود در r اما نه در s را پیدا می کند.

      مثال : 

      خروجی : نام (authors) نویسندگانی را که کتاب و (نه مقاله) نوشته اند را تهیه می کند.

      محصولات (Cartesian (Χ

      اطلاعات دو رابطه متفاوت را به یک دیگر ترکیب می کند.

      •  r Χ s

      جایی که r و s وجود دارند یا روابط پایگاه داده هستند نتایج آنها به صورت زیر تعریف می شود:

      {r Χ s = { q t | q ∈ r and t ∈ s

      مثال : 

      خروجی : یک رابطه برقرار می کند، که تمام کتاب ها و مقالاتی را که پی وی لرن نوشته شده است نشان می دهد.

      در ادامه آشنایی با جبر Relational در سیستم مدیریت پایگاه داده قرار است با عملیات تغییر نام (ρ) آشنا شویم.

       

      عملیات تغییر نام (ρ)

      نتایج جبر Relational نیز روابط است اما بدون هیچ نامی. عملیات تغییر نام به ما امکان تغییر نام رابطه خروجی را می دهد. عملیات “rename” با حروف کوچک یونانی rho ρ مشخص می شود.

      نشان گذاری:

      • (ρ x (E

      جایی که نتیجه عبارت E با نام x ذخیره می شود.

      عملیات های اضافی عبارتند از :

      • Set intersection
      • Assignment
      • Natural join

      برخلاف جبر Relational، حساب Relational یک زبان کوئری غیر رویه ای است، یعنی می گوید چه کاری باید انجام شود اما هرگز چگونگی انجام آن را توضیح نمی دهد.

      حساب Relational به دو شکل وجود دارد:

      حساب Tuple Relational یا (TRC)

      متغیر فیلتر از طیفهای مختلف متغیر است.

      نشانه گذاری:

      •  {T | Condition}

      تمام Tuples T را که یک شرط را برآورده می کند ، برمی گرداند.

      برای مثال:

      مثال : 

      خروجی : برگرداندن همه tuples هایی که با نام “نویسنده” که مقاله ای را در “database” نوشته شده است.

      TRC قابل اندازه گیری است. می توانیم از (∃) Quantifiers Existential و (∀) Universal استفاده کنیم.

      برای مثال:

      مثال : 

      خروجی : کوئری بالا همان نتیجه قبلی را می دهد.

      آخرین موردی که قرار است در آشنایی با جبر Relational در سیستم مدیریت پایگاه داده به آن بپردازیم؛ حساب Domain Relational یا (DRC) است.

      حساب Domain Relational یا (DRC)

      در DRC، متغیر فیلتر به جای کل مقادیر tuple  از دامنه attributes  ها استفاده می کند (همانطور که در TRC انجام شد)

      نشانه گذاری:

      { (a1, a2, a3, …, an | P (a1, a2, a3, … ,an}

      جایی که در آن a1 ، a2 وجود دارد در حقیقت attributes های ما هستند و P مخفف فرمول هایی است که توسط attributes  های داخلی ساخته شده است.

      برای مثال:

      مثال : 

      خروجی : مقاله، صفحه و موضوع را از رابطه pvlearn که موضوع آن پایگاه داده است، بازگردانی می کند.

      درست مانند TRC ، DRC را می توان با استفاده از سنجش های existential و universal نیز نوشت. DRC همچنین شامل اپراتورهای relational است.
      قدرت انتقال حساب Tuple Relation و حساب Domain Relation و معادل جبر Relational است.

      سخن پایانی

      در این جلسه مفصلاً به آشنایی با جبر Relational در سیستم مدیریت پایگاه داده پرداختیم. جبر Relational یک کوئری رویه ای است که نمونه هایی از روابط را به عنوان ورودی در می آورد و نمونه هایی از روابط را به عنوان نتیجه ارائه می دهد. جبر Relational از اپراتورها operator برای انجام کوئری استفاده می کند.
      در جلسه بعدی
      با پی وی لرن همراه باشید.

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