09982292579
info@mehraeen.ac.ir
فارسی پرچم
فارسی
یک زبان را انتخاب کنید
فارسی پرچم
فارسی
0
دسته ها
خانه تقویم‌آموزشی مدرس وبلاگ چارت‌‌دروس تماس‌با‌ما درباره‌ما انجمن‌ها
پایگاه داده ها
پایگاه داده ها درس متنی

جلسه 7 مدل داده رابطهاي رابطه، ویژگي، تاپل، بسط، کاردینالیتي مفاهیم موجودیت، موجودیت ضعیف،

خلاصه نکات کلیدی برای تدریس: تمرکز بر مدل‌سازی: هدف اصلی مدل داده رابطه‌ای، سازماندهی داده‌ها به صورت منطقی و قابل فهم است. ER Diagram (نمودار رابطه موجودیت) ابزار اصلی این کار است. جداول، سطرها و ستون‌ها: پایگاه داده رابطه‌ای مانند مجموعه‌ای از صفحات گسترده (جداول) است که هر صفحه اطلاعات یک نوع موجودیت را نگه می‌دارد. سطرها (تاپل‌ها) نمونه‌های فردی و ستون‌ها (ویژگی‌ها) مشخصات آن نمونه‌ها هستند. کلیدها، کلیدها، کلیدها: کلید اصلی برای شناسایی یکتا و کلید خارجی برای ایجاد ارتباط بین جداول حیاتی هستند. بدون آن‌ها، پایگاه داده شما کارایی لازم را نخواهد داشت. کاردینالیتی و روابط: درک اینکه چگونه موجودیت‌ها به هم مرتبط می‌شوند (1:1, 1:N, N:M) برای طراحی درست جداول و جلوگیری از افزونگی داده ضروری است. روابط N:M معمولاً با ایجاد یک جدول واسط حل می‌شوند. اعتبار داده‌ها (Integrity): قواعد جامعیت (موجودیت، ارجاعی، دامنه) مانند نگهبانان داده عمل می‌کنند و از ورود اطلاعات اشتباه جلوگیری کرده و سازگاری کلی سیستم را حفظ می‌کنند.

مقدمه:

مدل داده رابطه‌ای، پایه و اساس اکثر سیستم‌های مدیریت پایگاه داده مدرن، از جمله SQL Server، Oracle، MySQL و PostgreSQL است. این مدل بر اساس مفهوم ریاضی مجموعه ها و منطق رابطه‌ای بنا شده و اطلاعات را در قالب جداول سازماندهی می‌کند.

مفاهیم کلیدی:


  1. موجودیت (Entity):


  • تعریف: یک موجودیت، شیء یا مفهوم قابل شناسایی در دنیای واقعی است که داده‌های مربوط به آن در پایگاه داده ذخیره می‌شود. موجودیت‌ها می‌توانند اشیاء فیزیکی (مانند دانشجو، کتاب، خودرو) یا مفاهیم انتزاعی (مانند دوره آموزشی، وام بانکی) باشند.

  • مثال: در یک سیستم دانشگاهی، “دانشجو” یک موجودیت است.


  1. موجودیت ضعیف (Weak Entity):


  • تعریف: موجودیتی که نمی‌تواند به طور مستقل شناسایی شود و وجودش وابسته به موجودیت دیگری (موجودیت قوی) است. موجودیت ضعیف معمولاً دارای کلید اصلی نیست و توسط ترکیبی از صفات خودش و کلید اصلی موجودیت قوی شناسایی می‌شود.

  • مثال: “فرزند” می‌تواند یک موجودیت ضعیف باشد که وابسته به موجودیت “کارمند” است. اطلاعات یک فرزند به تنهایی معنی‌دار نیست مگر اینکه بدانیم فرزند کدام کارمند است.


  1. فرا موجودیت (Superclass/Supertype) و زیرموجودیت (Subclass/Subtype):


  • تعریف: در مدل‌های شیءگرا و گاهی در مدل‌سازی ER پیشرفته، می‌توان روابط وراثت را مدل کرد. فرا موجودیت، موجودیت عام‌تری است که صفات مشترک چندین موجودیت دیگر را در بر می‌گیرد. زیرموجودیت‌ها، موجودیت‌های خاص‌تری هستند که از فرا موجودیت به ارث می‌برند و صفات خاص خود را نیز دارند.

  • مثال: “شخص” می‌تواند یک فرا موجودیت باشد و “دانشجو” و “استاد” زیرموجودیت‌های آن باشند. هر دو دانشجو و استاد “نام”، “نام خانوادگی” و “کد ملی” دارند (صفات فرا موجودیت)، اما دانشجو “شماره دانشجویی” و استاد “شماره پرسنلی” دارد (صفات خاص).


  1. رابطه (Relationship):


  • تعریف: ارتباط یا پیوند بین دو یا چند موجودیت. روابط نشان می‌دهند که موجودیت‌ها چگونه با یکدیگر در تعامل هستند.

  • مثال: رابطه “ثبت‌نام” بین موجودیت‌های “دانشجو” و “درس”.


  1. ویژگی (Attribute):


  • تعریف: خاصیت یا صفتی که یک موجودیت یا رابطه را توصیف می‌کند. ویژگی‌ها مقادیر مشخصی را برای هر نمونه از موجودیت یا رابطه نگه می‌دارند.

  • مثال: برای موجودیت “دانشجو”، ویژگی‌هایی مانند “نام”، “نام خانوادگی”، “شماره دانشجویی”، “معدل” تعریف می‌شوند.


  1. تاپل (Tuple):


  • تعریف: در مدل رابطه‌ای، هر ردیف (سطر) در یک جدول، یک تاپل یا رکورد نامیده می‌شود. هر تاپل نمایانگر یک نمونه یا رکورد از موجودیت یا رابطه است.

  • مثال: در جدول “دانشجو”، هر سطر که اطلاعات یک دانشجو را شامل می‌شود، یک تاپل است.


  1. بسط (Degree):


  • تعریف: تعداد موجودیت‌هایی که در یک رابطه شرکت می‌کنند.

  • یوناری (Unary) یا یکتایی: رابطه‌ای بین یک موجودیت و خودش (مثلاً رابطه “سرپرستی” بین کارمندان).

  • باینری (Binary) یا دوتایی: رابطه‌ای بین دو موجودیت (رایج‌ترین نوع).

  • ترنری (Ternary) یا سه‌تایی: رابطه‌ای بین سه موجودیت.

  • مثال: رابطه “ثبت‌نام” بین “دانشجو” و “درس” یک رابطه باینری است.


  1. کار‌دینالیتی (Cardinality) رابطه:


  • تعریف: مشخص می‌کند که چند نمونه از یک موجودیت می‌توانند با چند نمونه از موجودیت دیگر از طریق یک رابطه مرتبط شوند. کاردینالیتی شامل انواع زیر است:

  • یک به یک (One-to-One | 1:1): هر نمونه از موجودیت A با حداکثر یک نمونه از موجودیت B مرتبط است و برعکس.

  • مثال: رابطه “مدیر” بین “کارمند” و “پروژه” (اگر هر پروژه توسط دقیقاً یک کارمند مدیریت شود و هر کارمند دقیقاً یک پروژه را مدیریت کند).

  • یک به چند (One-to-Many | 1:N): هر نمونه از موجودیت A می‌تواند با چند نمونه از موجودیت B مرتبط شود، اما هر نمونه از موجودیت B تنها با یک نمونه از موجودیت A مرتبط است.

  • مثال: رابطه “دارای” بین “بخش” و “کارمند” (یک بخش می‌تواند چندین کارمند داشته باشد، اما هر کارمند به یک بخش تعلق دارد).

  • چند به چند (Many-to-Many | N:M): هر نمونه از موجودیت A می‌تواند با چند نمونه از موجودیت B مرتبط شود و برعکس.

  • مثال: رابطه “نوشتن” بین “دانشجو” و “کتاب” (یک دانشجو می‌تواند چندین کتاب بنویسد و یک کتاب می‌تواند توسط چندین دانشجو نوشته شود).


  1. انواع ویژگی‌ها (Attribute Types):


  • صفت کلید اصلی (Primary Key Attribute): ویژگی یا مجموعه‌ای از ویژگی‌ها که به طور منحصر به فرد هر تاپل را در یک جدول شناسایی می‌کند. مقدار کلید اصلی نمی‌تواند NULL باشد و باید یکتا باشد.

  • مثال: شماره_دانشجویی در جدول “دانشجو”.

  • صفت کلید خارجی (Foreign Key Attribute): ویژگی در یک جدول که به کلید اصلی جدول دیگر اشاره می‌کند. برای برقراری ارتباط بین جداول استفاده می‌شود.

  • مثال: کد_بخش در جدول “کارمند” که به کد_بخش (کلید اصلی) در جدول “بخش” اشاره می‌کند.

  • صفت استنتاجی (Derived Attribute): ویژگی که مقدار آن را می‌توان از مقادیر ویژگی‌های دیگر محاسبه یا استنتاج کرد. معمولاً در مدل‌سازی ER نمایش داده نمی‌شود اما در پیاده‌سازی پایگاه داده ممکن است با استفاده از توابع یا view ها پیاده‌سازی شود.

  • مثال: “سن” که از “تاریخ تولد” قابل محاسبه است.

  • صفت چندگانه (Multivalued Attribute): ویژگی که می‌تواند بیش از یک مقدار برای یک نمونه از موجودیت داشته باشد. در مدل رابطه‌ای، این نوع صفات معمولاً به یک جدول جداگانه منتقل می‌شوند.

  • مثال: “شماره تلفن” برای یک “دانشجو” (ممکن است دانشجو چندین شماره تلفن داشته باشد: منزل، همراه، محل کار). این مورد به یک جدول “شماره_تلفن_دانشجو” با ستون‌های شماره_دانشجویی و شماره_تلفن تبدیل می‌شود.

  • صفت ساده (Simple Attribute): ویژگی که قابل تجزیه به اجزای کوچکتر نیست.

  • مثال: “نام خانوادگی”.

  • صفت مرکب (Composite Attribute): ویژگی که می‌توان آن را به اجزای کوچکتر تقسیم کرد.

  • مثال: “آدرس” که می‌تواند شامل “خیابان”، “شهر”، “کد پستی” باشد.


  1. جامعیت (Participation) و قواعد جامعیت (Integrity Constraints):


  • تعریف جامعیت: جامعیت به معنای صحت، سازگاری و دقت داده‌ها در پایگاه داده است. قواعد جامعیت، محدودیت‌هایی هستند که برای تضمین این دقت و جلوگیری از ورود داده‌های نامعتبر تعریف می‌شوند.

  • انواع قواعد جامعیت در مدل داده رابطه‌ای:

  • جامعیت موجودیتی (Entity Integrity): تضمین می‌کند که کلید اصلی یک جدول نمی‌تواند مقدار NULL داشته باشد. این قاعده اطمینان می‌دهد که هر رکورد قابل شناسایی است.

  • جامعیت ارجاعی (Referential Integrity): تضمین می‌کند که مقادیر کلید خارجی باید یا با مقادیر موجود در کلید اصلی جدول مرجع مطابقت داشته باشند، یا NULL باشند (اگر مجاز باشد). این قاعده ارتباط بین جداول را سازگار نگه می‌دارد.

  • جامعیت دامنه (Domain Integrity): تضمین می‌کند که مقادیر ذخیره شده در هر ستون (ویژگی) باید از نوع داده و محدوده مجاز تعریف شده برای آن ستون باشند (مثلاً سن نمی‌تواند منفی باشد، یا یک فیلد تاریخ باید فرمت تاریخ معتبر داشته باشد).


خلاصه نکات کلیدی برای تدریس:


  • تمرکز بر مدل‌سازی: هدف اصلی مدل داده رابطه‌ای، سازماندهی داده‌ها به صورت منطقی و قابل فهم است. ER Diagram (نمودار رابطه موجودیت) ابزار اصلی این کار است.

  • جداول، سطرها و ستون‌ها: پایگاه داده رابطه‌ای مانند مجموعه‌ای از صفحات گسترده (جداول) است که هر صفحه اطلاعات یک نوع موجودیت را نگه می‌دارد. سطرها (تاپل‌ها) نمونه‌های فردی و ستون‌ها (ویژگی‌ها) مشخصات آن نمونه‌ها هستند.

  • کلیدها، کلیدها، کلیدها: کلید اصلی برای شناسایی یکتا و کلید خارجی برای ایجاد ارتباط بین جداول حیاتی هستند. بدون آن‌ها، پایگاه داده شما کارایی لازم را نخواهد داشت.

  • کاردینالیتی و روابط: درک اینکه چگونه موجودیت‌ها به هم مرتبط می‌شوند (1:1, 1:N, N:M) برای طراحی درست جداول و جلوگیری از افزونگی داده ضروری است. روابط N:M معمولاً با ایجاد یک جدول واسط حل می‌شوند.

  • اعتبار داده‌ها (Integrity): قواعد جامعیت (موجودیت، ارجاعی، دامنه) مانند نگهبانان داده عمل می‌کنند و از ورود اطلاعات اشتباه جلوگیری کرده و سازگاری کلی سیستم را حفظ می‌کنند.


مثال کاربردی:

فرض کنید می‌خواهیم یک پایگاه داده ساده برای یک کتابخانه طراحی کنیم.

موجودیت‌ها:


  • کتاب (Book): اطلاعات مربوط به هر کتاب.

  • نویسنده (Author): اطلاعات مربوط به هر نویسنده.

  • عضو (Member): اطلاعات مربوط به اعضای کتابخانه.

ویژگی‌ها:


  • کتاب: کد_کتاب (کلید اصلی)، عنوان، سال_انتشار، کد_نویسنده (کلید خارجی).

  • نویسنده: کد_نویسنده (کلید اصلی)، نام_نویسنده، ملیت.

  • عضو: کد_عضو (کلید اصلی)، نام_عضو، آدرس، شماره_تلفن.

روابط:


  • نوشته_است (Written_By): بین نویسنده و کتاب.

  • کاردینالیتی: یک نویسنده می‌تواند چندین کتاب بنویسد (1:N). در این حالت، کد_نویسنده به عنوان کلید خارجی در جدول کتاب قرار می‌گیرد. اگر یک کتاب بتواند توسط چند نویسنده نوشته شود، این رابطه N:M خواهد بود و نیاز به یک جدول واسط (مثلاً کتاب_نویسنده) داریم.

  • امانت_گرفته (Borrowed_By): بین عضو و کتاب.

  • کاردینالیتی: یک عضو می‌تواند چندین کتاب امانت بگیرد و یک کتاب می‌تواند توسط چندین عضو (در زمان‌های مختلف) امانت گرفته شود (N:M). بنابراین، نیاز به یک جدول واسط داریم:

  • جدول امانت (Loan): شماره_امانت (کلید اصلی)، کد_عضو (کلید خارجی)، کد_کتاب (کلید خارجی)، تاریخ_امانت، تاریخ_برگشت.

قواعد جامعیت:


  • کد_کتاب، کد_نویسنده، کد_عضو نمی‌توانند NULL باشند.

  • کد_نویسنده در جدول کتاب باید معادل یکی از کد_نویسنده های موجود در جدول نویسنده باشد.

  • کد_عضو و کد_کتاب در جدول امانت باید معادل مقادیر موجود در جداول عضو و کتاب باشند.

  • سال_انتشار باید یک عدد صحیح و معتبر باشد.


تمرین پایان فصل:


  1. جدول‌های لازم برای مدل‌سازی اطلاعات مربوط به دانشجویان، استادان و کلاس‌های درسی را طراحی کنید. فرض کنید:


  • هر دانشجو می‌تواند در چندین کلاس ثبت‌نام کند و هر کلاس می‌تواند چندین دانشجو داشته باشد (رابطه N:M).

  • هر استاد می‌تواند چندین کلاس را تدریس کند، اما هر کلاس توسط دقیقاً یک استاد تدریس می‌شود (رابطه 1:N).

  • یک دانشجو می‌تواند توسط چندین استاد راهنمایی شود (رابطه N:M).

  • مشخص کنید کلیدهای اصلی و خارجی کدامند و نوع هر رابطه را مشخص کنید.












































  1. مفاهیم “موجودیت ضعیف” و “صفت چندگانه” را با مثال‌هایی در حوزه فروشگاه آنلاین توضیح دهید. چگونه این موارد را در مدل رابطه‌ای پیاده‌سازی می‌کنید؟




  2. قاعده “جامعیت ارجاعی” (Referential Integrity) را تعریف کرده و توضیح دهید چرا برای حفظ سازگاری داده‌ها در پایگاه داده ضروری است. مثالی از نقض این قاعده و نحوه جلوگیری از آن بیاورید.

دروس متنی

#1

جلسه1 مقدمه اي بر فایل ها عناصر و اجزاي فایل، مشکلات فایل، نسلهاي ذخیره و بازیابي اطلاعات، دادههاي حجیم 4

#2

جلسه 2تعریف پایگاه داده ها

#3

جلسه 3معماري پایگاه داده ها و... ANSI/SPARC معماري کلاینت- سرور، معماري دید داخلي، دید ادراکي، دید خارجي – ارتباطات بین دیدها- زبان میزبان – زبان فرعي داده- مدیر پایگاه داده، وظایف مدیر پایگاه داده، دیکشنري داده ها

#4

جلسه 4 سیستم مدیریت پایگاه داده وظایف سیستم مدیریت پایگاه داده، ارتباط سیستم مدیریت پایگاه داده و سطوح معماري پایگاه داده

#5

جلسه 5روند اجراي درخواست کاربر در سیستم نحوه ارتباط، نحوه اجراي درخواست

#6

جلسه 6انواع روشهاي مدلسازي داده رابطهاي-شيءگرا با مزایا و ،ER توصیف و تشریح مدلهاي داده سلسلهمراتبي، شبکهاي، رابطهاي معایب آنها

#7

جلسه 7 مدل داده رابطهاي رابطه، ویژگي، تاپل، بسط، کاردینالیتي مفاهیم موجودیت، موجودیت ضعیف،

#8

جلسه 8پیادهسازي عملیات روي رابطه ها استاندارد و شرح دستورات تخصصي تعریف داده، دستکاري داده و مدیریت داده، ایجاد SQL زبان پرسوجوهاي نمونه اي روي پایگاه داده

#9

جلسه 9نرمالسازي 4هدف از نرمالسازي، فرم اول نرمال، فرم دوم نرمال، فرم سوم نرمال

مشاهده دروس کامل بررسی صفحه یادگیری دوره
درس متنی 7/9
در حال مشاهده
جلسه 7 مدل داده رابطهاي رابطه، ویژگي، تاپل، بسط، کاردینالیتي مفاهیم موجودیت، موجودیت ضعیف،