داده و پایگاه داده چیست؟


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

حال زمانی که شما داده هایی به این حجم دارید طبیعتا نیاز به یک محیطی برای ذخیره سازی آن دارید که پایگاه داده نام دارد.


بنابراین شما می توانید پایگاه داده را مانند یک مخزن بزرگ تصور کنید که در آن می توانید هرنوع داده ای را ذخیره کنید. اما آیا فکر می کنید که می توانید از داده ها را بدون یک سیستم مدیریت پایگاه داده ی مناسب استفاده کنید؟


واضح است که نه


بنابراین اجازه دهید اول بررسی کنیم که سیستم مدیریت پایگاه داده و انواع آن چیست.


سیستم مدیریت پایگاه داده و انواع DBMS


یک سیستم مدیریت پایگاه داده (DBMS) یک اپلیکیشن نرم افزاری است که با کاربر،اپلیکیشن و خود پایگاه داده در تعامل است تا داده ها را بگیرد و آنالیز کند. داده هایی که در پایگاه داده ذخیره می شوند را می توان تغییر داد  و یا بازیابی و حذف کرد و می تواند به هر نوعی مانند داده های رشته ای،عددی،تصویر و یا غیره باشد.


انواع DBMS


بطور عمده 4 نوع DBMS وجود دارد :DBMS های سلسله مراتبی،ارتباطی،شبکه ای و شیئ گرا.


DBMS سلسله مراتبی: همانطور که نام این DBMS بیان می کند این سبک نوعی از پیش جانشین شده از نوع ارتباطی است بنابراین ساختاری شبیه درخت دارد که در آن گره ها یک رکورد را نشان می دهند و شاخه ها ارتباط بین فیلد ها را نشان می دهد.


DBMS ارتباطی (RDBMS): این نوع از DBMS از ساختاری استفاده می کند که به کاربر اجازه می دهد تا به داده در ارتباط با قسمت های دیگر داده در پایگاه داده، دسترسی داشته باشد و آن را شناسایی کند.   


DBMS شبکه ای: این نوع از DBMS از ارتباطات چند به چند پشتیبانی می کند که در آن سوابق چندیدن عضو می توانند با یکدیگر مرتبط باشند.


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


حال که درباره ی DBMS ها صحبت کردیم زمان آن است که درباره ی SQL صحبت کنیم.


زبان ساختاری پرسوجو (SQL)


SQL هسته ی یک پایگاه داده ی ارتباطی است که برای دسترسی و مدیریت پایگاه داده است. با استفاده از SQL می توانید ردیف های داده را اضافه، به روزرسانی یا حذف کنید ،زیرمجموعه هایی از اطلاعات را بازیابی کنید، پایگاه داده ها را تغییر دهید و بسیاری کار های دیگر را انجام دهید. مجموعه های مختلفی از پایگاه داده به شرح زیر است:


DDL (زبان تعریف داده): این قسمت به شما این امکان را می دهد تا کار های مختلفی روی پایگاه داده از جمله CREATE،ALTER  و DELETE  کردن اشیاء را انجام دهید.  


DML(زبان دستکاری داده ها): این مجموعه به شما امکان دسترسی و دستکاری داده ها را می دهد و به شما امکان اضافه کردن،به روزرسانی و بازیابی داده از پایگاه داده را می دهد.


DCL(زبان کنترل داده): این مجموعه به شما امکان کنترل دسترسی ها را می دهد. برای مثال مجوز های دسترسی یا لغو


TCL(زبان کنترل تراکنش ها): این قسمت به شما امکان کارکردن با تراکنش های پایگاه داده را می دهد. برای مثال Commit ، Rollback ، Savepoint و Set Transaction


خب حالا که می دانید SQL چیست زمان آن است که MySQL را معرفی کنم.


معرفی MySQL و ویژگی های آن


MySQL یک سیستم مدیریت پایگاه داده ی رابطه ای و open-source است که روی بسیاری از platform ها کار می کند. این پایگاه داده دسترسی چندکاربره برای پشتیبانی از موتور های ذخیره سازی ارائه می دهد و توسط اوراکل پشتیبانی می شود بنابراین شما می توانید یک نسخه ی تجاری از اوراکل خریداری کنید تا حق استفاده از سرویس های پشتیبانی را داشته باشید.


ویژگی های MySQL به شرح زیر است:


سادگی مدیریت: نرم افزار این پایگاه داده به سادگی دانلود می شود و از یک زمانبندی رویدادها برای انجام خودکار وظایف استفاده می کند.


پشتیبانی قدرتمند از تراکنش ها: MySQL ویژگی های ACID (تفکیک ناپذیری،سازگاری،منزوی بودن و پایایی) را دارد و همچنین از چندین نسخه ی توزیع شده نیز پشتیبانی می کند.


توسعه همه جانبه اپلیکیشن:  MySQL کتابخانه های پلاگین دارد تا پایگاه داده در اپلیکیشن تعبیه شود و همچنین از stored procedure ها،  trigger ها،توابع ، view ها و بسیاری موارد دیگر برای توسعه اپلیکیشن پشتیبانی می کند.


کارایی بالا: MySQL ، Utility ها را با حافظه های کش جداگانه و دسته بندی ایندکس جداول به سرعت بارگذاری می کند.


هزینه ی کلی پایین:هزینه مجوز های MySQL پایین است و از سخت افزار نیز کم استفاده می کند.


Open-source و پشتیبانی 24 ساعته در تمام روز های هفته: این RDBMS  در هر platform  می تواند استفاده شود و پشتیبانی 24 ساعته در تمام روز های هفته ارائه می دهد و از آنجایی که open sourse است از ویرایش های جدید پشتیبانی می کند.


حفاظت از داده ها به صورت امن: MySQL  از مکانیسم های قدرتمندی برای اطمینان از اینکه به پایگاه داده فقط افراد مجاز دسترسی دارند استفاده می کند.


دسترسی بالا: MySQL  می تواند با سرعت بالایی پیکربندی های تکراری را انجام دهد و سرور های خوشه بندی نیز ارائه می دهد.


مقیاس پذیری و منعطف بودن: با MySQL  می توانید اپلیکیشن های embedded  را اجرا کنید و مخازن داده ای برای نگهداری مقدار زیادی از داده ها بسازید.