به عنوان مثال در سیستم دانشگاه میتوانیم رابطه دانشجو را در نظر بگیریم :
این رابطه بر طبق مدل رابطهای به صورت زیر نمایش داده می شود:
شمارهشناساییسالورود رشته نام
۱۰۱۲ ۱۳۷۹کامپیوترعلی
۲۵۷۸ ۱۳۸۰ ریاضی حسین
۳۹۲۰ ۱۳۷۹ آماررضا
۱۷ ۱۳۸۱ کامپیوتر بهرام
هر ستون در مدل رابطهای نشان دهنده یک صفت خاصه(فیلد)از یک نوع موجودیت(دراین مثال دانشجو)و هر سطر نمایانگر یک نمونه از یک موجودیت (رکورد) میباشد.
خواص مدلدادهی رابطهای
یک جدول یا رابطه شامل خواص زیر است:
ردیفهای تکراری در آن وجود ندارد.
ترتیب ردیفها مهم نیست.
ترتیب ستونها مهم نیست.
مقادیر اتمیک(Atomic)میباشند(یا به عبارتی همه مقادیر صفات غیر قابل تجزیه هستند)
هر جدول شامل یک کلید است که با توجه به آن کلید موجودیت خاص می شود و از دیگر موجودیت ها تشخیص داده می شود.
اما این مدلداده دارای محدودیتهایی است:
این مدلدادههایی نظیر صوت و تصویر را نمیتواند ذخیره سازی کند.
در این مدل تنها میتوان از انواع دادههایی که تعریف شده اند استفاده کرد و امکان تعریف داده های جدید وجود ندارد.
۲-۲-۱-۲-مدل داده شیگرا
در مدل بانک اطلاعات شئگرا داده ها فقط به شکل شئ ذخیره میشوند و ارتباط بین داده ها،صفتها، محدودیتها، و مسائل زمان و مکان را نیز در بر میگیرد.اصلیترین مفاهیم مدل شیگرا به شرح زیر است[۴].
کلاس:قالب اطلاعاتی که ویژگیهای مورد نظر برای مجموعه همسان از اشیا دنیای واقعی را بیان می کند(مثلا کلاس دانشجو یا کلاس استاد)
هر کلاس شامل موارد زیر است :
مجموعه متغیرها که قالب داده های مربوط به آن کلاس را نگهداری می کنند.
مجموعه ای از متدها که هر یک کدی است برای پیادهسازی یک رفتار نوشته شده است.
شی:مجموعه مقادیر دادههایی که یک پدیده دنیای واقعی را بیان می کنند و نمونه ای از کلاس ویژهای می باشد(مثل هر یک از دانشجوها)
به عبارت دیگر کلاس معادل با شما(schema)و شی معادل با نمونه میباشد.
گروهبندی:نوع خاصی از این مفهوم وجود دارد که به نام شی مرکب معروف است که از مجموعه چند شئ یک شئ بزرگتر بوجود می آید.
این مفهوم کارائی بالایی دارد و ساختارهایی از قبیل مجموعه و آرایه را میتوان با آن پیاده سازی نمود.
ارث بری:وراثت روشی است برای اشتراک داده ها و رفتارها.مثلا رفتاری مانند شنیدن که به بسیاری از جانداران مربوط می شود،در شبیه سازی باغ وحش با بهره گرفتن از مفهوم ارث بری دیگر نیازی به تکرار این صفت نیست.در حقیقت وراثت یعنی اشتقاق کلاسها از یکدیگر و استفاده از کلاسها در تعریف کلاسهای دیگر که سلسله مرتب کلاسها به صورت درخت است.
پیام به معنی فراخوانی یک رویه میباشد.در هر متد فقط می توان به متغیرهای همان شی به طور مستقیم دسترسی داشت.برای دسترسی به داده های اشیا دیگر نیاز به ارسال پیام می باشد.در واقع طراحی بانک اطلاعات در مدل شئگرا یعنی ارائه بانک مورد نظر در قالب مکانیزم های ارائه شده توسط این مدل مانند:کلاس،وراثت،گروهبندی و…
داده های بانک اطلاعات در این مدل بصورت اشیایی در میآیند که به طرق مختلف در ارتباط با یکدیگر قرار میگیرند و عملیات گوناگون مانند وارد کردن داده ها، حذف و اضافه و به روز درآوردن آنها و استخراج اطلاعات توسط پیامهایی که بین اشیا رد و بدل می شود قابل انجام است.
یکی از بزرگترین دلایل توفیق بانک اطلاعات شی گرا امکان تعریف نوع داده توسط کاربر است.
مدل شئ گرایی به کاربر امکان میدهد که ضمن استفاده از انواع ساده داده های تعریف شده،خود نیز به طور دلخواه به تعریف داده بپردازد و آنها را کنترل و پیادهسازی کند. که مفاهیم شیگرایی تعریف شده در این مدل مانند: وراثت ، چندریختی و… به این عمل قدرت فوق العاده ای بخشیده است.
DBMSچنـد کاربره باید امکان دسترسی همزمان به پایگاهداده را به کاربران بدهد. اگر کاربران همزمان بخواهند قسمتی از پایگاهداده را دستکاری کنند سیستم پایگاهداده را از این دسترسی ایمن می کند و به کاربری که زودتر درخواست کار با پایگاهداده کرده باشد اجازه داده می شود داده ها را دستکاری کند؛ در طول این عمل کاربران دیگر به این قسمت از پایگاهداده دسترسی ندارند.در بانکهای اطلاعاتی شیگرا برای رفع این مشکل،تراکنش بصورت همزمان پیاده سازی شده است بدین صورت که چند کاربر بطور همزمان می توانند به یک قسمت مشخص از پایگاهداده دسترسی داشته باشند.
تقریبا تمام سیستمهای رابطهای از تراکنش بلند مدت پشتیبانی نمیکند. این مسئله هنگام کار با سیستمهایی که نیاز به دسترسی اطلاعات به صورت بلند مدت را دارد با مشکل مواجه می کند.برای غلبه بر این مشکل سیستم شیگرا تراکنش بلندمدت را پشتیبانی می کند.بانک شئگرا بصورت یک سیستم باز تعریف شده است که همواره میتوان داده ها، دامنهها و پردازشهای جدیدی را بهآن افزود این عمل امکان دسترسی کاربران به مدت طولانی به پایگاهداده را میسر میسازد.
ضعف بانک اطلاعات مدل شئ گرا :
مدلهای شیگرا نسبت به مدل رابطهای در بعضی شرایط از امنیت پایینی برخوردار هستند بعضی از OODB ها نیاز دارند که کاربر صریحا قفلها را قرار داده و مدیریت کنند ولی در مدل رابطهای این عمل بصورت خودکار انجام می شود.
۲-۲-۱-۳-مدل داده شیرابطهای
یک مدلداده شیگرا-رابطهای پایگاهداده دادهای است شبیه به پایگاهداده رابطهای اما با مدل شیگرا. میتوان گفت یک پایگاهداده شیگرا یک میانه است بین پایگاهداده رابطهای و شیگرا. از مدلهای رابطهای در ذخیره و بازیابی داده ها و از مدل شیگرا برای مدل سازی عملگرها استفاده کردند]۳[.
۲-۲-۲-مدل داده ای غیر ساختیافته
با تولید داده های بیشتر و متنوعتر سرعت بالاتر دیگر پایگاهداده های رابطهای پاسخگوی مدیریت داده ها نیستند.زیرا پایگاهداده های مبتنی بر SQL یک شمای خاص از پیش تعیین شده دارند و این باعث می شود نتوان به آسانی به آن ردیفی اضافه کرد.برای اضافه کردن یک ردیف باید کل پایگاهداده را به یک جدول جدید اضافه کنیم.به دلیل این مشکلات در سال ۲۰۰۹ پایگاهداده ی جدیدی به نام NOSQL معرفی شد که اینپایگاهداده هاNOSQL طرح از پیش تعیین شدهای ندارند و بهراحتی میتوان داده های با حجم زیاد و تنوع بالا را در آن ذخیره کرد[۱۲].
پایگاهداده های سنتی داده ها را درون یک سرور نگهداری میکردند و این باعث میشد نتوان از حجم زیاد داده ها پشتیبانی کرد اما پایگاهداده های NOSQL به طور خودکار داده ها را به اشتراک میگذارند،یعنی داده ها را در سراسر تعداد دلخواهی از سرورها پخش می کنند.البته اشتراک گذاری داده ها در پایگاهداده های سنتی نیز امکان پذیر بود.اما معمولا پیچیده است. انجام این کار باعث می شود این پایگاهها بصورت خودکار خاصیت تکرار را نیز پشتیبانی کنند که این خاصیت باعث می شود هنگامی که چند برنامه به یکسری اطلاعات نیاز دارند بدون ایجاد گلوگاه بتوانند به اطلاعات دسترسی داشته باشند و همینطور هنگامی که در صورت بروز مشکل داده ها از بین رفت بتوان بدون مشکل داده ها را جایگزین کرد.
با توجه به صحبتهای بالا به طور کلی ویژگیهای اصلی پایگاهداده های NOSQLرا میتوان به ترتیب زیر نام برد:
بدون شما (Schema)بودن این پایگاهداده ها
توزیع داده ها در چند سرور در مکانهای متفاوت
تکرار داده ها
سیستمNoSql به جهت دستهبندی نحوهی ذخیرهسازی دادهها و ارتباط بین آنها به ۴ دسته کلی تقسیم میشود ]۱۶[:
پایگاهداده های کلید ارزش
پایگاهداده های سند گرا
پایگاهداده های ستونی