ما مى توانيم در بانك هاى اطلاعاتى، اطلاعاتى را كه فراموش مى كنيم ذخيره كنيم مثل آدرس و شماره تلفن و يا حساب هاى شخصى و يا اداره يك انبار و يا يادداشت هاى روزانه. يكى از نرم افزارهاى مخصوص اين كار نرم افزار Access از سرى خانواده Office مى باشد كه بنا به سادگى و نيازى كه مردم به ديگر نرم افزار هاى اين خانواده دارند به روى اكثر سيستم ها نصب مى باشد كه اين خود يك امتياز مفيد است، يكى ديگر از نرم افزار هاى مخصوص اين كار نرم افزار FoxPro از شركت معروف Microsoft مى باشد كه البته اين را بايد بگويم كه اولين ورژن هاى اين نرم افزار براى شركت ديگر بود و به دليل شروع يك پرژه بزرگ و اين تفكر كه اين نرم افزار نا موفق بوده است تمامى امتياز آن را به شركت صاحب امتياز كنونى فروخت و اين شركت با توسعه اين نرم افزار از ورژن هاى داسى آن به بالا اين نرم افزار را به صورت كاملاظ پيشرفته در آوردند كه در آخر آن را در سرى خانواده Visual قرار دادند و حتى در اين سال ۹۸ آن را با نرم افزار هاى مانند بيسيك و يا C هم رديف كردند ودر اين اواخر حتى با پيشرفت براى خود نرم افزارى جداگانه شد و با ورژن هاى ۷ و ۸ به بازار ارايه شده، يكى از نكات منفى اين نرم افزار اين است كه به دليل سنگينى حجم و اجراى برنامه در هر سيستمى قابل پياده كردن نيست. يكى ديگر از نرم افزار هاى اين سيستم (بانك اطاعاتى) نرم افزار Oracel است كه يكى از قوى ترين نرم افزار ها دى اين رابطه است كه بانك هاى شركت هاى بزرگ الكتريك و شركت ها و كارخانجات تجارى را با آن مى نويسند نرم افزار هاى ديگرى نيز وجود دارند كه در واقع نرم افزار هاى اصلى نيستند و جزء نرم افزار هاى تابع شناخته مى شوند و فقط بخشى از آن ها براى اين كار طراحى شده اند. نمونه اى از اين بانك ها نرم افزار و بانك SQL مى باشد. شايد براى شما جالب باشد كه بشنويد همين كارت هاى اينترنت شما با ويندوز هاى SQL سرور كنترل مى شوند. البته بايد بگويم ساده ترين بانك ما فايلى با فرمت TXT مى باشد، چنين بانكى وجود دارد، ولى كار با اين بانك ها كمى سخت است و كاربردى. يعنى در واقع خود اين فايل ها بانك نيستند و با نرم افزار هاى تابع تبديل به يك بانك مى شوند البته فقط براى نمايش و حتما اطلاعات ما در اين فايل ها ذخيره مى شوند. در اين پست my sql را به طور مختصر بررسى مى كنيم تا وجوه تشابه و تمايز آن را نسبت به ساير بانك هاى اطلاعاتى و به ويژه SQLServer مايكروسافت ببينيم.
هدف از ايجاد MySQL نسخه هاى اوليه MySQL را به هيچ عنوان نمى توان با نسخه هاى جديد آن مقايسه نمود. نسخه هاى قديمى به دليل ماهيت عمومى سيستم عاملى كه براى آن درنظر گرفته شده بودند (يعنى يونيكس و لينوكس هاى اوليه) داراى واسط كاربر چندان جالبى نبودند و تمام فرامين مربوط به طراحى و مديريت بانك اطلاعاتى در آن ها از طريق دستورات خط فرمان انجام مى گرفت. اما به تدريج و با پيدايش محيط هاى گرافيكى توانمند و زيبا براى لينوكس، MySQL نيز همانند ساير نرم افزار هاى اپن سورس تحت لينوكس مراحل تكامل و بهينه شدن هسته و ابزارهاى جانبى خود را پيمود تا به جايى رسيد كه اكنون به عنوان يكى از سريع ترين، كاراترين و مقرون به صرفه ترين برنامه هاى بانك اطلاعاتى جهان شناخته مى شود. غير از توانمندى هاى مربوط به واسط كاربر و امكانات جانبى، در نسخه هاى جديد MySQL سعى شده است نقاط ضعف هميشگى اين موتور بانك اطلاعاتى، يعنى نبود سه عنصر مهمظگ ديد (View)، روال هاى ذخيره شده و تريگرها، تا حدود زيادى رفع شود و اكنون ديگر MySQL به دليل نداشتن اين سه عنصر مهم، در رقابت با ساير بانك هاى اطلاعاتى مورد سرزنش و بى مهرى برنامه نويسان و مديران بانك هاى اطلاعاتى قرار نمى گيرد. به طوركلى وقتى به تاريخچه و مراحل تكامل MySQL مى نگريم، سه ويژگى آن، يعنى قابليت اطمينان، كارايى مناسب و آسانى استفاده را از نكات مورد توجه سازندگان آن در توليد اين اثر مى يابيم. قابليت اطمينان، از اين جهت كه يك بانك اطلاعاتى اپن سورس و با حمايت يك شبكه توانمند و در همه جا حاضرى به نام MySQL Network در هرلحظه آماده ارايه خدمت به استفاده كنندگان آن و پشتيبانى از آن ها است و به راحتى مى تواند دربسيارى از كاربردهاى تجارى جايگزينى مناسب براى همتايان گرانقيمت خود باشد. كارايى مناسب، از اين لحاظ كه با ارايه نسخه هاى متعدد تحت سيستم عامل هاى مختلف و تحت معمارى هاى سخت افزارى گوناگون قادر است تا هم در كاربردهاى مبتنى برتعداد فرايندهاى فراوان (OLTP) و هم در كاربردهاى داراى پردازش ها و محاسبات سنگين (OLAP) مورد استفاده قرار گيرد. آسانيظگ استفاده هم از اين جهت است كه كليه مراحل استفاده از آن، از دستيابى به فايل هاى مخصوص نصب كه به طور رايگان قابل دريافت است و هم از اين بابت كه مراحل نصب و پيكربندى كه حداكثر در ده دقيقه در سيستم عامل هاى مختلف صورت مى گيرد. همچنين در زمان بهره بردارى به شيوه اى بسيار آسان و گويا، ابزارهاى خود را در اختيار توسعه دهندگان و مديران سيستم قرار مى دهد. معمارى MySQL ويژگى اپن سورس بودن MySQL باعث شده است معمارى داخلى آن، به صورت گويا و واضح و در قالب ماجول هاى اساسى يا جانبى آن براى كاربرانش شناخته شده باشد. ساختار اين بانك اطلاعاتى شامل ماجول هاى مختلفى براى انجام دادن وظايف مختلف و استاندارد يك موتور پايگاه داده اى همه منظوره است. برخى از قسمت هاى اصلى و شيوه عملكرد آن ها در MySQL عبارتند از: مديريت اتصال كنترل و ايجاد محدوديت درتعداد اتصالات قابل انجام بين كلاينت ها و سرور بانك اطلاعاتى يكى از ماجول ها و وظايف اصلى MySQL است. درواقع موتور بانك اطلاعاتى با مديريت خودكار و ايجاد اشتراك بين كلاينت ها در استفاده بهينه از اتصالات موجود نقش مهمى را ايفا مى كند. درواقع اين ماجول سعى مى كند با ايجاد فضاى مشترك، از به وجود آمدن تعداد زيادى اتصالات بلااستفاده به بانك اطلاعاتى جلوگيرى كند و در استفاده كمتر از فضاى حافظه و پردازش پردازنده موثر واقع شود. دستورات و عناصر اصلى وظايف ماجول هاى مستقر در اين قسمت، ايجاد امكان ساخت جداول بانك اطلاعاتى ايندكس ها، ديدها، روال هاى ذخيره شده، توابع، تريگرها، و پشتيبانى از دستورات SQL ويژه ساخت اين عناصر يا خواندن، درج، حذف و تغيير داده ها در آنان است.