Learning

MySQL چیست؟

MySQL یک سیستم مدیریت پایگاه داده رابطه ای SQL منبع باز است که توسط Oracle توسعه یافته و پشتیبانی می شود.

این پاسخ کوتاه و یک جمله ای به سؤال «MySQL چیست» است، اما اجازه دهید آن را به عباراتی تقسیم کنیم که کمی مفهومی تر هستند.

پایگاه داده فقط مجموعه ای ساختار یافته از داده ها است که برای استفاده و بازیابی آسان سازماندهی شده است. برای یک سایت وردپرس، این «داده» چیزهایی مانند متن پست های وبلاگ، اطلاعات همه کاربران ثبت نام شده در سایت، داده های بارگذاری شده خودکار، تنظیمات مهم و غیره است.

MySQL تنها یک سیستم محبوب است که می تواند آن داده ها را برای شما ذخیره و مدیریت کند و یک راه حل پایگاه داده محبوب برای سایت های وردپرس است.

MySQL چیست؟ با جزئیات بیشتر

MySQL در ابتدا در سال 1995 راه‌اندازی شد. از آن زمان تاکنون، چند تغییر در مالکیت/ سرپرستی آن انجام شده است، قبل از اینکه در سال 2010 در شرکت Oracle به پایان برسد. در حالی که Oracle اکنون مسئول است، MySQL هنوز نرم‌افزار منبع باز است . به این معنی که می توانید آزادانه از آن استفاده کرده و آن را تغییر دهید.

آرم MySQL (منبع تصویر: MySQL/Oracle)

این نام از کنار هم قرار دادن “My” – نام دختر هم بنیانگذار – با SQL – مخفف Structured Query Language که یک زبان برنامه نویسی است که به شما کمک می کند به داده ها در یک پایگاه داده رابطه ای دسترسی پیدا کرده و مدیریت کنید، آمده است.

برای درک نحوه عملکرد MySQL، دانستن دو مفهوم مرتبط مهم است:

پایگاه های داده رابطه ای

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

MySQL رویکردی به نام پایگاه داده رابطه ای را انتخاب می کند.

با یک پایگاه داده رابطه ای، داده های شما به جای اینکه همه چیز را با هم در یک واحد ذخیره سازی بزرگ قرار دهند، به چندین قسمت ذخیره سازی جداگانه – به نام جداول – تقسیم می شوند.

به عنوان مثال، فرض کنید می خواهید دو نوع اطلاعات را ذخیره کنید:

  • مشتریان – نام، آدرس، جزئیات و غیره آنها
  • سفارشات – مانند محصولات خریداری شده، قیمت، سفارش دهنده و غیره.

اگر سعی کنید همه این داده ها را با هم در یک گلدان بزرگ جمع کنید، با چند مشکل مانند:

  • داده‌های مختلف – داده‌هایی که برای یک سفارش باید جمع‌آوری کنید با اطلاعات یک مشتری متفاوت است.
  • داده های تکراری – هر مشتری یک نام دارد و هر سفارش نیز نام یک مشتری را دارد. مدیریت آن داده های تکراری کثیف می شود.
  • هیچ سازمانی – چگونه اطلاعات سفارش را به طور قابل اعتماد به اطلاعات مشتری متصل می کنید؟

برای حل این مشکلات، یک پایگاه داده رابطه ای از یک جدول جداگانه برای مشتریان و یک جدول جداگانه برای سفارشات استفاده می کند.

با استفاده از چیزی به نام “کلید” ، می‌توانید داده‌های این دو جدول را به یکدیگر پیوند دهید تا بتوانید در صورت نیاز، داده‌ها را در جداول مختلف دستکاری و ترکیب کنید. توجه به این نکته مهم است که یک کلید نام مشتری نیست. در عوض، شما از چیزی 100٪ منحصر به فرد مانند شماره شناسه عددی استفاده می کنید.

اگر تا به حال به پایگاه داده سایت وردپرس خود نگاه کرده باشید، خواهید دید که از این مدل رابطه ای استفاده می کند و تمام داده های شما به جداول جداگانه تقسیم شده است.

به طور پیش فرض، وردپرس از 12 جدول جداگانه استفاده می کند، اما بسیاری از افزونه های وردپرس نیز جداول خود را اضافه می کنند. به عنوان مثال، پایگاه داده سایت وردپرس زیر دارای 44 جدول جداگانه است!

نمونه ای از جداول مختلف در MySQL

برای تکمیل این مفهوم رابطه ای، بیایید آن را مختص وردپرس کنیم…

وردپرس پست های وبلاگ را در جدول wp_posts و کاربران را در جدول wp_users ذخیره می کند. با این حال، از آنجایی که این دو جدول توسط یک کلید به هم متصل هستند ، می‌توانید هر حساب کاربری را با تمام پست‌های وبلاگی که هر کاربر نوشته است پیوند دهید.

به هر پست یک post_author اختصاص داده می شود که یک شماره شناسایی منحصر به فرد است (این کلید است):

جدول wp_posts

سپس، اگر می خواهید ببینید کدام حساب کاربری با آن شماره مطابقت دارد، می توانید به شناسه در جدول wp_users نگاه کنید:

جدول wp_users

کلید – شماره شناسه – چیزی است که همه چیز را به هم متصل می کند. و علیرغم ذخیره داده‌ها در جداول جداگانه، این‌گونه است که آنها با یکدیگر “ارتباط” دارند.

مدل مشتری-سرور

فراتر از یک سیستم پایگاه داده رابطه ای، MySQL همچنین از چیزی به نام مدل مشتری-سرور استفاده می کند .

بخش سرور جایی است که داده های شما در واقع در آن قرار دارند. اما برای دسترسی به این داده ها، باید آن را درخواست کنید. اینجاست که مشتری وارد می شود.

با استفاده از SQL – زبان برنامه نویسی که قبلاً به آن اشاره کردیم – مشتری درخواستی را برای داده های مورد نیاز مشتری به سرور پایگاه داده ارسال می کند.

به عنوان مثال، اگر شخصی از یک پست وبلاگ در سایت شما بازدید کند، سایت وردپرس شما چندین درخواست SQL را به سرور پایگاه داده ارسال می کند تا تمام اطلاعات مورد نیاز برای تحویل پست وبلاگ به مرورگر وب آن بازدید کننده را دریافت کند. این خواهد شد:

  • برای دریافت محتوای پست وبلاگ از جدول wp_posts پرس و جو کنید
  • از جدول wp_users پرس و جو کنید تا اطلاعات مربوط به کادر نویسنده را دریافت کنید (با استفاده از کلیدی که در بالا به شما نشان دادیم)
  • و غیره.

اگر می‌خواهید ببینید دقیقاً چه نوع درخواست‌های پایگاه داده توسط سایت وردپرس شما انجام می‌شود، می‌توانید از یک افزونه رایگان فوق‌العاده به نام Query Monitor برای مشاهده تعامل دقیق بین سایت وردپرس خود (مشتری) و سرور پایگاه داده استفاده کنید:

افزونه Query Monitor پرس و جوهای تک تک SQL ارسال شده به سرور MySQL را به شما نشان می دهد

سرورها از MariaDB استفاده می کنند نه MySQL: تفاوت چیست؟

سرورها از یک سیستم پایگاه داده به نام MariaDB استفاده می کنیم، نه MySQL. با این حال، تمام ویژگی های مشابهی که در MySQL دیدید، برای MariaDB نیز اعمال می شود.

در واقع، MariaDB در واقع یک فورک MySQL است و توسعه دهنده اصلی MariaDB یکی از بنیانگذاران اصلی MySQL است. “فورک” فقط به این معنی است که توسعه دهندگان MariaDB کد منبع باز MySQL را به عنوان پایه خود انتخاب کردند و سپس بر اساس آن برای ایجاد MariaDB ایجاد کردند.

بنابراین، در حالی که نام متفاوتی دارد، MariaDB کاملاً به MySQL مرتبط است و قابلیت جایگزینی کامل “drop-in” را ارائه می دهد (یعنی می توانید بدون نیاز به اقدامات احتیاطی خاصی از MySQL به MariaDB تغییر دهید).

با این حال، در حالی که MariaDB قابلیت همکاری با MySQL را ارائه می دهد، همچنین عملکرد بهبود یافته ای را در برخی زمینه ها ارائه می دهد که با فلسفه ما برای استفاده از بهترین معماری برای تقویت سایت وردپرس شما مطابقت دارد.

خلاصه: MySQL چیست؟

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

این اطلاعات را در “جدول” جداگانه ذخیره می کند و آن را با “کلیدها” متصل می کند، به همین دلیل رابطه ای است.

هنگامی که سایت وردپرس شما نیاز به دسترسی به آن اطلاعات دارد، درخواستی را با استفاده از SQL به سرور پایگاه داده MySQL ارسال می کند (این مدل مشتری-سرور است ).

منبع:

https://kinsta.com/knowledgebase/what-is-mysql/

پست های مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *