درباره MySQL بیشتر بدانیم:
وقتی نوبت به جمع آوری و ذخیره دادهها از دستگاههای تلفن همراه و برنامه های وب میرسد، MySQL بستر انتخابی بسیاری از مشاغل است. MySQL محبوب ترین سیستم مدیریت پایگاه داده رابطهای متن باز (RDBMS) در سطح سازمانی است که در فیس بوک، گوگل ،Adobe، Alcatel Lucent و Zappos و بسیاری از وب سایت ها / برنامههای آنلاین استفاده میشود. RDBMS یک نرم افزار یا سرویس است که برای ایجاد و مدیریت پایگاه داده بر اساس یک مدل رابطهای مورد استفاده قرار میگیرد.
این پایگاه داده توسط شرکت Oracle توسعه، توزیع و پشتیبانی میشود و یک پایگاه داده رابطهای بین پلتفرمی، قدرتمند، انعطاف پذیر و قابل توسعه است که مبتنی بر زبان استاندارد SQL (Structured Query Language) است که بصورت خلاصه برای ایجاد و دستکاری پایگاه داده استفاده میشود.MySQL بر روی همه سیستم عاملهای اصلی از جمله ویندوز، لینوکس و سولاریس در دسترس است. استفاده از آن برای افراد و محیط های غیر تولیدی تحت لایسنس GPL رایگان است. با این حال، در صورت استفاده نسخه تجاری، لایسنس تجاری لازم است.تسلط بر MySQL در مقایسه با سایر نرم افزارهای پایگاه داده مانند Oracle Database یا Microsoft SQL Server بسیار آسان است. MySQL مانند سایر پایگاه های داده رابطهای، دادهها را در جداول، ستون ها و ردیف ها ذخیره میکند. هر ورودی با یک شناسه منحصر به فرد تعریف میشود. دلیل وجودی آن همیشه عملکرد و قابلیت اطمینان پایگاه داده بوده است. MySQL برای عرصه توسعه وب طراحی و بهینه سازی شده است. مسلماً متداول ترین پایگاه دادهای است که در استقرار وب سرور استفاده میشود. MySQL با Apache و PHP بسیار خوب کار میکند و اغلب بهترین گزینه پایگاه داده برای استقرار پشتههای LAMP میباشد. MySQL امروزه از هر 10 سایت 9 عدد را قدرت میدهد و پایگاه دادهای است که توسط فیس بوک، توییتر و ویکی پدیا انتخاب شده است. حال، بیایید هر اصطلاح را از نزدیک بررسی کنیم. MySQL برای اهداف گسترده ای از جمله پایگاه داده وب (متداول ترین کاربرد)، ذخیره سازی داده ها، تجارت الکترونیکی و برنامه های ورود به سیستم استفاده میشود. MySQL یکی از نرم افزار های معمول نصب شده برای راه اندازی پشته LAMP (Linux + Apache + MySQL + PHP) یا LEMP (Linux + Engine-X + MySQL + PHP) است که برای توسعه وب و میزبانی سیستم های مدیریت محتوای آنلاین مانند WordPress، مگنتو، جوملا، دروپال و بسیاری دیگر. به غیر از PHP، از بسیاری از زبانهای دیگر از جمله Perl ، Node.js ، Python و ... از آن نیز پشتیبانی میکنند. اگر بخواهیم بصورت خلاصه و کلی تعریفی از MySQL را داشه باشیم، می توان موارد زیر را در نظر داشت:
پایگاه داده چیست ؟
پایگاه داده به زبان ساده مجموعه ای از داده های ساختار یافته است. به سلفی گرفتن فکر کنید: یک دکمه را فشار میدهید و تصویری از خود ثبت میکنید. عکس شما داده است و گالری تلفن شما پایگاه داده است. پایگاه داده مکانی است که در آن داده ها ذخیره و سازماندهی میشوند. کلمه "رابطهای" به این معنی است که داده های ذخیره شده در مجموعه داده به صورت جداول سازمان یافته است. هر جدول به نوعی با هم مرتبط است.
منظور از متن باز بودن چیست ؟
متن باز به این معنی است که شما در استفاده و اصلاح آن آزاد هستید. هرکسی میتواند نرم افزار را نصب کند. همچنین میتوانید کد منبع را بیاموزید و برای رفع نیازهای خود سفارشی سازی کنید. با این حال، GPL (مجوز عمومی GNU) بسته به شرایط تعیین میکند که چه کاری میتوانید انجام دهید. در صورت نیاز به مالکیت انعطاف پذیرتر و پشتیبانی پیشرفته، نسخه دارای مجوز تجاری در دسترس است.
SQL واقعا چیست ؟
MySQL و SQL یکسان نیستند. توجه داشته باشید که MySQL یکی از محبوب ترین نام های تجاری نرم افزار RDBMS است که مدل کلاینت سرور را پیاده سازی میکند. بنابراین، سرویس گیرنده و سرور چگونه در یک محیط RDBMS ارتباط برقرار میکنند؟ آنها از یک زبان خاص دامنه استفاده میکنند - زبان جستجوی ساختار یافته (SQL). نرم افزار RDBMS اغلب به زبانهای برنامه نویسی دیگر نوشته میشود، اما همیشه از SQL به عنوان زبان اصلی خود برای تعامل با پایگاه داده استفاده میشود. MySQL خود به زبان C و C ++ نوشته شده است.
SQL محبوب ترین زبان برای افزودن، دسترسی و مدیریت محتوا در یک پایگاه داده است. این مورد بیشتر به دلیل پردازش سریع، قابلیت اطمینان اثبات شده، سهولت و انعطاف پذیری در استفاده مورد توجه قرار گرفته است. MySQL تقریباً در هر برنامه PHP منبع باز بخشی اساسی است. مثال های خوب برای اسکریپتهای مبتنی بر MySQL میتوان در PHP و وردپرس، جوملا! و دروپال پیدا کرد.
منظور از مدل Client-Server چیست ؟
ماشین هایی که نرم افزار RDBMS را نصب و اجرا میکنند، کلاینت نامیده میشوند. هر زمان که نیاز به دسترسی به داده ها داشته باشند، به سرور RDBMS متصل میشوند. این قسمت "سرویس گیرنده-مشتری" است.
MySQL یکی از بسیار گزینه های نرم افزار RDBMS است. معمولاً تصور میشود که RDBMS و MySQL به دلیل محبوبیت MySQL یکسان هستند. چند برنامه وب بزرگ مانند Facebook ، Twitter ، YouTube ، Google و Yahoo! همه از MySQL برای اهداف ذخیره داده استفاده میکنند. حتی اگر در ابتدا برای استفاده محدود ایجاد شده باشد، اکنون با بسیاری از سیستم عامل های مهم محاسباتی مانند لینوکس، macOS، مایکروسافت ویندوز و اوبونتو سازگار است.
MySQL چگونه کار میکند؟
مانند اکثر سیستم های مدیریت پایگاه داده موجود، MySQL دارای معماری کلاینت - سرور است و میتواند در یک محیط شبکه مورد استفاده قرار گیرد. برنامه سرور در همان سیستم فیزیکی یا مجازی قرار دارد که فایل های پایگاه داده در آن ذخیره شده است و مسئولیت کلیه تعاملات با پایگاه های داده را بر عهده دارد.
برنامه های مختلف کلاینت مانند ابزار MySQL برای مدیریت پایگاه داده یا برنامه هایی که به زبان های برنامه نویسی دیگر نوشته شدهاند، میتوانند به سرور متصل شوند و درخواست داده کنند. سرور درخواست های کلاینت را پردازش میکند و نتایج را به مشتری برمیگرداند.
یک کلاینت میتواند در همان سیستم سرور یا یک میزبان از راه دور ساکن باشد و درخواست های پایگاه داده را از طریق شبکه یا اتصال اینترنت به سرور ارسال کند. مهم این است که سرور MySQL باید در حال اجرا باشد تا کلاینت ها بتوانند به آن وصل شوند.
بدون اینکه خیلی فنی شویم، فرایندهای اصلی رخ داده در یک محیط MySQL به ترتیب زیر میباشند:
تقریباً همین است. از طرف کلاینت، آنها معمولاً تأکید میکنند که از کدام رابط کاربری MySQL استفاده شود. هرچه رابط کاربری گرافیکی سبک تر و کاربرپسندتر باشد، فعالیت های مدیریت داده آنها سریعتر و راحت تر خواهد بود. برخی از محبوب ترین رابط های گرافیکی MySQL WorkBench ، SequelPro ، DBVisualizer و Navicat DB Admin Tool هستند. برخی از آنها رایگان هستند، در حالی که برخی تجاری هستند، برخی منحصراً در macOS اجرا میشوند و برخی دیگر با سیستم عامل های دیگر سازگار هستند. کلاینت ها باید بسته به نیاز خود رابط کاربری گرافیکی (GUI) را انتخاب کنند. برای مدیریت پایگاه داده مبتنی بر وب، phpMyAdmin ابزاری نرم افزاری رایگان است که به زبان PHP نوشته شده و برای مدیریت MySQL در وب نوشته شده است.
ویژگی های اصلی MySQL
MySQL از یک معماری سرور چند لایه با ماژول های مستقل استفاده میکند. سرور چند نخی، چند کاربره، مقیاس پذیر و قدرتمند برای سیستم های تولید بار سنگین که دارای مأموریت مهم هستند طراحی شده است. MySQL هر دو موتور ذخیره سازی معاملهای و غیر معاملهای را فراهم میکند و از افزودن موتورهای ذخیره سازی دیگر پشتیبانی میکند.
چرا MySQL اینقدر محبوب است؟
در قسمت قبل راجب ویژگی های اصلی این نرم افزار صحبت شد و بخصوص سه ویژگی زیر می توانند از دلایل استفاده زیاد آن در صنایع باشد.
MySQL در واقع تنها (R)DBMS موجود در بازار نیست، اما با استفاده از پارامترهای مهم مانند تعداد موارد ذکر شده در نتایج جستجو، پروفایل های حرفه ای در LinkedIn و بحث های فنی در انجمن های اینترنتی، یکی از محبوب ترین ها و دومین پایگاه داده شرکت Oracle است. این واقعیت که بسیاری از غول های بزرگ فناوری به آن اعتماد میکنند، شایستگی این محصول را بیشتر میکند. چرا؟ در اینجا دلایل ذکر می شوند:
برای تأمین انتظارات خود میتوانید کد منبع را اصلاح کنید و نیازی به پرداخت هزینه ای برای این سطح از آزادی ندارید، همچنین گزینه های ارتقا به نسخه پیشرفته تجاری نیز در دسترس است. مراحل نصب آن نسبتاً ساده است و نباید بیش از 30 دقیقه طول بکشد.
مجموعه گستردهای از سرورهای کلاستر از MySQL پشتیبانی میکنند. چه در حال ذخیره سازی مقادیر گسترده ای از داده های تجارت الکترونیکی بزرگ باشید و چه در انجام فعالیت های سنگین هوش تجاری، MySQL میتواند با سرعت مطلوب به شما کمک کند.
هنگام انتخاب نرم افزار مناسب RDBMS، داده های شما باید مهمترین نگرانی شما باشد. MySQL با سیستم تعیین سطح دسترسی و مدیریت حساب کاربر، از لایه امنیتی مناسبی استفاده می کند. تأیید مبتنی بر میزبان و رمزگذاری رمز عبور هر دو در دسترس هستند.
نتیجه گیری
امیدواریم با مطالبی که در حوزه MySQL ارائه گردید، اولین قدم را برای آشنایی و یادگیری MySQL برداشته باشید. MySQL مجموعه گستردهای از ویژگی ها و مکانیزم های ذخیره سازی قدرتمند داده را پشتیبانی میکند که آن را به جایگاه بالایی در دنیای RDBMS رسانده است. با غول های صنعتی بزرگی مانند فیس بوک و یوتیوب که از آن پشتیبانی میکنند و آن را به عنوان DB خود استفاده میکنند، MySQL مانده و همچنان آماده جنگ برای پیشرفت است. جالب است بدانید اگر علاقمند به یادگیری حرفه ای و آموزش MySQL هستید، در بهترین جا قرار دارید!
Basic MySQL Tutorial
Getting started with MySQL
Querying data
Sorting data
Filtering data
Joining tables
Grouping data
Subqueries
Common Table Expressions
Set operators
Modifying data in MySQL
MySQL transaction
Managing MySQL databases and tables
MySQL data types
MySQL constraints
MySQL globalization
MySQL import & export
Advanced techniques
Natural sorting
Advanced MySQL Tutorial
MySQL Stored Procedure
MySQL Views
MySQL Triggers and Event
MySQL Index
MySQL Full-Text Search
MySQL Administration
MySQL Functions
MySQL string functions
MySQL control flow functions
MySQL date and time functions
MySQL comparison functions
MySQL Math functions
MySQL partitioning
Other MySQL functions
MySQL Tips
درباره MySQL بیشتر بدانیم:
وقتی نوبت به جمع آوری و ذخیره دادهها از دستگاههای تلفن همراه و برنامه های وب میرسد، MySQL بستر انتخابی بسیاری از مشاغل است. MySQL محبوب ترین سیستم مدیریت پایگاه داده رابطهای متن باز (RDBMS) در سطح سازمانی است که در فیس بوک، گوگل ،Adobe، Alcatel Lucent و Zappos و بسیاری از وب سایت ها / برنامههای آنلاین استفاده میشود. RDBMS یک نرم افزار یا سرویس است که برای ایجاد و مدیریت پایگاه داده بر اساس یک مدل رابطهای مورد استفاده قرار میگیرد.
این پایگاه داده توسط شرکت Oracle توسعه، توزیع و پشتیبانی میشود و یک پایگاه داده رابطهای بین پلتفرمی، قدرتمند، انعطاف پذیر و قابل توسعه است که مبتنی بر زبان استاندارد SQL (Structured Query Language) است که بصورت خلاصه برای ایجاد و دستکاری پایگاه داده استفاده میشود.MySQL بر روی همه سیستم عاملهای اصلی از جمله ویندوز، لینوکس و سولاریس در دسترس است. استفاده از آن برای افراد و محیط های غیر تولیدی تحت لایسنس GPL رایگان است. با این حال، در صورت استفاده نسخه تجاری، لایسنس تجاری لازم است.تسلط بر MySQL در مقایسه با سایر نرم افزارهای پایگاه داده مانند Oracle Database یا Microsoft SQL Server بسیار آسان است. MySQL مانند سایر پایگاه های داده رابطهای، دادهها را در جداول، ستون ها و ردیف ها ذخیره میکند. هر ورودی با یک شناسه منحصر به فرد تعریف میشود. دلیل وجودی آن همیشه عملکرد و قابلیت اطمینان پایگاه داده بوده است. MySQL برای عرصه توسعه وب طراحی و بهینه سازی شده است. مسلماً متداول ترین پایگاه دادهای است که در استقرار وب سرور استفاده میشود. MySQL با Apache و PHP بسیار خوب کار میکند و اغلب بهترین گزینه پایگاه داده برای استقرار پشتههای LAMP میباشد. MySQL امروزه از هر 10 سایت 9 عدد را قدرت میدهد و پایگاه دادهای است که توسط فیس بوک، توییتر و ویکی پدیا انتخاب شده است. حال، بیایید هر اصطلاح را از نزدیک بررسی کنیم. MySQL برای اهداف گسترده ای از جمله پایگاه داده وب (متداول ترین کاربرد)، ذخیره سازی داده ها، تجارت الکترونیکی و برنامه های ورود به سیستم استفاده میشود. MySQL یکی از نرم افزار های معمول نصب شده برای راه اندازی پشته LAMP (Linux + Apache + MySQL + PHP) یا LEMP (Linux + Engine-X + MySQL + PHP) است که برای توسعه وب و میزبانی سیستم های مدیریت محتوای آنلاین مانند WordPress، مگنتو، جوملا، دروپال و بسیاری دیگر. به غیر از PHP، از بسیاری از زبانهای دیگر از جمله Perl ، Node.js ، Python و ... از آن نیز پشتیبانی میکنند. اگر بخواهیم بصورت خلاصه و کلی تعریفی از MySQL را داشه باشیم، می توان موارد زیر را در نظر داشت:
پایگاه داده چیست ؟
پایگاه داده به زبان ساده مجموعه ای از داده های ساختار یافته است. به سلفی گرفتن فکر کنید: یک دکمه را فشار میدهید و تصویری از خود ثبت میکنید. عکس شما داده است و گالری تلفن شما پایگاه داده است. پایگاه داده مکانی است که در آن داده ها ذخیره و سازماندهی میشوند. کلمه "رابطهای" به این معنی است که داده های ذخیره شده در مجموعه داده به صورت جداول سازمان یافته است. هر جدول به نوعی با هم مرتبط است.
منظور از متن باز بودن چیست ؟
متن باز به این معنی است که شما در استفاده و اصلاح آن آزاد هستید. هرکسی میتواند نرم افزار را نصب کند. همچنین میتوانید کد منبع را بیاموزید و برای رفع نیازهای خود سفارشی سازی کنید. با این حال، GPL (مجوز عمومی GNU) بسته به شرایط تعیین میکند که چه کاری میتوانید انجام دهید. در صورت نیاز به مالکیت انعطاف پذیرتر و پشتیبانی پیشرفته، نسخه دارای مجوز تجاری در دسترس است.
SQL واقعا چیست ؟
MySQL و SQL یکسان نیستند. توجه داشته باشید که MySQL یکی از محبوب ترین نام های تجاری نرم افزار RDBMS است که مدل کلاینت سرور را پیاده سازی میکند. بنابراین، سرویس گیرنده و سرور چگونه در یک محیط RDBMS ارتباط برقرار میکنند؟ آنها از یک زبان خاص دامنه استفاده میکنند - زبان جستجوی ساختار یافته (SQL). نرم افزار RDBMS اغلب به زبانهای برنامه نویسی دیگر نوشته میشود، اما همیشه از SQL به عنوان زبان اصلی خود برای تعامل با پایگاه داده استفاده میشود. MySQL خود به زبان C و C ++ نوشته شده است.
SQL محبوب ترین زبان برای افزودن، دسترسی و مدیریت محتوا در یک پایگاه داده است. این مورد بیشتر به دلیل پردازش سریع، قابلیت اطمینان اثبات شده، سهولت و انعطاف پذیری در استفاده مورد توجه قرار گرفته است. MySQL تقریباً در هر برنامه PHP منبع باز بخشی اساسی است. مثال های خوب برای اسکریپتهای مبتنی بر MySQL میتوان در PHP و وردپرس، جوملا! و دروپال پیدا کرد.
منظور از مدل Client-Server چیست ؟
ماشین هایی که نرم افزار RDBMS را نصب و اجرا میکنند، کلاینت نامیده میشوند. هر زمان که نیاز به دسترسی به داده ها داشته باشند، به سرور RDBMS متصل میشوند. این قسمت "سرویس گیرنده-مشتری" است.
MySQL یکی از بسیار گزینه های نرم افزار RDBMS است. معمولاً تصور میشود که RDBMS و MySQL به دلیل محبوبیت MySQL یکسان هستند. چند برنامه وب بزرگ مانند Facebook ، Twitter ، YouTube ، Google و Yahoo! همه از MySQL برای اهداف ذخیره داده استفاده میکنند. حتی اگر در ابتدا برای استفاده محدود ایجاد شده باشد، اکنون با بسیاری از سیستم عامل های مهم محاسباتی مانند لینوکس، macOS، مایکروسافت ویندوز و اوبونتو سازگار است.
MySQL چگونه کار میکند؟
مانند اکثر سیستم های مدیریت پایگاه داده موجود، MySQL دارای معماری کلاینت - سرور است و میتواند در یک محیط شبکه مورد استفاده قرار گیرد. برنامه سرور در همان سیستم فیزیکی یا مجازی قرار دارد که فایل های پایگاه داده در آن ذخیره شده است و مسئولیت کلیه تعاملات با پایگاه های داده را بر عهده دارد.
برنامه های مختلف کلاینت مانند ابزار MySQL برای مدیریت پایگاه داده یا برنامه هایی که به زبان های برنامه نویسی دیگر نوشته شدهاند، میتوانند به سرور متصل شوند و درخواست داده کنند. سرور درخواست های کلاینت را پردازش میکند و نتایج را به مشتری برمیگرداند.
یک کلاینت میتواند در همان سیستم سرور یا یک میزبان از راه دور ساکن باشد و درخواست های پایگاه داده را از طریق شبکه یا اتصال اینترنت به سرور ارسال کند. مهم این است که سرور MySQL باید در حال اجرا باشد تا کلاینت ها بتوانند به آن وصل شوند.
بدون اینکه خیلی فنی شویم، فرایندهای اصلی رخ داده در یک محیط MySQL به ترتیب زیر میباشند:
تقریباً همین است. از طرف کلاینت، آنها معمولاً تأکید میکنند که از کدام رابط کاربری MySQL استفاده شود. هرچه رابط کاربری گرافیکی سبک تر و کاربرپسندتر باشد، فعالیت های مدیریت داده آنها سریعتر و راحت تر خواهد بود. برخی از محبوب ترین رابط های گرافیکی MySQL WorkBench ، SequelPro ، DBVisualizer و Navicat DB Admin Tool هستند. برخی از آنها رایگان هستند، در حالی که برخی تجاری هستند، برخی منحصراً در macOS اجرا میشوند و برخی دیگر با سیستم عامل های دیگر سازگار هستند. کلاینت ها باید بسته به نیاز خود رابط کاربری گرافیکی (GUI) را انتخاب کنند. برای مدیریت پایگاه داده مبتنی بر وب، phpMyAdmin ابزاری نرم افزاری رایگان است که به زبان PHP نوشته شده و برای مدیریت MySQL در وب نوشته شده است.
ویژگی های اصلی MySQL
MySQL از یک معماری سرور چند لایه با ماژول های مستقل استفاده میکند. سرور چند نخی، چند کاربره، مقیاس پذیر و قدرتمند برای سیستم های تولید بار سنگین که دارای مأموریت مهم هستند طراحی شده است. MySQL هر دو موتور ذخیره سازی معاملهای و غیر معاملهای را فراهم میکند و از افزودن موتورهای ذخیره سازی دیگر پشتیبانی میکند.
چرا MySQL اینقدر محبوب است؟
در قسمت قبل راجب ویژگی های اصلی این نرم افزار صحبت شد و بخصوص سه ویژگی زیر می توانند از دلایل استفاده زیاد آن در صنایع باشد.
MySQL در واقع تنها (R)DBMS موجود در بازار نیست، اما با استفاده از پارامترهای مهم مانند تعداد موارد ذکر شده در نتایج جستجو، پروفایل های حرفه ای در LinkedIn و بحث های فنی در انجمن های اینترنتی، یکی از محبوب ترین ها و دومین پایگاه داده شرکت Oracle است. این واقعیت که بسیاری از غول های بزرگ فناوری به آن اعتماد میکنند، شایستگی این محصول را بیشتر میکند. چرا؟ در اینجا دلایل ذکر می شوند:
برای تأمین انتظارات خود میتوانید کد منبع را اصلاح کنید و نیازی به پرداخت هزینه ای برای این سطح از آزادی ندارید، همچنین گزینه های ارتقا به نسخه پیشرفته تجاری نیز در دسترس است. مراحل نصب آن نسبتاً ساده است و نباید بیش از 30 دقیقه طول بکشد.
مجموعه گستردهای از سرورهای کلاستر از MySQL پشتیبانی میکنند. چه در حال ذخیره سازی مقادیر گسترده ای از داده های تجارت الکترونیکی بزرگ باشید و چه در انجام فعالیت های سنگین هوش تجاری، MySQL میتواند با سرعت مطلوب به شما کمک کند.
هنگام انتخاب نرم افزار مناسب RDBMS، داده های شما باید مهمترین نگرانی شما باشد. MySQL با سیستم تعیین سطح دسترسی و مدیریت حساب کاربر، از لایه امنیتی مناسبی استفاده می کند. تأیید مبتنی بر میزبان و رمزگذاری رمز عبور هر دو در دسترس هستند.
نتیجه گیری
امیدواریم با مطالبی که در حوزه MySQL ارائه گردید، اولین قدم را برای آشنایی و یادگیری MySQL برداشته باشید. MySQL مجموعه گستردهای از ویژگی ها و مکانیزم های ذخیره سازی قدرتمند داده را پشتیبانی میکند که آن را به جایگاه بالایی در دنیای RDBMS رسانده است. با غول های صنعتی بزرگی مانند فیس بوک و یوتیوب که از آن پشتیبانی میکنند و آن را به عنوان DB خود استفاده میکنند، MySQL مانده و همچنان آماده جنگ برای پیشرفت است. جالب است بدانید اگر علاقمند به یادگیری حرفه ای و آموزش MySQL هستید، در بهترین جا قرار دارید!