تفاوت SQL و MySQL

تفاوت SQL و MySQL
توسط منتشر شده در : مارس 31, 2023دسته بندی: مقالات برنامه نویسیLast Updated: می 10, 2023بدون دیدگاه on تفاوت SQL و MySQLنمایش: 1770

چکیده مقاله :
SQL (زبان پرس و جوی ساختاریافته) یک زبان برنامه نویسی است که برای مدیریت و دستکاری پایگاه داده های رابطه ای استفاده می شود. به شما امکان می دهد داده ها را در پایگاه داده بازیابی، درج، به روز رسانی و حذف کنید. SQL در بسیاری از انواع مختلف پایگاه داده از جمله MySQL استفاده می شود. MySQL یک سیستم مدیریت پایگاه داده رابطه ای منبع باز محبوب است که از SQL استفاده می کند. به طور گسترده در برنامه های کاربردی وب برای ذخیره و مدیریت داده ها استفاده می شود. MySQL از چندین موتور ذخیره سازی از جمله InnoDB، MyISAM و MEMORY پشتیبانی می کند. MySQL را می توان بر روی سیستم عامل های مختلف از جمله ویندوز، لینوکس و macOS نصب کرد. در این مقاله می خواهیم به بررسی دقیق و جامع تفاوت SQL و MySQL بپردازیم.

1- فرق بین SQL و MySQL

فرق بین SQL و MySQL

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

اما داده ها هیچ فایده ای ندارند مگر اینکه تجزیه و تحلیل شوند. برای این منظور، شرکت ها از RDBMS (سیستم مدیریت پایگاه داده رابطه ای) استفاده می کنند. RDBMS به مدیران پایگاه داده و سازمان ها کمک می کند تا روابط بین مجموعه های متمایز از داده ها را با ابزارهای مدیریت توسعه دهند. در این مقاله به دو ابزار مدیریتی بسیار محبوب و کارآمد نگاه می‌کنید و تفاوت بین SQL و MySQL را یاد خواهید گرفت. اما قبل از بررسی عمیق تفاوت SQL و MySQL، ضروری است که آنها را به صورت جداگانه درک کنید.

جهت آشنایی بیشتر می توانید مقاله زیر را با عنوان برنامه نویسی مطالعه نمایید.

2- پایگاه داده یا دیتابیس چیست؟

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

3- انواع مختلف پایگاه داده چیست؟

  • پایگاه داده های رابطه ای: از جداول برای ذخیره داده ها و SQL برای مدیریت و دستکاری آن داده ها استفاده میکند.
  • پایگاه های داده NoSQL: از یک رویکرد غیر جدولی برای ذخیره و مدیریت داده ها استفاده میکند و توسط ساختارهای طرحواره ثابت محدود نمی شود.
  • پایگاه داده های شی گرا: داده ها را در اشیا ذخیره می کند و از زبان های برنامه نویسی شی گرا پشتیبانی می کند.
  • پایگاه داده های گراف: از ساختارهای گراف برای ذخیره و مدیریت داده ها استفاده میکند، به ویژه برای روابط پیچیده مفید است.
  • پایگاه های داده درون حافظه: داده ها را به جای روی دیسک در حافظه کامپیوتر ذخیره می کند و در نتیجه زمان دسترسی سریعتر را به همراه دارد.
  • پایگاه های داده توزیع شده: داده ها را در چندین ماشین یا گره ذخیره می کند و مقیاس پذیری و قابلیت اطمینان را بهبود می بخشد.
  • پایگاه‌های داده سری زمانی: برای مدیریت داده‌های دارای مهر زمانی طراحی شده‌اند که آنها را برای ذخیره و تجزیه و تحلیل داده‌های دستگاه‌های IoT، حسگرها و تراکنش‌های مالی ایده‌آل می‌سازد.
  • پایگاه داده های ابری: میزبانی شده بر روی پلتفرم های ابری، مقیاس پذیری، انعطاف پذیری و سهولت دسترسی را فراهم می کند.

4- پایگاه داده رابطه ای چیست؟

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

5- SQL چیست؟

SQL مخفف عبارت Structured Query Language است. طبق دستورالعمل های ANSI (موسسه استانداردهای ملی آمریکا)، SQL زبان استاندارد برای نگهداری و مدیریت پایگاه داده است. بنابراین، علاوه بر چند تغییر نحوی جزئی، اکثر پرس و جوهای پایگاه داده برای بازیابی، افزودن یا دستکاری داده ها بر اساس نحو استاندارد SQL هستند.

SQL اولین بار در IBM توسعه یافت. با SQL، می‌توانید به راحتی از پایگاه داده برای افزودن، تغییر، به‌روزرسانی یا حذف داده‌ها به زبانی ساده مانند انگلیسی سؤال کنید. شما می توانید از SQL برای مدیریت چندین سیستم مدیریت پایگاه داده رابطه ای مانند MySQL، SQL Server، Oracle و MS Access استفاده کنید. با نوشتن کدها و پرس و جوها در SQL، می توانید هر پایگاه داده را همراه با ایجاد طرحواره ایجاد و اصلاح کنید.

6- SQL Server چیست؟

SQL Server یک سیستم مدیریت پایگاه داده رابطه ای قدرتمند است که توسط مایکروسافت توسعه یافته است. بستری برای ذخیره، مدیریت و بازیابی داده ها برای برنامه ها و خدمات مختلف فراهم می کند. SQL Server از SQL، یک زبان برنامه نویسی که برای برقراری ارتباط با پایگاه های داده استفاده می شود، پشتیبانی می کند. این به کاربران اجازه می دهد تا پایگاه داده ها، جداول و نماها را ایجاد، اصلاح و حذف کنند و همچنین عملیات مختلفی مانند پرس و جو، مرتب سازی، فیلتر کردن و پیوستن به داده ها را انجام دهند. SQL Server همچنین ویژگی های پیشرفته ای مانند در دسترس بودن، امنیت و مقیاس پذیری بالا را ارائه می دهد که آن را به انتخابی محبوب برای مشاغل در هر اندازه تبدیل می کند. معمولاً در برنامه های کاربردی وب، هوش تجاری و تجزیه و تحلیل داده ها استفاده می شود.

7- MySQL چیست؟

برای درک بهتر تفاوت SQL و  MySQL  بهتر است بدانید که خود MySQL چیست. MySQL یک سیستم مدیریت پایگاه داده رابطه‌ای است که در سال 1995 توسعه و منتشر شد. این سیستم توسط MySQL AB توسعه و حمایت مالی شد، که سپس توسط Sun Microsystems خریداری شد که امروزه شما آن را به نام Oracle Corporation می‌شناسید. MySQL ترکیبی از “My” (دختر یکی از بنیانگذاران) و “SQL” است.

MySQL یکی از اولین RDBMS های منبع باز بود که توسعه و راه اندازی شد. در حال حاضر، انواع مختلفی از MySQL وجود دارد. با این حال، نحو اصلی همه تغییرات یکسان است. MySQL که به زبان های برنامه نویسی C و C++ طراحی و نوشته شده است، با تمام سیستم عامل های اصلی (Operating System) سازگار است. این یکی از اجزای اصلی یک پشته نرم‌افزار کاربردی وب متن‌باز بسیار محبوب به نام LAMP است که مخفف Linux، Apache، MySQL، PHP/Perl/Python است.

8- چگونه از SQL با MySQL استفاده می کنید؟

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

برای تعامل با MySQL با استفاده از SQL، می توانید از سرویس گیرنده خط فرمان MySQL یا یک ابزار رابط کاربری گرافیکی (GUI) مانند MySQL Workbench استفاده کنید. می توانید از دستورات SQL مانند SELECT، INSERT، UPDATE و DELETE برای بازیابی، افزودن، اصلاح و حذف داده ها در پایگاه داده MySQL استفاده کنید.

9- تفاوت بین SQL و MySQL چیست؟

اکنون، از آنجایی که نمای کلی و مفهوم اصلی را می‌دانید، بیایید به تفاوت‌های اصلی بین SQL و MySQL نگاه کنیم.

MySQL SQL
MySQL یک سیستم مدیریت پایگاه داده رابطه ای است که از SQL استفاده می کند. SQL یک زبان برنامه نویسی پرس و جو است که RDBMS را مدیریت می کند.
MySQL به شما امکان می دهد داده ها را مدیریت، ذخیره، اصلاح و حذف کنید و داده ها را به صورت سازمان یافته ذخیره کنید. SQL در درجه اول برای پرس و جو و راه اندازی سیستم های پایگاه داده استفاده می شود.
MySQL با یک ابزار داخلی به نام MySQL Workbench ارائه می شود که ایجاد، طراحی و ساخت پایگاه داده را تسهیل می کند. SQL از هیچ کانکتوری پشتیبانی نمی کند.
MySQL انواع مختلفی دارد و به‌روزرسانی‌های مکرر دریافت می‌کند. SQL از یک فرمت استاندارد ساده و بدون به روز رسانی زیاد یا منظم پیروی می کند.
MySQL از موتورهای ذخیره سازی چندگانه همراه با ذخیره سازی افزونه پشتیبانی می کند و آن را انعطاف پذیرتر می کند. SQL تنها از یک موتور ذخیره سازی پشتیبانی می کند.
MySQL امنیت کمتری نسبت به SQL دارد، زیرا به پردازنده های شخص ثالث اجازه می دهد تا فایل های داده را در حین اجرا دستکاری کنند. SQL به پردازنده های دیگر یا حتی باینری های خودش اجازه نمی دهد که داده ها را در حین اجرا دستکاری کنند.

10- آیا می توان از SQL با سایر پایگاه های داده استفاده کنید؟

SQL یک زبان استاندارد است که برای برقراری ارتباط با پایگاه های داده رابطه ای استفاده می شود. در حالی که در ابتدا برای استفاده با RDBMS بسیار محبوب معروف به MySQL توسعه یافته بود، اکنون توسط مجموعه وسیعی از سیستم های مدیریت پایگاه داده دیگر نیز پشتیبانی می شود. برخی از آنها عبارتند از Oracle، Microsoft SQL Server، PostgreSQL، SQLite و IBM DB2. علاوه بر این، بسیاری از پایگاه های داده NoSQL مانند Apache Cassandra و MongoDB نیز از زبان های پرس و جوی SQL مانند پشتیبانی می کنند. بنابراین، می توان از SQL با طیف گسترده ای از پایگاه های داده اعم از رابطه ای و غیر رابطه ای استفاده کرد

11- آیا همه پایگاه های داده از SQL استفاده می کنند؟

خیر، همه پایگاه های داده از SQL استفاده نمی کنند. در حالی که این یک زبان محبوب و پرکاربرد برای مدیریت پایگاه های داده رابطه ای است، انواع دیگری از پایگاه های داده وجود دارند که از زبان ها و ساختارهای مختلفی استفاده می کنند. به عنوان مثال، پایگاه های داده NoSQL مانند MongoDB و Cassandra از رویکرد مبتنی بر سند استفاده می کنند و زبان های پرس و جو خود را دارند. علاوه بر این، انواع دیگری از پایگاه‌های داده مانند پایگاه‌های داده گراف (مانند Neo4j) و فروشگاه‌های ارزش کلیدی (مانند Redis) وجود دارند که از زبان‌ها و ساختارهای تخصصی خود استفاده می‌کنند.

12- سایر فناوری های پایگاه داده که از SQL استفاده می کنند

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

Microsoft SQL Server که یک سیستم مدیریت پایگاه داده محبوب برای برنامه های کاربردی سازمانی است ویژگی های پیشرفته ای مانند انبار داده ها، خدمات تجزیه و تحلیل و هوش تجاری را ارائه می دهد.

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

فناوری های پایگاه داده جدیدتری مانند Apache Cassandra و MongoDB وجود دارند که از SQL به عنوان یک زبان پرس و جو اختیاری پشتیبانی می کنند.

13- SQL و MySQL برای چه مواردی استفاده می شود؟

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

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

14- چه مشاغلی از SQL و MySQL استفاده می کنند؟

تحلیلگران داده، دانشمندان داده و مدیران پایگاه داده به شدت به SQL و MySQL برای مدیریت و دستکاری مجموعه داده های بزرگ متکی هستند. تحلیلگران هوش تجاری همچنین از SQL و MySQL برای استخراج بینش از پایگاه داده ها و ایجاد گزارش استفاده می کنند.

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

بسیاری از صنایع دیگر که به داده ها متکی هستند، مانند امور مالی، مراقبت های بهداشتی و بازاریابی، از SQL و MySQL برای تجزیه و تحلیل و مدیریت داده ها استفاده می کنند.

15- شباهت های بین SQL و MySQL چیست؟

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

اولا، هر دو SQL و MySQL از مجموعه مشابهی از انواع داده مانند انواع داده های عددی، رشته ای، تاریخ/زمان و انواع داده های بولی پشتیبانی می کنند. ثانیا، هر دو از عملیات دستکاری داده های اولیه مانند SELECT، INSERT، UPDATE و DELETE پشتیبانی می کنند. در نهایت، هر دو از نحو مشابهی استفاده می‌کنند و کلیدواژه‌های مشترکی مانند SELECT، FROM، WHERE و ORDER BY را به اشتراک می‌گذارند که جابجایی بین دو فناوری را آسان می‌کند.

16- چگونه بین SQL و MySQL بهترین انتخاب را داشته باشیم؟

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

در نهایت، تصمیم به مورد استفاده خاص شما و ویژگی ها و قابلیت هایی که از پایگاه داده خود نیاز دارید، بستگی دارد. اگر روی یک برنامه وب کار می کنید و به یک پایگاه داده سریع و مقیاس پذیر نیاز دارید، MySQL انتخاب خوبی است. اگر به ویژگی‌های پیشرفته‌تر یا سازگاری با سیستم‌های دیگر نیاز دارید، ممکن است بخواهید پایگاه‌های داده مبتنی بر SQL را در نظر بگیرید.

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

17- سوالات پرتکرار

1. آیا MySQL همان SQL Server است؟

خیر، MySQL با SQL Server یکی نیست. اگرچه هر دو سیستم های مدیریت پایگاه داده رابطه ای هستند، اما در موارد استفاده، قیمت گذاری، مجوز، ویژگی ها، مزایا و موارد دیگر متفاوت هستند. در حالی که MySQL از طریق Oracle ارائه می شود، SQL Server از طریق شرکت مایکروسافت ارائه می شود.

2. چه برنامه هایی از SQL و MySQL استفاده می کنند؟

چندین برنامه محبوب مبتنی بر وب از MySQL مانند WordPress، Facebook، Youtube و Joomla استفاده می کنند. SQL توسط سیستم های مدیریت پایگاه داده رابطه ای رایج مانند Oracle، Sybase، Access، Microsoft SQL Server و Ingres ترجیح داده می شود.

3. آیا MySQL برای استفاده رایگان است؟

MySQL یک نرم افزار رایگان و منبع باز برای مشاغل و افراد است. می توان آن را به عنوان یک محصول مستقل برای هر هدفی، تجاری یا غیر تجاری، روی سرور وب استفاده کرد. نسخه کامیونیتی MySQL رایگان است، در حالی که نسخه های پولی نیز وجود دارد، مانند نسخه Enterprise، Cluster Carrier Grade Edition، و MySQL Standard Edition.

4. کدام SQL را ابتدا باید یاد بگیرم؟

SQLite برای مبتدیان ساده ترین روش یادگیری است. این یک RDBMS قدرتمند با طراحی سبک و آسان است. این ساده ترین پایگاه داده است که برای تمرین پرس و جوهای ساده و پیوستن مناسب است.

5. تفاوت عمده بین MySQL و SQL چیست؟

SQL یک زبان برنامه نویسی پرس و جو برای مدیریت RDBMS است. در مقابل، MySQL یک RDBMS (سیستم مدیریت پایگاه داده رابطه ای) است که از SQL استفاده می کند. بنابراین، تفاوت عمده بین این دو این است که MySQL یک نرم افزار است، اما SQL یک زبان پایگاه داده است.

6. MySQL یا SQL کدام بهتر است؟

هر دو سرور MySQL و SQL می توانند workloads با کارایی بالا را اجرا کنند. آنها شامل برنامه های کاربردی مشتری با ویژگی های غنی هستند و یک تجربه یکپارچه را ارائه می دهند. اما از نظر امنیت، سرور SQL از سرور MySQL امنیت بیشتری دارد.

7. ابتدا باید SQL یاد بگیرم یا MySQL؟

از آنجایی که SQL یک زبان پرس و جو داده است، ابتدا باید زبان SQL را برای کار بر روی هر سیستم مدیریت پایگاه داده تسلط داشته باشید. دانش SQL برای ذخیره، دستکاری و بازیابی داده ها در هر RDBMS ضروری است. هنگامی که SQL را یاد گرفتید، می توانید به یادگیری اصول RDBMS مانند MySQL بروید.

8. آیا می توانم از MySQL بدون SQL استفاده کنم؟

خیر، SQL برای کار بر روی پایگاه داده ضروری است. از آنجایی که SQL یک زبان پرس و جو برای برنامه نویسی و مدیریت داده ها در یک سیستم مدیریت پایگاه داده رابطه ای مانند MySQL است، برای کار با پایگاه داده رابطه ای به SQL نیاز دارید.

اشتراک گذاری این محتوا، پلتفرم خود را انتخاب کنید!
مطالب مرتبط دیگر :

  • مربیان سئو (SEO Mentors): 11 متخصص که باید در سال 2024 دنبال کنید
مربیان سئو (SEO Mentors): 11 متخصص که باید در سال 2024 دنبال کنید

نوامبر 10, 2024|بدون دیدگاه

چکیده مقاله: قبل از معرفی بهترین مربیان و متخصصان سئو بهتر است بدانید که سئو آسان نیست. موارد زیادی برای پیگیری وجود دارد و گوگل با هر به روزرسانی هدف گذاری های جدیدی تعیین [...]

  • سئو برای افیلیت مارکتینگ: فروش بیشتر در سیستم همکاری در فروش
سئو برای افیلیت مارکتینگ: فروش بیشتر در سیستم همکاری در فروش

نوامبر 9, 2024|بدون دیدگاه

مقدمه: افیلیت مارکتینگ (Affiliate Marketing) یا همکاری در فروش یک استراتژی است که در آن شما محصولات یا خدمات را تبلیغ می کنید و به ازای هر فروش یا لید (مشتری بالقوه) که ایجاد [...]

  • ویژگی های SERP: بهینه سازی برای صفحه نتایج موتور جستجو
ویژگی های SERP: بهینه سازی برای صفحه نتایج موتور جستجو

نوامبر 8, 2024|بدون دیدگاه

چکیده مقاله: نتایج جستجو گوگل می توانند شامل بیش از 10 لینک آبی ساده باشند. این نتایج با ویژگی های SERP (صفحه نتایج موتور جستجو) طراحی شده اند تا به کاربران دسترسی سریع و [...]

  • تفاوت سئو کلاه سیاه و کلاه سفید: مزایا، معایب و تکنیک ها
تفاوت سئو کلاه سیاه و کلاه سفید: مزایا، معایب و تکنیک ها

نوامبر 5, 2024|بدون دیدگاه

مقدمه: دو رویکرد اصلی برای سئو وجود دارد: سئو کلاه سفید و سئو کلاه سیاه. درست مثل فیلم های وسترن قدیمی، سئوکارهای کلاه سفید، کابوی های قابل اعتماد و قانونمند هستند، در حالی که [...]