آموزش ویدیویی پایگاه داده، SQL و NoSQL و ...
2.08K subscribers
224 photos
116 videos
1.83K links
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs

* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
Download Telegram
💡 نکته #MySQL

🟣 موضوع : ‏کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : ‏استفاده از COUNT با JOIN

‏نکته 1: حواست باشه! وقتی با JOIN داده‌ها رو به هم وصل می‌کنی و بعد COUNT می‌گیری، ممکنه تعداد ردیف‌هات الکی زیاد بشن. 🤔 برای شمردن آیتم‌های یکتا، حتماً از COUNT(DISTINCT ...) استفاده کن! 💡

‏نکته 2: اگه می‌خوای فقط آیتم‌های منحصر به فرد یه جدول رو بشمری ولی نیاز به اطلاعات جدول دیگه هم داری، COUNT(DISTINCT yourmaintable.id) رفیقته! اینجوری از شمردن تکراری‌ها جلوگیری می‌کنی.

‏نکته 3: عملکرد (Performance) رو دست کم نگیر! 🚀 JOIN و COUNT روی جدول‌های بزرگ می‌تونه سرعت رو بیاره پایین. حتماً مطمئن شو که ایندکس‌هات (Indexes) درست و حسابی تنظیم شدن!

‏نکته 4: فرق LEFT JOIN و INNER JOIN برای شمردن خیلی مهمه! اگه می‌خوای حتی اونایی که تو جدول دوم هیچ تطابقی ندارن هم تو شمردنت باشن، LEFT JOIN رو انتخاب کن. 🤝

‏نکته 5: گاهی اوقات، استفاده از یک ساب‌کوئری (Subquery) یا CTE برای شمردن پیش‌فرض، می‌تونه کوئری رو واضح‌تر و حتی سریع‌تر کنه. 🧠 پیچیده کردن JOIN و COUNT همیشه بهترین راه نیست!

‏نکته 6: برای شمردن گروه‌بندی شده (مثلاً تعداد سفارش برای هر مشتری)، GROUP BY رو فراموش نکن! 🏷️ این دستور کلید اصلی برای گرفتن آمار از دسته‌های مختلفه.

‏نکته 7: COUNT() و COUNT(columnname) فرق دارن. COUNT() همه ردیف‌ها رو میشماره، حتی اونایی که توشون NULL هستن (بعد از JOIN و WHERE). ولی COUNT(columnname) فقط ردیف‌های غیر-NULL رو میشماره. حواست باشه کدوم رو استفاده می‌کنی! 🧐

‏نکته 8: یه مثال کاربردی: برای شمردن تعداد سفارش‌های هر مشتری، می‌تونی اینطوری بنویسی: SELECT c.name, COUNT(o.orderid) FROM customers c LEFT JOIN orders o ON c.id = o.customerid GROUP BY c.id; خیلی مفیده! 🛒

‏نکته 9: الکی JOIN نکن! 🙅‍♀️ اگه فقط نیاز به یه شمارش ساده از یه جدول داری و اطلاعات جدول دیگه برات مهم نیست، بی‌جهت جدول‌ها رو به هم وصل نکن. کوئری‌هات رو سبک و کارآمد نگه دار! 🔥

‏نکته 10: همیشه اول با داده‌های کم و نمونه (Small Data) تست کن! 🧪 اینجوری می‌فهمی که JOIN و COUNT چطوری رفتار می‌کنن قبل از اینکه روی داده‌های اصلی (Production) اجراش کنی. امنیت و دقت حرف اوله!


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
📚 نکته #SQLite

🟣 موضوع : ‏بررسی و مقایسه انواع ذخیره‌سازی داده‌ها در SQLite
📖 سرفصل : ‏مفاهیم JSON در SQLite

نکته 1:
‏SQLite از طریق افزونه رسمی JSON1 که از نسخه‌های جدیدتر به صورت پیش‌فرض کامپایل شده است، قابلیت‌های داخلی برای ذخیره، پرس‌وجو و دستکاری داده‌های ساختار یافته JSON را فراهم می‌آورد.

نکته 2:
‏داده‌های JSON در SQLite به عنوان یک رشته متنی (TEXT) ذخیره می‌شوند، اما توابع JSON صحت ساختار و قالب‌بندی آن را در هنگام عملیات‌ها تضمین می‌نمایند.

نکته 3:
‏توابع json\_valid(X) برای تأیید اعتبار نحوی (Syntactic Validity) محتوای یک ستون یا عبارت به عنوان یک سند JSON معتبر به کار می‌رود و خروجی 1 یا 0 ارائه می‌دهد.

نکته 4:
‏برای استخراج یک مقدار مشخص از یک سند JSON، از تابع json\_extract(X, P1, P2, ...) استفاده می‌شود که در آن X سند و P مسیرهای دسترسی (Path) به عنصر مورد نظر هستند.

نکته 5:
‏مسیرهای JSON در توابع SQLite از نمادگذاری استاندارد JSONPath پیروی می‌کنند که با '\'$ برای ریشه سند شروع شده و با استفاده از نقطه یا براکت برای دسترسی به اعضای شیء یا آرایه ادامه می‌یابد.

نکته 6:
‏تابع json(X, P1, V1, P2, V2, ...) برای افزودن مقادیر جدید به سند JSON یا json برای جایگزینی مقادیر موجود در مسیرهای مشخص شده به کار می‌رود.

نکته 7:
‏تابع json شبیه json و json\_replace عمل می‌کند، اما در صورتی که مسیر وجود نداشته باشد درج (Insert) و در صورت وجود جایگزینی (Replace) را انجام می‌دهد.

نکته 8:
‏از تابع جدول مجازی json\_each(X, P) می‌توان برای باز کردن یک آرایه یا شیء JSON و ارائه هر عنصر آن به صورت یک ردیف مجزا در نتایج کوئری استفاده کرد که برای تحلیل‌های گسترده مفید است.

نکته 9:
‏استفاده از JSON در SQLite برای ذخیره داده‌های نیمه ساختار یافته (Semi-Structured Data) انعطاف‌پذیری طرحواره (Schema Flexibility) را فراهم می‌آورد که در مدل‌های داده‌ای تکاملی ارزشمند است.

نکته 10:
‏هنگام انجام پرس‌وجو بر روی عناصر داخلی JSON، عدم استفاده از شاخص‌های مستقیم می‌تواند منجر به اسکن کامل جدول شود، لذا برای بهینه‌سازی باید از ستون‌های مجازی (Generated Columns) برای ایندکس‌گذاری مقادیر استخراج شده استفاده کرد.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #NoSQL

🟣 موضوع : ‏انواع مدل‌های داده در NoSQL

نکته :

‏برای ذخیره لاگ‌ها، داده‌های سری زمانی (time-series) یا اینترنت اشیا (IoT)، مدل ستونی عالیه چون برای نوشتن‌های زیاد بهینه شده. 📈✍️


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #MySQL

🟣 موضوع : ‏کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : ‏معرفی NATURAL JOIN و دلایل عدم توصیه به استفاده از آن

‏سلام! NATURAL JOIN یه جورایی مثل رفیق صمیمی می مونه که خودش همه چی رو با هم جور می کنه. ولی بعضی وقتا، این رفاقت می تونه دردسرساز شه!

‏یادت باشه NATURAL JOIN بر اساس اسم ستون های مشترک، جدول ها رو به هم وصل می کنه. اگه اسامی ستون ها یهو عوض بشن، کل کوئریت می پره هوا! 💥

‏یه راه حل اینه که همیشه از USING یا ON استفاده کنی و اسم ستون ها رو خودت مشخص کنی. اینجوری کنترلش دست خودته! 💪

‏NATURAL JOIN موقعی که داری جدول های بزرگ رو با هم ترکیب می کنی، می تونه عملکرد رو کم کنه. 🐌 کوئری هات کند می شن!

‏بهتره کلاً از NATURAL JOIN دوری کنی و به جاش از JOIN های دیگه مثل INNER JOIN استفاده کنی. 😎

‏اگه می خوای مطمئن شی که همه چی درست کار می کنه، کوئری هاتو تست کن! 🧪 یه عالمه تست بزن تا ببینی چه خبره!

‏NATURAL JOIN باعث می شه کدت سخت تر خونده شه و بقیه نتونن راحت درکش کنن. 😵‍💫 پس مراقب باش!

‏همیشه به این فکر کن که کوئریت رو چطور میشه ساده تر و قابل فهم تر نوشت. 💡 اینطوری تیمت خوشحال تره!

‏اگه یه زمانی مجبور شدی از NATURAL JOIN استفاده کنی، حتماً کامنت بذار و توضیح بده که چرا این کارو کردی! 📝

‏خلاصه، با احتیاط با NATURAL JOIN رفتار کن! 🔥 بهتره بری سراغ JOIN های دیگه که امن تر و قابل اعتمادترن.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #NoSQL

🟣 موضوع : CQRS (Command Query Responsibility Segregation)

نکته :

‏فکر کن یه فروشگاه آنلاین داری. هزار نفر همزمان محصول می‌بینن (Query)، ولی فقط چند نفر سفارش می‌دن (Command). با CQRS می‌تونی سمت Query رو خیلی خیلی قوی‌تر و سریع‌تر بسازی تا همه بتونن بدون معطلی خرید کنن. 🛍️🛒


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #MySQL

🟣 موضوع : ‏کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : ‏استفاده از HAVING برای فیلتر کردن نتایج گروه‌بندی شده

‏اگه میخوای نتایج گروه‌بندیت رو فیلتر کنی، به جای WHERE از HAVING استفاده کن! خیلی باحاله 😎🔥

‏یادت نره HAVING بعد از GROUP BY میاد. اینجوری SQL Server گیج نمیشه 💡

‏HAVING میتونه شرط های پیچیده تری داشته باشه. مثلاً میانگین یه ستون رو چک کنه!

‏اگه از HAVING استفاده میکنی، حتماً یه ستون aggregate function (مثل COUNT، AVG) توش داشته باشی.

‏میتونی چند تا شرط رو با AND و OR توی HAVING ترکیب کنی. قدرتش رو دست کم نگیر! 😎

‏یه مثال ساده: SELECT department, COUNT() FROM employees GROUP BY department HAVING COUNT() > 10. باحاله مگه نه؟ 🔥

‏قبل از HAVING، دیتابیس اول داده ها رو GROUP BY میکنه، بعد HAVING اون ها رو فیلتر میکنه. اینو یادت نره! 💡

‏میتونی alias برای ستون aggregate function تعریف کنی و بعد توی HAVING ازش استفاده کنی. کارتو راحت میکنه

‏اگه توی WHERE و HAVING شرط های مشابه داری، سعی کن اونایی که میشه رو توی WHERE بذاری. اینجوری سریعتر میشه.

‏حواست باشه که HAVING فقط برای گروه‌بندی شده هاست! اگه GROUP BY نداشته باشی، ارور میده! 😎


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #NoSQL

🟣 موضوع : Provisioned Throughput (DynamoDB)

نکته :

"Burst capacity" DynamoDB'de harika bir özelliktir. 🌟 Ani trafik artışları için hazırda bekler, ancak her zaman ona güvenme!


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #SQL

🟣 موضوع : ‏NoSQL در مقابل SQL

نکته :

‏NoSQL برای اپلیکیشن‌هایی که سریع تغییر می‌کنن و حجم داده بالایی دارن عالیه 🚀.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #SQLite

🟣 موضوع : ‏بررسی و مقایسه انواع ذخیره‌سازی داده‌ها در SQLite
📖 سرفصل : ‏انواع INDEX

نکته 1:
‏یه نوع رایج ایندکس، همونیه که برای کلید اصلی (PRIMARY KEY) خودکار ساخته می‌شه. بهش میگن B-Tree Index. ساختار اصلی SQLite با این کار می‌کنه! 🌳💡

نکته 2:
‏UNIQUE Index یه نوع ایندکسه که علاوه بر سرعت‌بخشی، مطمئن می‌شه هیچ مقداری توی اون ستون تکراری نباشه. دو تا کار با یک تیر! 🎯🔒

نکته 3:
‏می‌تونی ایندکس روی چندین ستون بسازی (Multi-Column Index). اگه همیشه با شرط WHERE City='X' AND State='Y' جستجو می‌کنی، این نوع ایندکس عالیه! 🧩

نکته 4:
‏SQLite یه نوع ایندکس داخلی به نام ROWID داره. اگه ستون INTEGER PRIMARY KEY تعریف کنی، در واقع اون ستون به جای این ROWID استفاده می‌شه و خیلی سریع عمل می‌کنه. 🚀

نکته 5:
‏ایندکس‌های Partial (یا Indexed Views تو بقیه دیتابیس‌ها) تو SQLite نداریم، اما می‌تونی با استفاده از WHERE موقع ساخت ایندکس، یه ایندکس بسازی که فقط روی یه زیرمجموعه از داده‌ها کار کنه. ✂️

نکته 6:
‏وقتی از CREATE INDEX ساده استفاده می‌کنی، در واقع یه Regular Index می‌سازی که برای جستجوی داده‌های عمومی عالیه. ساده و موثر.

نکته 7:
‏ایندکس‌هایی که از دستور CREATE UNIQUE INDEX استفاده می‌کنن، علاوه بر سرعت، یه محدودیت هم اضافه می‌کنن که مقادیر تکراری ممنوع بشن. پس مراقب داده‌های تکراری باش! 🚫🔥

نکته 8:
‏برای ستون‌های متنی (TEXT)، می‌تونی ایندکس بسازی. ایندکس‌سازی روی ستون‌های رشته‌ای طولانی ممکنه یه کم حجم دیتابیس رو زیاد کنه، ولی جستجوی متنی رو سریع می‌کنه. 📝

نکته 9:
‏ایندکس‌ها می‌تونن صعودی (ASC) یا نزولی (DESC) تعریف بشن. اگه همیشه داده‌ها رو به ترتیب نزولی مرتب می‌کنی، ایندکس نزولی بساز تا سریع‌تر باشه! ⬇️⬆️

نکته 10:
‏SQLite از یه نوع خاص از B-Tree استفاده می‌کنه که برای دیتابیس‌های تک‌فایلی و تعبیه‌شده (Embedded) خیلی بهینه و کارآمده. معماری زیرکانه! 🏗️😎


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 کوییز #SQL



کدام کوئری تعداد کل رکوردهای جدول employees را برمی‌گرداند؟ 

A) SELECT SUM(*) FROM employees; 

B) SELECT COUNT() FROM employees; 

C) SELECT COUNT(*) FROM employees; 

D) SELECT TOTAL(*) FROM employees; 


پاسخ:
C
 

توضیح: COUNT(*) تعداد کل رکوردها را در جدول می‌شمارد، حتی اگر شامل NULL باشند. 


💗 مطالب بعدی ما رو حتما دنبال کنید!



ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
آدرس کانال اصلی:
https://t.me/Tu_24
آدرس وبسایت:
https://tutorial24.ir/
💡 نکته #NoSQL

🟣 موضوع : ‏پشتیبانی ACID در پایگاه‌های جدید (FaunaDB)

نکته :

‏دنبال یه دیتابیس NoSQL هستی که اسکیل‌پذیر باشه و دردسر کمتری داشته باشه؟ FaunaDB می‌تونه انتخاب خوبی باشه. کلاه‌برداری هم توش کمتره! 💸😎


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
Media is too big
VIEW IN TELEGRAM
🔵 ۲۲- دستور OUTER JOIN در MySQL

🟢 کیفیت : متوسط

🔴 توجه کنید با تنظیمات خود تلگرام می توانید حجم و کیفیت ویدیو را بر اساس سرعت اینترنت خود تنظیم نمایید.

🟣 MySQL آموزش

🟢 زبان آموزش: فارسی

🟣 MySQL آموزش


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته یادگیری ماشین

مهندسی ویژگی (Feature Engineering)


یه مدل یادگیری ماشین، هر چقدر هم که خفن باشه، بدون داده‌های خوب نمی‌تونه کار خاصی انجام بده. مهندسی ویژگی دقیقاً همینجاست که وارد می‌شه. 🤔

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

مهندسی ویژگی هم دقیقاً همین کار رو با داده‌ها می‌کنه. ما داده‌های خام رو می‌گیریم و با دانش و خلاقیت خودمون، اون‌ها رو به "ویژگی"هایی تبدیل می‌کنیم که برای مدل قابل فهم‌تر و کاربردی‌تر باشن. 👨‍🍳

چند مثال ساده:

تاریخ تولد: به جای اینکه فقط تاریخ خام "1370/05/15" رو به مدل بدی، می‌تونی اون رو به یه ویژگی جدید مثل "سن" تبدیل کنی. 🎂

آدرس: به جای آدرس کامل "خیابان اصلی، کوچه فرعی، پلاک ۵"، می‌تونی ویژگی‌های مفیدتری مثل "فاصله از مرکز شهر" یا "نوع محله (مسکونی/تجاری)" بسازی. 🏘

قیمت و تعداد: در یه فروشگاه آنلاین، به جای اینکه فقط قیمت هر محصول و تعدادش رو به مدل بدی، می‌تونی یه ویژگی جدید به اسم "مجموع مبلغ فاکتور" (قیمت ضربدر تعداد) بسازی. 💰

خلاصه اینکه، مهندسی ویژگی یعنی "خلاقیت" در کار با داده‌ها. گاهی اوقات، یه مدل ساده با ویژگی‌های خوب، بهتر از یه مدل پیچیده با داده‌های خام عمل می‌کنه.

این نکته نشون می‌ده که بخش بزرگی از کار در یادگیری ماشین، بیشتر به هنر تبدیل داده به اطلاعات مفید مربوط می‌شه تا فقط انتخاب مدل. 😉


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ


لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #SQL

🟣 موضوع : ‏دستورات DML: UPDATE

نکته :

‏وقتی از UPDATE استفاده می‌کنی، به پرفورمنس (performance) هم فکر کن. WHERE های بهینه سرعت کار رو بالا میبرن! ⚡️🏎️


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
📚 نکته #SQLite

🟣 موضوع : ‏بررسی و مقایسه انواع ذخیره‌سازی داده‌ها در SQLite
📖 سرفصل : ‏بهینه‌سازی پرس‌وجوها با INDEX

نکته 1:
‏نمایه‌ها (Indexes) ابزار اصلی برای بهینه‌سازی (Optimization) پرس‌وجوهای SELECT در SQLite هستند، زیرا دسترسی به داده‌ها را از O(n) به طور بالقوه به O(log n) کاهش می‌دهند.

نکته 2:
‏استفاده مؤثر از نمایه‌ها در بند WHERE برای فیلتر کردن سطرها، موجب می‌شود تا موتور پایگاه داده از پویش کامل جدول (Full Table Scan) اجتناب کند و جستجوی مستقیم مبتنی بر درخت B را به کار گیرد.

نکته 3:
‏بهینه‌ساز پرس‌وجو (Query Optimizer) SQLite، بر اساس آمارها و ساختار نمایه، بهترین مسیر دسترسی (Access Path) را برای بازیابی داده‌ها انتخاب می‌کند.

نکته 4:
‏برای پرس‌وجوهایی که از عملگرهای مقایسه‌ای (مانند <, >) یا عملگرهای محدوده‌ای (مانانند BETWEEN) استفاده می‌کنند، نمایه‌ها باید بر روی ستون‌های مربوطه ایجاد شوند تا اسکن‌های محدوده‌ای (Range Scans) بهینه‌سازی شوند.

نکته 5:
‏ایجاد یک نمایه ترکیبی (Composite Index) بر روی ستون‌هایی که به طور همزمان در بند WHERE و ORDER BY استفاده می‌شوند، می‌تواند نیاز به عملیات پرهزینه مرتب‌سازی را برطرف سازد.

نکته 6:
‏اگر ستون‌های یک نمایه ترکیبی در بند WHERE با ترتیبی مغایر با تعریف نمایه استفاده شوند، موتور پایگاه داده ممکن است نتواند به طور کامل از مزایای نمایه بهره ببرد.

نکته 7:
‏نمایه‌های پوششی (Covering Indexes) بهینه‌ترین حالت استفاده از نمایه را فراهم می‌کنند، زیرا تمامی ستون‌های مورد نیاز برای اجرای پرس‌وجو (شامل SELECT و WHERE) در خود نمایه وجود دارند و نیازی به ارجاع به جدول اصلی نیست.

نکته 8:
‏ابزار EXPLAIN QUERY PLAN برای تحلیل مسیر انتخابی بهینه‌ساز پرس‌وجو ضروری است و به متخصصان امکان می‌دهد تا تشخیص دهند که آیا نمایه‌ها به طور مؤثر توسط پرس‌وجو مورد استفاده قرار گرفته‌اند یا خیر.

نکته 9:
‏استفاده بیش از حد از نمایه‌ها یک خطای رایج در بهینه‌سازی است، زیرا هر نمایه سربار ذخیره‌سازی اضافی و هزینه‌های به‌روزرسانی در عملیات DML را به سیستم تحمیل می‌کند.

نکته 10:
‏برای جداول بزرگ و ستون‌هایی با تنوع مقداری بالا (High Cardinality) که در شروط فیلتر استفاده می‌شوند، ایجاد نمایه منجر به بیشترین بهبود در عملکرد پرس‌وجو می‌شود.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #یادگیری_ماشین

🟣 موضوع : ‏یادگیری ماشین: شبکه‌های عصبی کانولوشنال - معماری‌های معروف - ساختار لایه‌های AlexNet و ویژگی‌های کلیدی آن

نکته :

‏الکس‌نت یه لایه‌ای به اسم Local Response Normalization داشت که مثل رقابت بین نورون‌های همسایه عمل می‌کرد تا بهترین‌ها فعال بشن. امروزه بیشتر از Batch Normalization استفاده می‌شه ولی دونستنش خالی از لطف نیست. 😉


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
‏پایتون‌کار حرفه‌ای باش! 😎

‏PEP8 رو جدی بگیر! 🐍

‏* فاصله‌ها رو درست رعایت کن، خوانایی کدت چند برابر میشه!
‏* طول خط رو زیر 80 نگه دار، اسکرول افقی ممنوع! 🚫
‏* نام متغیرها و توابع رو بامعنی انتخاب کن.

‏کد تمیز = کد لذت‌بخش!
#پایتون #آموزش #PEP8

https://t.me/python7ir
🔵 کوییز #یادگیری_ماشین

🟣 موضوع : ‏یادگیری ماشین در علم داده (Data Science)

🟢 سوال :

‏کدام یک از مراحل پیش‌پردازش داده شامل کاهش ابعاد است؟

گزینه 1:
PCA
گزینه 2:
Normalization
گزینه 3:
Clustering
گزینه 4:
Imputation

🔵 گزینه صحیح: 1

🟢 توضیح :

‏PCA یک روش کاهش ابعاد است که ویژگی‌های مهم را استخراج می‌کند.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #SQLite

🟣 موضوع : ‏بررسی و مقایسه انواع ذخیره‌سازی داده‌ها در SQLite
📖 سرفصل : ‏گروه‌بندی داده‌ها با GROUP BY

نکته 1:
‏GROUP BY چیه؟ 🤔 مثل این می‌مونه که بخوای توی یه کلاس، دانش‌آموزا رو بر اساس تیم ورزشی‌شون دسته‌بندی کنی! 🏀

نکته 2:
‏وقتی از GROUP BY استفاده می‌کنی، معمولاً باید یه تابع تجمعی (مثل COUNT, SUM, AVG) هم همراهش بیاری. وگرنه چیو می‌خوای بشمری یا جمع بزنی؟ 💡

نکته 3:
‏تصور کن یه عالمه رکورد فروش داری. می‌خوای بدونی مجموع فروش هر ماه چقدر بوده؟ GROUP BY رو بذار روی ستون ماه! 💰📅

نکته 4:
‏اگه می‌خوای بدونی توی هر شهر چند تا مشتری داری، از COUNT(*) همراه با GROUP BY شهر استفاده کن. خیلی سریع و مفید! 🏘️👨‍👩‍👧‍👦

نکته 5:
‏GROUP BY باید بعد از دستور WHERE و قبل از ORDER BY بیاد. این ترتیب رو فراموش نکن! 🛑🔥

نکته 6:
‏GROUP BY بهت کمک می‌کنه که از شر تکرار داده‌ها خلاص شی و یه دید کلی و خلاصه‌شده از دیتات داشته باشی. صرفه‌جویی در نگاه کردن! 👀

نکته 7:
‏می‌تونی روی چند تا ستون همزمان GROUP BY کنی! مثلاً فروش بر اساس سال و ماه. فقط اسم هر دو ستون رو بیار. 🗓️🚀

نکته 8:
‏برای فیلتر کردن نتایج بعد از GROUP BY، دیگه نباید از WHERE استفاده کنی! باید از دستور HAVING استفاده کنی. این دوتا قاطی نشن! 🚫

نکته 9:
‏مثال: می‌خوای میانگین حقوق رو برای هر دپارتمان پیدا کنی، ولی فقط برای دپارتمان‌هایی که بیشتر از 5 کارمند دارن. از HAVING COUNT(*) > 5 استفاده کن! 🧑‍💼📊

نکته 10:
‏اگه یه ستون رو توی SELECT آوردی و تابع تجمعی روش اعمال نشده، حتماً باید توی GROUP BY هم بیاریش. قانون ساده SQLite! 👍


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
‏حلقه ها رو چطور متوقف یا کنترل کنیم؟ 🤔

‏`break`: کلا از حلقه میاد بیرون! دیگه هیچی اجرا نمیشه. 🚪

‏`continue`: این دور رو رد میکنه، میره دور بعدی. 🏃‍♀️

‏یه مثال ساده:

```python
for i in range(5):
if i == 2:
continue
‏ print(i) # خروجی: 0 1 3 4
```
‏عدد ۲ چاپ نشد!😎
#پایتون #آموزش

https://t.me/python7ir
🔵 نکته یادگیری ماشین

بریم سراغ یه تکنیک خیلی خفن که یادگیری ماشین رو شبیه به یادگیری انسان‌ها می‌کنه! 🧠

یادگیری انتقالی (Transfer Learning) 🔄

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

یادگیری انتقالی هم دقیقاً همین ایده‌ رو داره. به جای اینکه یک مدل رو از اول از صفر آموزش بدی، از یه مدلی استفاده می‌کنی که قبلاً روی یه مجموعه داده خیلی بزرگ و عمومی آموزش دیده و دانش زیادی کسب کرده. 📚

بعد، دانش اون مدل رو به کار جدید و تخصصی خودت "منتقل" می‌کنی.

به زبان ساده‌تر:

فرض کن می‌خوای یک مدل برای تشخیص "چهره گربه‌ها" بسازی. 🐈‍⬛ به جای اینکه هزاران عکس گربه جمع کنی و از صفر شروع کنی، می‌تونی از یه مدل آماده استفاده کنی که قبلاً روی میلیون‌ها عکس از همه چیز (آدم، ماشین، حیوان، اشیا و...) آموزش دیده. 🚗👨‍👩‍👦

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

این تکنیک دو تا مزیت بزرگ داره:

صرفه‌جویی در زمان: به جای ساعت‌ها یا روزها آموزش، فقط به چند دقیقه یا ساعت نیاز داری. ⏱️

صرفه‌جویی در داده: می‌تونی با تعداد داده‌های خیلی کمتری به نتایج عالی برسی.

خلاصه که، به جای اینکه چرخ رو از اول اختراع کنی، از چرخی که قبلاً اختراع شده استفاده می‌کنی و فقط اون رو برای کار خودت تنظیم می‌کنی! 🛠

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ


لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir