اس کیو ال سرور (SQL Server) یک سامانه مدیریت پایگاه داده رابطهای (RDBMS) است که توسط شرکت مایکروسافت توسعه یافته است. شاید برایتان جالب باشد که بدانید کد اولیه این نرم افزار در دهه ۱۹۸۰ میلادی توسط شرکت سابق Sybase Inc. (که هم اکنون مالکیت آن در اختیار شرکت SAP قرار دارد) نوشته شده است.
در سال ۱۹۸۸، شرکتهای Sybase، مایکروسافت و Ashton-Tate در یک همکاری مشترک، نسخه اولیه اس کیوال سرور را برای سیستمعامل OS/2 ارائه کردند. این مشارکت در سال ۱۹۹۰ به اتمام رسید و حق مالکیت نام اس کیوال سرور نزد مایکروسافت باقی ماند. نسخه ۱.۰ این نرم افزار نیز حاصل همکاری مشترک مایکروسافت و Sybase در سال ۱۹۸۹ منتشر شد.
شرکت Ashton-Tate بعد از خروج از این مشارکت، دیگر نقشی در توسعه اس کیوال سرور نداشت. با این حال، همکاری مایکروسافت و Sybase تا سال ۱۹۹۴ ادامه پیدا کرد. در این سال، مایکروسافت به طور کامل مسئولیت توسعه و بازاریابی اس کیوال سرور را برای سیستمعاملهای اختصاصی خود برعهده گرفت.
یک سال پیش از آن (۱۹۹۳) و با کمرنگ شدن روابط با Sybase، مایکروسافت اقدام به انتشار این نرم افزار بر روی سیستمعامل تازه عرضه شدهی Windows NT کرد. بدین منظور، کد ۱۶ بیتی نسخه OS/2 با اعمال تغییراتی به یک نسخه ۳۲ بیتی با قابلیتهای جدید تبدیل شد. از آن زمان به بعد، تمرکز اصلی بر توسعه نسخه مربوط به ویندوز قرار گرفت. نهایتا در سال ۱۹۹۶، شرکت Sybase نام نسخه خود را به Adaptive Server Enterprise تغییر داد و بدین ترتیب، نام SQL Server به طور اختصاصی در اختیار مایکروسافت باقی ماند.
برای مدیریت و برقراری ارتباط با اس کیوال سرور، از نرم افزار SQL Server Management Studio که یک رابط کاربری گرافیکی مدیریتی است، استفاده میشود. همچنین، Transact-SQL یک زبان رویهای است که درون سیستم مدیریت پایگاه داده اس کیوال سرور ذخیره و اجرا میگردد.
نسخههای SQL Server کدامند؟
مایکروسافت، نرمافزار مدیریت پایگاه دادهی SQL Server را در چهار نسخه اصلی ارائه میدهد که هرکدام سطح متفاوتی از خدمات را شامل میشوند.
- نسخه Express: این نسخه رایگان است و برای راهاندازی پایگاههای داده کوچک با حداکثر ظرفیت ذخیرهسازی ۱۰ گیگابایت روی دیسک مناسب است. اما توجه داشته باشید که این نسخه برای استفاده در محیطهای عملیاتی (پروداکشن) مجوز ندارد.
- نسخه Developer: این نسخه تمام قابلیتهای نسخه Enterprise را داراست و برای توسعهدهندگان جهت ساخت و آزمایش نرمافزار ایدهآل است. با این حال، مجوز این نسخه هم برای محیطهای عملیاتی صادر نمیشود.
- نسخه Standard: این نسخه دارای مجموعهای محدودتر از قابلیتها نسبت به نسخه Enterprise است و همچنین از نظر مقیاسپذیری با محدود کردن تعداد هستههای قابل استفاده CPU و میزان حافظه، محدودیتهایی دارد. لازم به ذکر است که در اواخر سال ۲۰۱۶، مایکروسافت به دلیل رقابت بیشتر در بازار، برخی از قابلیتهای نسخه Enterprise را برای نسخه Standard در دسترس قرار داد. این قابلیتها شامل In-Memory OLTP، PolyBase، فهرستهای Columnstore، پارتیشنبندی، فشردهسازی دادهها و امکان گرفتن تغییرات پایگاه داده (Change Data Capture) میشود.
- نسخه Enterprise: این نسخه پرچمدار با مجموعهای کامل از قابلیتها است و برای برنامههای کاربردی بزرگتر که نیاز به پشتیبانی در سطح تولید (پروداکشن) دارند، مناسب است.
تفاوت بین SQL و SQL Server چیست؟
SQL (Structured Query Language) یا زبان پرس و جو ساختاریافته، زبانی استاندارد است که برای تعامل با سیستمهای مدیریت پایگاه داده رابطهای (RDBMS) استفاده میشود.
SQL Server نام تجاری محصول RDBMS شرکت مایکروسافت است. با این حال، استفاده از عبارت “SQL” به جای “SQL Server” در بین افراد رایج است، به طوری که گاه این دو اصطلاح به جای یکدیگر به کار برده میشوند.
توجه به این نکته ضروری است که SQL و SQL Server دو مفهوم مجزا هستند:
- SQL زبانی است که برای پرس و جو، دستکاری و مدیریت دادهها در پایگاههای داده رابطهای استفاده میشود.
- SQL Server یک نرمافزار است که به عنوان سیستم مدیریت پایگاه داده رابطهای عمل میکند و از زبان SQL برای تعامل با پایگاه داده استفاده میکند.
به طور خلاصه:
- SQL زبانی است برای برقراری ارتباط با پایگاههای داده رابطهای.
- SQL Server یک نرمافزار پایگاه داده رابطهای از شرکت مایکروسافت است که از زبان SQL برای تعامل با دادهها استفاده میکند.
مثال:
فرض کنید میخواهید اطلاعات مربوط به مشتریان خود را از پایگاه داده استخراج کنید. برای انجام این کار، از دستور SQL SELECT
استفاده خواهید کرد.
شما میتوانید این دستور را در هر RDBMS، از جمله SQL Server، اجرا کنید.
موارد زیر برخی از تفاوتهای کلیدی بین SQL و SQL Server است:
- SQL یک زبان است، در حالی که SQL Server یک نرمافزار است.
- SQL برای تعامل با هر RDBMS استفاده میشود، در حالی که SQL Server فقط با RDBMS خاص مایکروسافت کار میکند.
- SQL دارای مجموعه دستورات و ویژگیهای خاص خود است، در حالی که SQL Server شامل ویژگیهای اضافی مانند Replication و Integration Services است.
تفاوت بین MySQL و SQL Server
MySQL و SQL Server دو تا از محبوبترین سیستمهای مدیریت پایگاه داده رابطهای (RDBMS) هستند که هر کدام مزایا و معایب خاص خود را دارند. انتخاب بین این دو به نیازها و الزامات خاص شما بستگی دارد.
MySQL
- متنباز: MySQL یک نرمافزار متنباز است، به این معنی که کد منبع آن به صورت رایگان در دسترس است و هر کسی میتواند آن را تغییر دهد یا بهبود بخشد. این امر باعث میشود MySQL به طور گسترده در پروژههای کوچک و بزرگ مورد استفاده قرار گیرد.
- رایگان: MySQL به صورت رایگان قابل دانلود و استفاده است. این موضوع آن را به یک گزینه ایدهآل برای کاربران با بودجه محدود تبدیل میکند.
- قابلیت انعطافپذیری: MySQL از طیف گستردهای از سیستمعاملها و زبانهای برنامهنویسی پشتیبانی میکند، که آن را به یک انتخاب محبوب برای توسعهدهندگان وب تبدیل میکند.
- مقیاسپذیری: MySQL میتواند برای پشتیبانی از پایگاههای داده کوچک تا بزرگ مقیاس شود.
SQL Server
- تجاری: SQL Server یک نرمافزار تجاری است، به این معنی که برای استفاده از آن باید مجوز خریداری کنید.
- عملکرد: SQL Server به طور کلی عملکرد بهتری نسبت به MySQL دارد، به خصوص برای پایگاههای داده بزرگ و برنامههای کاربردی پیچیده.
- امنیت: SQL Server دارای ویژگیهای امنیتی پیشرفتهای است که آن را به یک انتخاب محبوب برای سازمانهایی تبدیل میکند که به امنیت داده اهمیت میدهند.
- پشتیبانی: مایکروسافت پشتیبانی کاملی برای SQL Server ارائه میدهد، که میتواند برای کاربران سازمانی مفید باشد.
کدام را انتخاب کنیم؟
انتخاب بین MySQL و SQL Server به نیازها و الزامات خاص شما بستگی دارد. اگر به دنبال یک پایگاه داده متنباز، رایگان و انعطافپذیر هستید، MySQL انتخاب خوبی است. اگر به عملکرد، امنیت و پشتیبانی قوی نیاز دارید، SQL Server انتخاب بهتری است.
در اینجا خلاصهای از تفاوتهای کلیدی بین MySQL و SQL Server ارائه شده است:
ویژگی | MySQL | SQL Server |
---|---|---|
مجوز | متنباز | تجاری |
هزینه | رایگان | پولی |
سیستمعامل | چند پلتفرمی | ویندوز |
زبانهای برنامهنویسی | طیف گستردهای | T-SQL |
عملکرد | خوب | عالی |
امنیت | خوب | عالی |
پشتیبانی | جامعه | مایکروسافت |
آیا اس کیو ال سرور یک پایگاه داده (دیتابیس) است؟
بله، اما نه دقیقا!
مایکروسافت SQL Server یک سیستم مدیریت پایگاهداده رابطهای (RDBMS) است. این نرمافزار مانند یک سرور عمل میکند که وظیفه ذخیره و بازیابی اطلاعات را برعهده دارد. برنامههای کاربردی دیگر میتوانند از طریق این سرور، به اطلاعات موجود بر روی کامپیوتر خود یا یک کامپیوتر راه دور (از طریق شبکه یا اینترنت) دسترسی پیدا کنند. مایکروسافت همچنین برای برقراری ارتباط با SQL Server از طریق وب، واسطهای برنامهنویسی کاربردی (API) ارائه میدهد.
سیستم مدیریت پایگاهداده رابطهای، فراتر از صرفاً بازیابی اطلاعات برای برنامههای کاربردی عمل میکند. برای مثال، قابلیتهایی نظیر مدیریت بافر (buffer management) تضمین میکنند که پرکاربردترین دادهها همواره به سریعترین شکل ممکن در دسترس باشند.
SQL Server بر اساس مدل رابطهای بنا شده و برای حفظ انسجام اطلاعات، یکپارچگی ارجاعی (referential integrity) را میان اشیاء اعمال میکند. همانند دیگر پایگاهدادههای رابطهای، برای حفظ صحت اطلاعات، از اصول ACID (اتمسیت، سازگاری، جداسازی تراکنشها، دوام) پیروی میکند.