MySQL چیست؟ — راهنمای شروع به کار با پایگاه داده مای اس کیو ال
امروزه پایگاه داده (بانک اطلاعاتی | Database) به عنوان یکی از مفاهیم بنیادی و اساسی دنیای فناوری اطلاعات به حساب میآید و در حوزههای مختلف، به خصوص توسعه وب و اپلیکیشن کاربرد دارد. در پایگاه دادهها، اطلاعات با قواعد خاصی نگهداری و ذخیره میشوند. مدیریت اطلاعات ذخیره شده در پایگاه داده از طریق «سیستم مدیریت پایگاه داده» (DBMS | Database Management System) انجام میشود. یکی از سیستمهای محبوب مدیریت پایگاه داده، MySQL است. در این نوشته به این سوال پاسخ داده میشود که MySQL چیست و همچنین به مفاهیم پایهای، کاربردها و مزایای MySQL، مقایسه MySQL با پایگاه دادههای دیگر و نحوه شروع کار با پایگاه داده مای اس کیو ال پرداخته شده است.
MySQL چیست ؟
نرم افزار MySQL، یک سیستم مدیریت پایگاه داده به حساب میآید که برای مدیریت سیستمهای پایگاه داده رابطهای ایجاد شده است و انتخاب خوبی برای توسعه وبسایتها یا برنامههای کاربردی وب به حساب میآید. MySQL نرم افزاری منبعباز (Open Source) است که توسط اوراکل (Oracle) پشتیبانی میشود. یادگیری MySQL در مقایسه با نرم افزارهای پایگاه دادهای دیگر مانند دیتابیس Oracle یا Microsoft SQL Server (MSSQL)، بسیار آسان است.
علاوه بر این، نرم افزار MySQL میتواند بر روی پلتفرمهای (سکوهای) مختلف یونیکس (UNIX)، لینوکس (Linux)، ویندوز و بسیاری از سکوهای دیگر اجرا شود، همچنین میتوان آن را روی سرور یا حتی دسکتاپ نصب کرد. از ویژگیهای مهم MySQL، قابلیت اطمینان، مقیاس پذیری و سریع بودن آن است. بانک اطلاعاتی MySQL یکی از مولفههای اصلی مجموعه نرمافزارهای LAMP محسوب میشود که شامل لینوکس، آپاچی (Apache)، MySQL و PHP است. My نام فرزند یکی از بنیانگذاران MySQL، مونتی ویدنیوس (Monty Widenius) بوده و کلمه MySQL از ترکیب دو واژه My و SQL به وجود آمده است.
پیش از ادامه این مبحث لازم است یادآور شویم که میتوانید MySQL را با استفاده از مجموعه آموزش مای اس کیو ال، مقدماتی تا پیشرفته فرادرس یاد بگیرید.
منظور از منبع باز بودن MySQL چیست ؟
اوپن سورس بودن به این معنی است که میتوان بدون پرداخت هیچ هزینهای از MySQL استفاده کرد. همچنین در صورت تمایل میتوان کد منبع MySQL را متناسب با نیاز خود تغییر داد. با وجود اینکه MySQL نرم افزاری منبعباز است، میتوان یک نسخه دارای مجوز تجاری آن را برای دریافت خدمات پشتیبانی ممتاز از Oracle خرید. حال در ادامه مقاله MySQL چیست، مروری بر پیشنیازهای یادگیری این مقاله آموزشی انجام شده است.
پایگاه داده چیست؟
انسانها هر روز با دادهها (Data) در ارتباط هستند. به عنوان مثال زمانی که فردی میخواهد آهنگ مورد علاقه خود را گوش کند و فهرست آهنگهای گوشی هوشمند خود را باز میکند، این فهرست آهنگها یک پایگاه داده (Database) به حساب میآید. هنگامی که کاربر برای خرید کفش، لباس و اقلام دیگر در یک فروشگاه آنلاین جستجو میکند، در واقع در حال جستجو در پایگاه داده محصولات آن وب سایت است.
بانک های اطلاعاتی تقریباً در همه جا استفاده میشوند. طبق تعریف، پایگاه داده به مجموعهای ساختار یافته از دادهها گفته میشود. پایگاه داده انواع مختلفی دارد که یکی از پر استفادهترین آنها پایگاه داده رابطهای است. بنابراین با توجه به اینکه MySQL هم یک پایگاه داده رابطهای به حساب میآید، در ادامه به طور مختصر به شرح مفهوم پایگاه داده رابطهای پرداخته شده است.
پایگاه داده رابطهای چیست؟
میتوان گفت که به طور طبیعی، دادههای مرتبط با یکدیگر با هم در ارتباط هستند. به عنوان مثال یک محصول به دستهای (ردیفی) از محصولات تعاق دارد و با چندین برچسب در ارتباط است. به همین علت به آن پایگاه داده رابطهای گفته میشود.
در پایگاه داده رابطهای، دادههایی مانند محصولات، بر اساس دستهها، برچسبها و موارد دیگر با استفاده از جدولها (Tables) ساختاردهی میشوند. در این مدل، جدول مانند یک صفحه گسترده (مثل اکسل)، شامل ستونها (Columns) و ردیفهایی (Rows) است که دادهها را در خود نگهداری میکند.
برای جلوگیری از تکرار رکوردها (هر سطر از جدول در پایگاه داده) یا فیلدها، ممکن است یک جدول با استفاده از یک رابطه (Relationship) به جدول دیگری مرتبط شود. نمونههایی از این روابط، رابطه یک به یک (One To One) و رابطه یک به چند (One To Many) هستند. از آنجایی که حجم زیادی داده در دیتابیس وجود دارد، نیاز به روشی برای تعریف پایگاههای داده، جدولها و موارد دیگر حس میشود که علاوه بر موارد ذکر شده به صورت کارآمدتری دادهها را پردازش و آنها را به اطلاعات تبدیل کند. تمام موارد ذکر شده با استفاده از SQL به راحتی انجام میشوند.
- مقالههای پیشنهادی:
یکی دیگر از مفاهیمی که لازم است آشنایی با آن برای درک بهتر پاسخ سوال MySQL چیست حاصل شود، مفهوم «SQL» است. بنابراین در ادامه به این سوال پاسخ داده میشود که SQL چیست؟
SQL چیست؟
SQL کلمه اختصاری برای عبارت «Structured Query Language» به معنی «زبان کوئری ساختیافته» است و زبان استانداردی به حساب میآید که برای دسترسی به پایگاه داده استفاده میشود. SQL شامل سه بخش است:
- زبان تعریف دادهها (Data Definition Language): این بخش از زبان SQL، شامل عبارتهایی است که به کمک آن میتوان پایگاه داده و شیهای آن را تعریف کرد. به عنوان مثال جدولها، نماها (Views)، محرکها (Triggers)، رویههای ذخیره شده و موارد دیگر از جمله این عبارتها هستند.
- زبان دستکاری دادهها (Data Manipulation Language): این بخش حاوی عبارتهایی است که امکان بهروزرسانی و جستجوی دادهها را فراهم میکند.
- زبان کنترل دادهها (Data Control Canguage): از طریق این قسمت از زبان SQL میتوان اجازه دسترسی به دادههای خاص در پایگاه داده را به کاربر داد.
یکی از سوالات مهمی که معمولاً پس از سوال MySQL چیست توسط افراد زیادی جستجو میشود، مربوط به تفاوت SQL و MySQL است. بنابراین، بخش بعدی مقاله «MySQL چیست» به شرح تفاوت این دو مفهوم اختصاص داده شده است.
تفاوت SQL و MySQL چیست ؟
به طور خلاصه، SQL زبانی است برای پرسوجو (کوئری زدن) در بانکهای اطلاعاتی و MySQL نیز یک برنامه متنباز برای مدیریت پایگاه داده به حساب میآید. SQL برای دسترسی، بهروزرسانی و نگهداری از دادهها در یک پایگاه داده استفاده میشود و MySQL یک RDBMS یا سیستم مدیریت پایگاه داده رابطهای است که به کاربر امکان میدهد تا سازماندهی دادهها را در یک پایگاه داده مدیریت کند.
در ادامه سه تفاوت شاخص SQL و MySQL شرح داده شده است:
- SQL یکی از محبوبترین زبانهای کوئرینویسی محسوب میشود. به طور خلاصه، SQL زبانی برای پرسوجو در پایگاه دادهها است و MySQL یک محصول دیتابیسی منبعباز به حساب میآید.
- زبان پرس و جوی ساختار یافته SQL برای دسترسی، بهروزرسانی و نگهداری دادهها در پایگاه داده استفاده میشود در حالی که MySQL یک سیستم مدیریت پایگاه داده رابطهای (RDBMS) است که به کاربران امکان میدهد تا دادههای موجود در یک پایگاه داده را سازماندهی کنند.
- SQL به علت اینکه یک زبان پرس و جو به حساب میآید، در طول زمان تغییر چندانی نداشته است. اما چون MySQL بخشی از یک نرم افزار است، به طور مکرر بهروزرسانی میشود.
شباهت SQL Server و MySQL چیست ؟
از آنجایی که دو پایگاه داده Microsoft SQL Server و MySQL، هر دو پایگاه داده رابطهای محسوب میشوند، بسیار شبیه به یکدیگر هستند. بنابراین، در این بخش به شرح شباهتهای این دو پایگاه داده پرداخته شده است.
با این وجود اغلب توسعهدهندگان تنها در یکی از آنها تخصص دارند. اگرچه SQL Server و MySQL شبیه به هم به نظر میرسند، معماری اصلی و بنیادی آنها متفاوت است. در ادامه به برخی از شباهتهای کلیدی این دو پایگاه داده پرداخته شده است:
- جدولها: هر دو پلتفرم در ستونها و ردیفهای خود از مدل جدول پایگاه داده رابطهای استاندارد برای ذخیره دادهها استفاده میکنند.
- کارایی بالا: در برنامههای کاربردی، پایگاه داده ستون فقرات برنامه محسوب میشود که مسئول ذخیرهسازی و بازگرداندن دادهها در سریعترین زمان ممکن است. هر دو پایگاه داده SQL Server و MySQL سرعت عملکردی بالایی دارند.
- کلیدها (Keys): هر دو پلتفرم از کلیدهای اصلی و خارجی برای ایجاد ارتباط بین جدولها استفاده میکنند.
- محبوبیت مبتنی بر وب: بدون در نظر گرفتن اوراکل (Oracle)، SQL Server و MySQL متداولترین پایگاه دادهها برای استفاده در اپلیکیشنهای وب محسوب میشوند.
- قابلیت مقیاسپذیری: هر دو پلتفرم میتوانند با بزرگتر شدن پایگاه داده تطبیق پیدا کنند و به میزان موردنیاز بزرگتر شوند. هر دوی آنها برای استفاده در پروژههای کوچک و بزرگ مناسب هستند و میتوانند روزانه میلیونها تراکنش را پشتیبانی کنند.
- ساختار نحوی: ساختار نحوی این دو پلتفرم پایگاه داده مشابه است و فقط تفاوتهای کوچکی بین عملیات مختلف CRUD (شامل ایجاد، خواندن، بهروزرسانی و حذف) وجود دارد.
- درایورها: حتی فقط با جستجو در وب هم میتوان درایورهای اتصالی را تقریباً برای هر زبان رایجی پیدا کرد و این امر باعث شده است که بتوان به آسانی و بدون نیاز به کدنویسی پیچیده به MySQL و SQL Server متصل شد.
برای شناخت بهتر MySQL و درک بهتر پاسخ سوال MySQL چیست در ادامه به شرح کاربردهای این سیستم متنباز مدیریت پایگاه داده پرداخته شده است.
کاربرد MySQL چیست ؟
MySQL به عنوان یکی از سیستمهای محبوب مدیریت پایگاه داده که شرکتهایی مانند کوگل و فیسبوک از آن استفاده میکنند در زمینههای زیر کاربرد دارد: