مدلسازی معنایی داده

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

مدلسازی معنایی داده ها[ویرایش]

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

  • روش موجودیت- ارتباط[۱]
  • روش زبان عمومی مدلسازی[۲]

روش موجودیت- ارتباط[ویرایش]


مدل سازی به روش موجودیت- ارتباط؛ یکی از ابزارهای مدل سازی معنایی در پایگاه داده‌است که در سال ۱۹۷۶ توسط چن[۳] مطرح گردید. در این روش، سه مفهوم معنایی وجود دارد: "نوع موجودیت[۴]، صفت[۵]و نوع ارتباط[۶]". به عبارت بهتر، در این روش مشخص می شود که داه های پایگاه ما در مورد چه چیز هستند و چه ارتباطی با هم دارند.

به عنوان مثال در این روش برای مدلسازی معنایی داده های یک پایگاه داده های کتابشناختی، ابتدا مشخص می کنیم که چه داده هایی در مورد منابع اطلاعاتی باید در پایگاه قرار گیرند و ارتباط بخشهای مختلف این پایگاه با یکدیگر چگونه باید باشد. ارتباط این سه مفهوم در شکل ۱ نشان داده شده‌است.

شکل ۱: ارتباط بین مفاهیم معنایی در روش موجودیت- ارتباط
Mojodiat.png

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

• معنای مشخص

• مجموعه‌های از صفات

• مجموعه‌های از نمونه‌ها

• حالت کنش گری یا کنش پذیری

• عدم وابستگی و یا وابستگی به یک نوع دیگر

برای مثال در یک سیستم اطلاعات کتابخانه،انواع موجودیت‌ها می‌توانند شامل موجودیت منابع اطلاعاتی، پدید آورنده و... باشند. در یک سیستم آموزشی انواع موجودیت‌ها می‌توانند شامل موجودیت‌های درس، دانشجو، استاد، کلاس و... باشند.

هر نوع موجودیت شامل مجموعه‌ای از صفات (مشخصات) مربوط به آن موجودیت است که حالت یا وضع آن موجودیت را توصیف می‌کند. این صفات خود دارای رده بندی‌های مختلفی هستند که در زیر آمده‌است.


- "صفت:" صفات یک موجودیت بر حسب مفهوم آنها به دسته‌های زیر تقسیم می‌گردند:

ساده یا مرکب:[۷]

صفت ساده صفتی است که مقدار آن تجزیه نشدنی است. به این معنا که اگر مقدار آن را به اجزایی تجزیه کنید، مقادیر هر جز فاقد معنا است. مانند نام خانوادگی نویسنده.

صفت مرکب، صفتی است که از چند صفت ساده تشکیل شده و قابل تجزیه شدن است. مانند صفت وضعیت انتشار، که می‌تواند به محل نشر، نام ناشر و تاریخ انتشار تجزیه شود. لازم به ذکر است که می توان بر حسب نوع نیاز به جای استفاده از یک صفت مرکب، آن را به چندین صفت ساده شکست.

تک مقداری یا چند مقداری:[۸]

صفت تک مقداری صفتی است که حداکثر یک مقدار از میدان مقادیر را برای یک نمونه از یک نوع موجودیت می‌گیرد. به بیانی دیگر مقدار آن صفت برای نوع موجودیت مورد نظر، یک مقدار مشخص از میدان مقادیر مربوط به آن صفت می‌باشد. مثلا برای هر منبع اطلاعاتی یک شماره بازیابی وجود دارد.

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

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

هیچ مقدار پذیر یا هیچ مقدار ناپذیر: [۹]این مفهوم از مفاهیم مدل رابطه‌ای است، مقدار هیچ یعنی مقدار ناشناخته، مقدار تعریف نشده. ممکن است مقدار یک صفت برای برخی از نمونه‌های یک نوع موجودیت، ناشناخته باشد. لازم به ذکر است که صفت شناسه موجودیت نمی‌تواند هیچ مقدار پذیر باشد.

ذخیره شده(واقعی یا مبنا) یا مشتق [۱۰]: صفت واقعی آن صفتی است که مقادیرش در پایگاه داده‌ها ذخیره شده باشد. باید توجه داشت چنانچه صفت بعنوان شناسه نباشد، می‌تواند مقدار هیچ را نیز داشته باشد. صفت مشتق، صفتی است که مقادیرش در پایگاه داده‌ها ذخیره شده نباشد. این صفت وجود خارجی ندارد. ولی از روی دیگر صفات قابل محاسبه‌است. مانند سن افراد که از روی تاریخ تولد قابل محاسبه‌است.

هر صفت جنبه‌های زیر را دارد:

• نام

• معنا

• میدان (دامنه مقادیر)

• نوع مقدار

• طول مقدار

یک یا چند محدودیت ناظر به صفت

در شکل ۲ ارتباط بین رده‌های مختلف صفات آورده شده‌است.

شکل ۲: نمودار ارتباط دهنده رده‌های مختلف صفات
Nemood.png

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

نوع ارتباط عبارت است از تعامل بین n نوع موجودیت و ماهیتا نوعی بستگی بین انواع موجودیت‌ها است. به تعبیر دیگر، عملی است که بین انواع موجودیت‌ها جاری بوده، هست یا خواهد بود. هر نوع ارتباط یک معنای مشخص داشته و با یک نام بیان می‌شود.

خصوصیات نوع ارتباط:

- هر ارتباط یک نام دارد،

- هر ارتباط یک معنای مشخص دارد که با معنای هر ارتباط دیگر متفاوت است،

- هر ارتباط نمونه‌هایی دارد.

- "ارتباط:"ارتباط، تعامل بین دو یا بیش از دو نوع موجودیت است و به طور ماهوی، نوعی بستگی بین انواع موجودیت‌ها است.

نمودار ER[ویرایش]

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

Nemoodar.pngNemoodar2.pngNemoodar3.png

هر نمودار ER پاسخگوی مجموعه مشخصی از نیازهای کاربران است و بدیهی است که این نمودار با تغییر و رشد نیازهای کاربران تغییر یافته و توسعه داده می‌شود. یک نمونه از نمودار‌های ER را می توان در ادامه ملاحظه نمود.

نمودار۱: یک نمونه نمودار ER برای نمایش سیستم کتابخانه دانشگاهی

Qaq.png

مشکلات روش موجودیت-ارتباط[ویرایش]


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

• دام حلقه‌ای [۱۱]

• دام چند شاخه[۱۲]

• دام گسل [۱۳]

برای درک بهتر مفهوم این دامها، هریک از آنها در ادامه توضیح داده شده‌اند.

دام حلقه‌ای[ویرایش]

این دام وقتی ایجاد می‌شود که با داشتن مثلا سه ارتباط دو موجودیتی، وجود یک ارتباط سه موجودیتی را نتیجه گیری کنیم ولی این استنتاج درست نباشد.

دام چند شاخه‌ای[ویرایش]

این نوع دام وقتی ایجاد می‌شود که بین یک نوع موجودیت E و موجودیت‌های F و G ارتباط 1:N با مشارکت الزامی وجود داشته باشد، ولی ارتباط بین F و G دیده نشده باشد. در این صورت نمی توان وجود ارتباط بین F و G را بدست آورد.

دام گسل[ویرایش]

این نوع دام وقتی ایجاد می‌شود که بین دو نوع موجودیت E و F یک ارتباط 1:N و مشارکت الزامی وجود داشته باشد، ولی F با نوع موجودیت G ارتباط 1:N با مشارکت غیر الزامی داشته باشد. در این شرایط نمی توان تمام اطلاع‌های دو موجودیتی بین E و G را بدست آورد. اگر چنین فرضی در نظر گرفته شود، دچار دام گسل شده‌ایم.


روش زبان عمومی مدلسازی[ویرایش]


با مطرح شدن الگوهای شی گرایی که هر موجودیت در جهان واقع را شامل داده‌های آن موجودیت و عملکردهای مرتبط با آن توصیف می‌کرد، طراحان سیستم روش‌های موجودیت ارتباط را ناکارآمد تشخیص داده و در جستجوی یک روش جدید بودند تا بتوانند عملکرد هر موجودیت را نیز به نمایش بگذارند. از این رو روش زبان عمومی مدلسازی مطرح شد. مهمترین خصوصیت این روش، ایجاد امکانی برای ایجاد و نمایش اشیا جهان واقع و به صورت تصویری است. یکی از نکات مهم در این روش، وجود دانش کافی در مفاهیم شی گرایی است. به بیانی دیگر بدون دانستن مفاهیم شی گرایی، امکان استفاده موثر و به جا از این روش وجود ندارد.

مفاهیم اصلی[ویرایش]

اساس روش UML بر مبنای نمودار است. این روش از نمودار برای نمایش مدلسازی و طراحی نرم افزار استفاده می‌کند. چند نمونه از مهمترین نمودارها در این روش عبارتند از:

• نمودار کلاس

• نمودار چرخه حیات موجودیت

• نمودار مورد استفاده

• نمودار فعالیت

• نمودار پیاده سازی

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

• کلاس

• صفت

• بستگی

در روش UML دو گونه ارتباط بین رده‌ها وجود دارد که این دو نوع عبارتند از:

• بستگی

• تجمیع

که در این بین، مفهوم بستگی همان ارتباط بین کلاس‌ها است. تجمیع نیز عبارت است از ارتباط بین یک شی کل و شی‌های جز تشکیل دهنده آن.

خصوصیات کلی روش‌های مدلسازی معنایی داده‌ها[ویرایش]


هر روش مدلسازی معنایی داده‌ها باید دست کم دارای خصوصیات زیر باشد:

• گویایی

• سادگی مفاهیم

• ایجاز

• گسترش پذیری

• صوری بودن

• قابلیت نمایش نموداری

• جامع بودن مفاهیم

• قابلیت نمایش ساختار حالت و رفتار نوع موجودیت

باید به این نکته توجه داشت که برخی خصوصیات ذکر شده ممکن است با هم مغایر باشند. در این صورت، وجود یکی از این خصوصیت‌ها کافی است.

منابع[ویرایش]


• فروزنده، حبیب (۱۳۹۰). مدیریت پایگاه داده. تهران، عابد


Alagic, Suad (1986). Relational Database Technology. Available from http://books.google.com/books?id=MY6gcNxhxPcC&printsec=frontcover&dq=database&source=bl&ots=I-ivfiUwmo&sig=XYeftoA-jvzNlr1GJctxa33cPqs&hl=en&sa=X&ei=Q5QaUOrvOsTRhAestoGQBA&ved=0CEgQ6AEwBDgK#v=onepage&q=database&f=false


Powell, Gevin (2006). Beginning Database Design. Available from http://books.google.com/books?id=HbAhv1zAIQ8C&printsec=frontcover&dq=database&source=bl&ots=iUQ01XBO8X&sig=oXm9N_LsdqZMunF-4MGrJrYfqkE&hl=en&sa=X&ei=Q5QaUOrvOsTRhAestoGQBA&ved=0CE4Q6AEwBTgK#v=onepage&q=database&f=false :
• ریاضی نیا، مهدی (۱۳۸۸). پایگاه داده (کامپیوتر). تهران، جهاد دانشگاهی

پانویس[ویرایش]

  1. Entity Relationship
  2. Unified Modeling Language
  3. Chen
  4. Entity Type
  5. Attribute
  6. Relationship Type
  7. Single or Composite
  8. Single Valued or Multi Valued
  9. Null Valued
  10. Derived
  11. Loop Trap
  12. Fan Trap
  13. Chasm Trap

پیوند به بیرون[ویرایش]