مدلسازی معنایی داده
کاربران پایگاه داده به‌طور معمول با داده‌های ذخیره شده در پایگاه داده سر و کار دارند که اصطلاحاً به آن‌ها داده‌های عملیاتی می‌گویند. یکی از نکات مهم در ذخیره‌سازی داده‌ها مدلسازی معنایی داده‌ها می‌باشد. یعنی داده‌های ذخیره شدنی در پایگاه داده‌ها ابتدا باید در بالاترین سطح انتزاع، مدل‌سازی معنایی شوند. حال ممکن است این سؤال به ذهن برسد که مدل‌سازی معنایی به چه معنی است.
مدل سازی معنایی داده‌ها عبارت است از ارائه مدلی از محیط عملیاتی به کمک مفاهیمی مستقل از موضوعات مربوط به نمایش منطقی و فیزیکی داده‌ها. مدل‌سازی معنایی را در بعضی از کتب، طراحی ادراکی نیز می‌نامند. برای مدل‌سازی معنایی روش‌های مختلف وجود دارد. برخی روش‌های کلاسیک رایج عبارتند از:
مدل سازی به روش موجودیت- ارتباط؛ یکی از ابزارهای مدل‌سازی معنایی در پایگاه داده‌است که در سال ۱۹۷۶ توسط چن مطرح گردید. در این روش، سه مفهوم معنایی وجود دارد: "نوع موجودیت، صفت و نوع ارتباط". به عبارت بهتر، در این روش مشخص می‌شود که داه‌های پایگاه ما در مورد چه چیز هستند و چه ارتباطی با هم دارند.
به عنوان مثال در این روش برای مدلسازی معنایی داده‌های یک پایگاه داده‌های کتابشناختی، ابتدا مشخص می‌کنیم که چه داده‌هایی در مورد منابع اطلاعاتی باید در پایگاه قرار گیرند و ارتباط بخش‌های مختلف این پایگاه با یکدیگر چگونه باید باشد. ارتباط این سه مفهوم در شکل ۱ نشان داده شده‌است.
- "نوع موجودیت:" نوع موجودیت عبارت است از مفهوم کلی هر آنچه که می‌خواهیم در مورد آن اطلاعی جمع‌آوری کنیم و دانش خود را در موردش افزایش دهیم. گاه به نوع موجودیت، نوع شیی هم می‌گوییم. لازم بذکر است که تشخیص انواع موجودیت هادر یک محیط کاری دشوار می‌باشد. به‌طور کلی یک نوع موجودیت دارای خصوصیات زیر می‌باشد یا به بیانی دیگر لازم است اطلاعات زیر در مورد هر نوع موجودیتی بدست آید:برای مثال در یک سیستم اطلاعات کتابخانه، انواع موجودیت‌ها می‌توانند شامل موجودیت منابع اطلاعاتی، پدید آورنده و… باشند. در یک سیستم آموزشی انواع موجودیت‌ها می‌توانند شامل موجودیت‌های درس، دانشجو، استاد، کلاس و… باشند.
هر نوع موجودیت شامل مجموعه‌ای از صفات (مشخصات) مربوط به آن موجودیت است که حالت یا وضع آن موجودیت را توصیف می‌کند. این صفات خود دارای رده‌بندی‌های مختلفی هستند که در زیر آمده‌است. - "صفت:" صفات یک موجودیت بر حسب مفهوم آن‌ها به دسته‌های زیر تقسیم می‌گردند:
صفت ساده صفتی است که مقدار آن تجزیه نشدنی است. به این معنا که اگر مقدار آن را به اجزایی تجزیه کنید، مقادیر هر جز فاقد معنا است. مانند نام خانوادگی نویسنده.
صفت مرکب، صفتی است که از چند صفت ساده تشکیل شده و قابل تجزیه شدن است. مانند صفت وضعیت انتشار، که می‌تواند به محل نشر، نام ناشر و تاریخ انتشار تجزیه شود. لازم است ذکر شود که می‌توان بر حسب نوع نیاز به جای استفاده از یک صفت مرکب، آن را به چندین صفت ساده شکست.
صفت تک مقداری صفتی است که حداکثر یک مقدار از میدان مقادیر را برای یک نمونه از یک نوع موجودیت می‌گیرد. به بیانی دیگر مقدار آن صفت برای نوع موجودیت مورد نظر، یک مقدار مشخص از میدان مقادیر مربوط به آن صفت می‌باشد. مثلاً برای هر منبع اطلاعاتی یک شماره بازیابی وجود دارد.
صفت چند مقداری، صفتی است که بیش از یک مقدار از میدان مقادیر را برای حداقل یک نمونه از نوع موجودیت در بر می‌گیرد. مانند مقطع تحصیلی اعضای کتابخانه که ممکن است چند مقداری باشد، لیسانس، فوق لیسانس و… صفت واقعی آن صفتی است که مقادیرش در پایگاه داده‌ها ذخیره شده باشد. باید توجه داشت چنانچه صفت به عنوان شناسه نباشد، می‌تواند مقدار هیچ را نیز داشته باشد. صفت مشتق، صفتی است که مقادیرش در پایگاه داده‌ها ذخیره شده نباشد. این صفت وجود خارجی ندارد؛ ولی از روی دیگر صفات قابل محاسبه‌است. مانند سن افراد که از روی تاریخ تولد قابل محاسبه‌است.
هر صفت جنبه‌های زیر را دارد:
یک یا چند محدودیت ناظر به صفت
در شکل ۲ ارتباط بین رده‌های مختلف صفات آورده شده‌است.
شکل ۲: نمودار ارتباط دهنده رده‌های مختلف صفات
- "نوع ارتباط:"یکی از مفاهیم بسیار مهم در مدل‌سازی معنایی داده‌ها، مفهوم ارتباط یا بستگی است. ارتباط، تعامل بین دو یا بیش از دو نوع موجودیت است و به‌طور ماهوی بستگی بین انواع موجودیت‌ها است.
نوع ارتباط عبارت است از تعامل بین n نوع موجودیت و ماهیتا نوعی بستگی بین انواع موجودیت‌ها است. به تعبیر دیگر، عملی است که بین انواع موجودیت‌ها جاری بوده، هست یا خواهد بود. هر نوع ارتباط یک معنای مشخص داشته و با یک نام بیان می‌شود.
خصوصیات نوع ارتباط:
- هر ارتباط یک نام دارد، هر ارتباط یک معنای مشخص دارد که با معنای هر ارتباط دیگر متفاوت است، هر ارتباط نمونه‌هایی دارد.
- «ارتباط:» ارتباط، تعامل بین دو یا بیش از دو نوع موجودیت است و به‌طور ماهوی، نوعی بستگی بین انواع موجودیت‌ها است.
نمودار ER، نموداری است که در آن سه مفهوم اساسی مدل یعنی موجودیت، صفت و نوع ارتباط در آن نمایش داده می‌شوند. این نمودار اولین طرح پایگاه داده‌ها و مدل کلی آن در بالاترین سطح انتزاع می‌باشد. نمادها و مفهوم آن‌ها در زیر نشان داده شده‌اند.
هر نمودار ER پاسخگوی مجموعه مشخصی از نیازهای کاربران است و بدیهی است که این نمودار با تغییر و رشد نیازهای کاربران تغییر یافته و توسعه داده می‌شود. یک نمونه از نمودارهای ER را می‌توان در ادامه ملاحظه نمود. نمودار۱: یک نمونه نمودار ER برای نمایش سیستم کتابخانه دانشگاهی
در نتیجه درک نادرست و تفسیر ناصحیح از معنای ارتباطات در مدل‌سازی داده‌ها، مشکلاتی موسوم به دام‌های پیوندی نمایان می‌گردد. این دام‌های پیوندی عبارتند از:
برای درک بهتر مفهوم این دامها، هریک از آن‌ها در ادامه توضیح داده شده‌اند.
این دام وقتی ایجاد می‌شود که با داشتن مثلاً سه ارتباط دو موجودیتی، وجود یک ارتباط سه موجودیتی را نتیجه‌گیری کنیم ولی این استنتاج درست نباشد.
این نوع دام وقتی ایجاد می‌شود که بین یک نوع موجودیت 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 : • ریاضی نیا، مهدی (۱۳۸۸). پایگاه داده (کامپیوتر). تهران، جهاد دانشگاهی