به دلایل شباهت­‌های بسیاری که شیرپوینت با دیتابیس‌­ها دارد همیشه این سوال مطرح است که آیا می‌توان از شیرپوینت به عنوان یک دیتابیس پیشرفته استفاده نمود؟

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

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

همانطور که در مقاله‌­های شیرپوینت بدون مرز قسمت اول و شیرپوینت بدون مرز قسمت دوم نیز اشاره کردیم توانایی‌های شیرپوینت بدون مرز نیست و همچنین در برخی از نیازها، شیرپوینت قدرت و توانایی باورنکردنی دارد مانند سامانه‌­های مدیریت مستندات، پرتال های سازمانی و…

آیا از شیرپوینت می‌توان به عنوان دیتابیس استفاده نمود؟

در این مقاله قصد داریم به این موضوع بپردازیم که چرا نباید شیرپوینت را به عنوان یک دیتابیس استفاده نمود.

  • روابط داده­‌ها (Data Relationships)

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

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

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

  • محدودیت تعداد آیتم‌­های یک لیست

در شیرپوینت می‌توان لیست­‌ها یا مخازن اسنادی با 30 میلیون آیتم یا سند داشت. ولی مشکل از آنجا شروع می‌شود که خواندن این آیتم­‌ها یا اسناد به صورت همزمان دارای محدودیت است، محدودیتی که وابسته به نوع اطلاعات از 2000 مورد ( بنا به پیشنهاد تیم توسعه‌دهنده شیرپوینت برای کارآیی هر چه بهتر) شروع می‌شود تا حدود 5000 مورد میرسد و همچنین بروز رسانی اسناد به صورت تکی انجام می‌شود. پس یکی از اصول دیتابیس که کوئری و همچنین بروزرسانی آیتم­های یک جدول به صورت جمعی است را نمیتوان در شیرپوینت شبیه­‌سازی کرد.

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

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