ویرگول
ورودثبت نام
علی هستم
علی هستم
علی هستم
علی هستم
خواندن ۴ دقیقه·۱۸ روز پیش

پست ۱ - دیتابیس ، SQL و... چی هستند دقیقا؟

توی ذهنم بود که یک سری مطالب پیوسته در اینجا انتشار بدم در مورد دیتابیس ها و داده ها و یک مسیر راهی رو ادامه بدم ،‌چیزی که توی ذهنم هست اینه که با مفهوم دیتابیس شروع کنم و به برم سراغ SQL Server و بعد هم ابزار هایی که میشه استفاده کرد برای اینکه بیشتر با دیتا ها بازی کنیم و ازشون بخوایم که جواب یک سری از سوال ها رو ما رو بدن.

ساخته شده توسط GPT (خیلی داره خفن میشه)
ساخته شده توسط GPT (خیلی داره خفن میشه)

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


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

مستقیم بریم سراغ SQL، که مخفف Structured Query Language ،‌یک زبان استاندارد هست برای انجام عملیات های مختلف روی داده ها و بسیار زبان راحت و شبیه به زبان انسان هست. مثلا:

SELECT name, email FROM users WHERE age > 18;

دیتابیس مجموعه‌ای از داده‌های ساختارمند است که توسط DBMS (همین پایین توضیحش رو میدم) مدیریت می‌شود.

حالا که فهمیدیم SQL یک زبان هست بیاد بریم سراغ مفهومی به اسم DBMS ، یعنی database management systems

DBMS نرم‌افزاریه که دیتابیس رو مدیریت می‌کنه و خیلی خوب دستورات SQL رو میفهمه و اجرا میکنه.
یه چیزی دیگه هم داریم به اسم RDBMS که میشه Relational Database Management System که یک نوعی از DBMS هست. خب بریم یه چندتا از DBMS معروف رو معرفی کنیم و بعد هم برسیم سر SQL SERVER
یه جمع بندی کوچیک کنیم:

  • SQL : یک زبان هست برای کوئری زدن

  • DBMS : یک نرم افزار هست.

  • RDBMS : نوعی DBMS است که بر اساس جدول و رابطه ها هست.


SQL Server :
این نرم افزار ( یه DBMS ) توسط مایکروسافت ساخته شده و بشدت در محیط های سازمانی بخصوص در ایران استفاده میشه و کاربرد داره.
با C# و .NET خیلی هماهنگ هست و همینطور تازگی روی لینوکس هم میشه نصب کرد، تا قبلش فقط قابل نصب روی ویندوز بود.
هم نسخه رایگان ازش وجود داره (SQL Server Express) و هم نسخه پولی که قاعدتا با امکانات بیشتری هست.
و خب توی اکوسیستم مایکروسافت خیلی میتونه گزینه مناسبی باشه.

My SQL :
یه DBMS خیلی محبوب و Open-Source هست. که توسط Oracle توسعه پیدا کرده.
توی Web Application ها استفاده زیادی ازش میشه و میتونه گزینه مناسبی باشه.
با زبان هایی مثلا PHP, Python,Java هم سازگاری خوبی داره و یک DBMS کم حجم و سبک محسوب میشه

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

PostgreSQL :
بهش Postgres هم میگن ، یه نرم افزار بشدت قوی و عالی هست که Open Source هم هست.
قابلیت های خیلی زیادی و کاملی داره و خیلی هم بروز هست با نیاز جامعه
یه چندتا از قابلیت هاش :‌ از JSON پشتیبانی میکنه ، قابلیت Full-Text Search داره برای سرچ پیشرفته و بهینه ،‌ و همینطور قابلیت ایجاد نوع دیتا خاص (Custom) داره.
خیلی خلاصه : پیشرفته‌ترین DBMS متن‌باز (Open-Source) هست.

MariaDB :
یک شاخه یا fork از MySQL هست که توسط توسعه دهنده های MySQL ایجاد شده.
کاملا Open-Source هست و توی بعضی موارد خاص از MySQL سریع تر هست.
تقریبا همون MySQL هست ولی یه خورده باز تر


خب تا الان با DBMS های مختلف آشنا شدیم ،‌یه چیز که توی هست اینه که دستورات تمام این نرم افزارها توی ۹۰ درصد مواقع شبیه به هم هست و فقط توی موارد خاص از هم متفاوت میشن که اون هم باز بسته به نیاز کاربر هست.

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


در مورد No-SQL هم یه چیز خلاصه بگم ،‌مخفف Not Only SQL هست.
در ساختار بندی کاملا متفاوت از SQL هست.

NoSQL دیتابیس‌ها ساختار انعطاف‌پذیر دارند و اسکیما از پیش تعریف‌شده اجباری ندارند و یه وقت هایی این نوع ساختار باعث میشه توی یک نیاز هایی خیلی مفید واقع بشه مثل بیگ دیتا (Big-Data) و لاگ برداری و ...

و به خاطر این ویژگی خاصشون ،‌سرعت بالایی هم دارند.

نرم افزار هایی مثل MongoDB و Redis توی این دسته قرار میگیرند.

و اینو در نظر بگیرید که NoSQL مکمل SQL است، نه جایگزینش.




sqlدیتابیس
۲
۰
علی هستم
علی هستم
شاید از این پست‌ها خوشتان بیاید