زمانی که اطلاعاتی را در کامپیوتر خود ذخیره می کنیم، در واقع به یک پایگاه داده در آن نیاز داریم. بدین ترتیب از این پس برای دسترسی به این اطلاعات لازم است فرایندها، عملگرها و دستورالعمل هایی مورد استفاده قرار گیرند تا ارتباط بین ما و این دیتابیس برقرار شود. در واقع به زبان مشترکی نیاز داریم تا اقدامات ما را برای کامپیوتر تعریف کند و بالعکس. اما چه اتفاقی می افتاد اگر با یک زبان مشترک، تمام پایگاه های اطلاعاتی کامپیوتر نیز با هم هماهنگ می شدند و با این یکپارچگی، تمام نرم افزارهای ما بصورت واحد و متمرکز در اختیار ما قرار داشتند.
پایگاه داده SQL چیست؟
به دلیل نیاز به داده های مختلف در سازمان، باید فرم خاصی از داده ها را به منظور استفاده های آتی در سرور های سازمان ذخیره کنیم؛ به همین دلیل آن ها را در ساختار های خاص از پیش تعیین شده ای ذخیره خواهیم کرد. معروف ترین این ساختار های پیش فرض، SQL و NO-SQL نام دارند. معمولا نرم افزارهای سازمانی (Enterprise) از ساختار های داده ای sql استفاده می کنند. این ساختار در واقع شامل چندین جدول (Table) متفاوت است که تمامی اطلاعات مورد نظر در آن وجود دارد. هر سطر در این جداول متعلق به داده های مرتبط به یک کد می باشد. نکته مهم در ارتباط با این پایگاه داده آن است که sql به چگونگی ذخیره سازی داده ها ورود نمی کند و تنها به نوع ساختار ذخیره اطلاعات مرتبط است. به همین ترتیب جداول دیگر مانند جدول نقش ها و … نیز در این سیستم وجود داشته که ارتباط این اطلاعات با یکدیگر توسط کدهای معرف در هر سطر متعلق به هر جدول انجام خواهد شد که رفرنس کردن نام دارد. در واقع سیکوئل (SQL) ، شکل دهی به داده ها در یک ساختار منظم به منظور ارتباط بهتر با سایر داده هاست.
اما چرا ساختار های SQL اهمیت دارند؟
از آنجایی که نرم افزارهای سازمانی اینترپرایز یا به طور دقیق تر تمام نرم افزارهای مالی، سی ار ام و سایر سیستم های اینترپرایز بخصوص در ایران، از ساختار های داده ای SQL استفاده می کنند؛ به همین دلیل برای برقراری بهتر ارتباط و نظام دهی داده ای، از پایگاه های داده SQL استفاده می شود.
به بیان دیگر:
مجموعه از اطلاعات و دیتا که ساختار منظم دارند را به نام بانک های اطلاعاتی، دیتابیس و یا پایگاه داده می شناسیم. برای کاربردی شدن این اطلاعات و استفاده از آنها توسط کامپیوتر، باید آنها را با یک زبان خاص برای کامپیوتر تعریف و ذخیره کرد. مثال خیلی ساده از پایگاه های داده، بازی اسم-فامیل و یا دفترچه تلفن منازل است. آنها نیز پایگاه های داده هستند؛ فقط با این فرق که بر روی کاغذ ذخیره شده اند.
در اینجا، بحث ما مربوط به دیتابیس هایی است که بر روی کامپیوتر ذخیره شده اند. هر کدام از این پایگاه های داده با کمک ابزارهای مختلف، برای جمع آوری یک یا چند موجودیت و یا توصیف ارتباط آنها استفاده می شود. اما لازم است که پیش از این مرحله، یک کاربر یا مدیر دیتابیس، اطلاعات و نحوه جمع آوری آن را تعریف کند.
ولی چطور یک انسان و یک کامپیوتر میتوانند با یکدیگر صحبت کنند؟ برای ایجاد ارتباط بین کاربر و پایگاه های داده، از Data Base Management System یا همان سیستم مدیریت پایگاه داده (DBMS) استفاده می شود. این سیستم دستورات را از طریق یک زبان خاص به نام Structured Query Language همان SQL دریافت میکند و درواقع همین زبان است که ارتباط بین بشر و رایانه را میسر می کند.
به کمک SQL که یک استاندارد ANSI است، می توان داده ها را ایجاد، بروزرسانی و یا حذف کرد. همچنین امکان ایجاد Script، نماها و اعمال مجوزها روی اطلاعات ثبت شده وجود دارد. اینکه چه اتفاقی در پشت پردهی SQL برای بازخوانی اطلاعات در پایگاه داده ها می افتد در این مقطع اهمیتی ندارد، صرف نظم دهی در این ساختار و عمل خوانش داده ها در sql مهم است.
انواع پایگاه های داده ای SQL کدامند؟
شرکت های مختلف پروتکل های مختلفی از این پایگاه داده را ارائه کرده اند: هر مورد از این نسخه ها یا پروتکل ها دارای ویژگی های مختص به خود بوده و برای هدفی خاص طراحی شده اند اما فلسفه وجود همهی آن ها یکی است؛ یعنی همگی برای نظام دهی به داده ها و اطلاعات به منظور ارتباط ساده تر، به وجود آمده اند.
در واقع اگر SQL را خودرو فرض کنیم، هر شرکت متناسب با نیازها و اهداف خود، خودروی مورد نظر خود را تولید می کند. اگر کانسپت خودرو را SQL بدانیم، هر برند می تواند تغییرات مد نظر خود را روی ماشین ها اعمال کند و آن را معرفی نماید، اما در ماشین بودن و کارکرد واحد آن خللی وارد نمی شود.
در دنیای پایگاه های داده نیز، بسیاری از شرکت ها تغییرات خود را روی SQL انجام می دهند و نسخه ی خود را روانه بازار می کنند. در واقع همگی از همان قوانین طبعیت می کنند، فقط زیر ساخت سیکوئلی خود را ارائه داده اند: مثلاMy SQL ، Access : Oracle ،SQL Server
mysql
مای اس کیو ال، که ابتدا توسط یک شرکت سوئدی به نام mysql AB در سال ۱۹۹۴ ارائه شد، یک سیستم مدیریت پایگاه داده ها است که بصورت متن باز عمل می کند و بر اساس مدل ” رابطه ای ” اطلاعات را از دیتا بیس جابجا می کند.
Access
در سال ۱۹۹۲ توسط شرکت Microsoft با ویندوز مایکروسافت ارائه شد و بدین ترتیب هر بسته از پایگاه داده، می توانست از طریق تکنولوژی ODBC با سایرین ارتباط برقرار کنند.
Oracle
اوراکل در واقع به عنوان پل ارتباط میان هر منبع و دیگر پایگاه های خارجی استفاده می شود و عاملی است که بر صحت داده های ارائه شده نیز نظارت می کند. این زبان توسط شرکت Relational Software که بعدها به Oracle تغییر نام داد، توسعه یافت و جزو اولین نرم افزارهایی بود که میان پایگاه های داده، ارتباط ” تجاری ” ایجاد کرد.
SQL Server
Microsoft SQL Server یک پایگاه داده قدرتمند است که توسط شرکت مایکروسافت توسعه یافته و علاوه بر خدمت رسانی به عنوان یک دیتابیس رابطه ای و تجاری سازی شده، بر اطلاعات مدیریت هوشمند نیز انجام می دهد.
هر کدام از پایگاه های داده ی معرفی شده دارای نقاط قوت و ضعف متفاوتی هستند که متناسب با شرایط هر سازمان و نیاز اطلاعاتی آنان، کاربرد خواهند داشت و توضیح آنها در این مقال نمی گنجد.
BPMS نرم افزار CRM پیام گستر، راهکار ارتباط تمام پایگاه های داده SQL
مسلما هر سیستم برای خود یک پایگاه داده دارد؛ مساله ای که اهمیت بالایی دارد ارتباط این پایگاه های داده مختلف با یکدیگر می باشد. بدین جهت نیاز به سیستمی یکپارچه وجود دارد تا تمام داده ها به صورت متمرکز میان پایگاه های سیستم های مختلف در تبادل باشند. به همین منظور دو راه وجود دارد:
- باید از سیستم API (وب سرویس) که یک رابط پایگاه داده ای در بستر وب می باشد، استفاده کرد. این سیستم ساختار زبانی پایگاه های مختلف را تبدیل می کند و کاملا با بیرونی ترین لایه از این پایگاه های داده و UI در ارتباط است و مثل یک کاربر عمل می کند.
- باید از ارتباط دیتا بیسی استفاده کرد تا به لایه های درونی هر پایگاه SQL نفوذ کرده و به تغییر یا خوانش داده ها بپردازد. این اتصال به دیتا بیس ها ( فعالیت SQL ) دسترسی کامل به پایگاه های داده داشته و با زبان مخصوص به خود (Query) این ارتباط را ایجاد می کنند. این ویژگی در نرم افزار CRM پیام گستر برای یکپارچگی تمام فرایندها داخلی و همچنین ارتباط با سیستم های خارجی وجود دارد که از قدرتمند ترین ابزار BPMS ایران (متعلق به پیام گستر) حاصل شده است. این ویژگی به طور کامل در مقاله نرم افزار BPMS چیست توضیح داده شده است.
اجازه دهید ساده تر بگویم:
فرض کنید یک سیستم واحد مثل نرم افزار CRM وجود داشته باشد که تمام عملکرد یک شرکت را زیر ذره بین می برد و از تمام بخش های آن گزارش تهیه میکند. حالا اگر بخواهیم در این گزارش گیری ها از اطلاعاتی خارج از نرم افزار CRM ( مثلا اطلاعات ورود و خروج پرسنل) نیز استفاده کنیم، باید نرم افزار اصلی CRM توانایی یکپارچه شدن با هر برنامه دیگر در سیستم را داشته باشد. دخیل کردن اطلاعات هر پایگاه دادهی دیگر در گزارش گیری های سیستم CRM، مساله بسیار مهم و کاربردی است که حالا به کمک متخصصین پیام گستر برای اولین بار به وقوع پیوسته است.
اما جالب آن که شرکت بزرگ گوگل برای بررسی نتایج خود از پایگاه های داده، از SQL استفاده نمی کند؛ آنها از زبانی دیگر به نام NoSQL بهره می برند.
NoSQL چیست؟
پایگاه داده NoSQL که اشاره کردیم Google هم از آن استفاده می کند، نوعی دیتابیس است که بر خلاف موارد اشاره شده، بصورت رابطه ای عمل نمیکند. در پایگاه های داده ی پیش تر ذکر شده مثل SQL Server یا MySQL ، هر آنچه که با آن درگیر بودیم سطرها، ستونها و جداول بودند. پایگاه های داده رابطه ای از تئوریها و محاسبات جبر رابطه ای بهره می برند و برای حل مسائل و ارتباطات مبتنی بر تمرکز داده از NoSQL استفاده می شود. در واقع سیستم Nosql از جداول استفاده نمی کند و قدرت مانور بیشتری در آن وجود دارد ولی از حالت کلاسیک خارج شده است.
اما همچنان SQL پرکاربردترین زبان پایگاه داده هاست و مزایای استفاده از آن عبارتند از:
- SQL زبانی بر پایه پرس و جو بوده و می تواند انتقال داده ها را بصورت دوطرفه انجام دهد
- SQL امکان کنترل تمام داده ها را می دهد و دارای استاندارد بین المللی ANSI است
- SQL میتواند درخواستهای پیوسته یک پایگاه داده را اجرا
- SQL وظیفه ذخیره سازی داده ها، به روز رسانی آنها، حذف اطلاعات و مدیریت درخواستها را با اجرای آن بر عهده دارد
- SQL می تواند پایگاه های جدید بسازد و اطلاعات مختلف را به آن اضافه کند
- SQL امکان شخصی سازی جداول و نحوه دسترسی به آنها را به کاربر می دهد