Facebook Pixel
Searching...
فارسی
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Practical SQL

Practical SQL

A Beginner's Guide to Storytelling with Data
توسط Anthony DeBarros 2018 392 صفحات
4.26
100+ امتیازها
گوش دادن
گوش دادن

نکات کلیدی

1. مبانی SQL: ایجاد پایگاه‌داده‌ها، جداول و پرس‌وجو از داده‌ها

SQL فراتر از یک ابزار برای استخراج دانش از داده‌هاست. این زبان همچنین برای تعریف ساختارهایی است که داده‌ها را در خود نگه می‌دارند تا بتوانیم روابط موجود در داده‌ها را سازماندهی کنیم.

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

پرس‌وجوهای پایه. دستور SELECT، کار اصلی SQL است که برای بازیابی داده‌ها از جداول استفاده می‌شود. اصول اولیه را به خوبی یاد بگیرید:

  • SELECT: انتخاب ستون‌هایی که می‌خواهید نمایش دهید
  • FROM: مشخص کردن جدول(های) منبع
  • WHERE: فیلتر کردن ردیف‌ها بر اساس شرایط
  • ORDER BY: مرتب‌سازی نتایج
  • LIMIT: محدود کردن تعداد ردیف‌های بازگشتی

تمرین کنید تا این عبارات را ترکیب کنید و اطلاعات معناداری از داده‌های خود استخراج کنید. با پیشرفت، ویژگی‌های پیشرفته‌تری مانند توابع تجمیعی (COUNT، SUM، AVG) و گروه‌بندی با GROUP BY را برای خلاصه‌سازی مؤثر داده‌ها بررسی کنید.

2. دستکاری پیشرفته داده‌ها: پیوندها، زیرپرس‌وجوها و عبارات جدول مشترک

پیوندها به شما این امکان را می‌دهند که با بسیاری از مجموعه‌های داده پیچیده‌تر که با آن‌ها مواجه می‌شوید، کار کنید.

پیوند دادن جداول. انواع مختلف پیوندها را درک کنید:

  • INNER JOIN: ردیف‌های مطابقت یافته از هر دو جدول را برمی‌گرداند
  • LEFT/RIGHT JOIN: تمام ردیف‌ها از یک جدول و ردیف‌های مطابقت یافته از جدول دیگر را برمی‌گرداند
  • FULL OUTER JOIN: تمام ردیف‌ها را زمانی که در هر دو جدول مطابقت وجود دارد، برمی‌گرداند
  • CROSS JOIN: حاصل‌ضرب کاردینال هر دو جدول را برمی‌گرداند

زیرپرس‌وجوها و CTEها. زیرپرس‌وجوها به شما این امکان را می‌دهند که یک پرس‌وجو را درون پرس‌وجوی دیگر قرار دهید، که معمولاً در عبارات WHERE یا به عنوان جداول مشتق شده استفاده می‌شود. عبارات جدول مشترک (CTEs) جایگزینی قابل خواندن‌تر برای زیرپرس‌وجوهای پیچیده ارائه می‌دهند و به شما این امکان را می‌دهند که زیرپرس‌وجوهای نام‌دار را تعریف کنید که می‌توانند چندین بار در پرس‌وجوی اصلی شما ارجاع داده شوند.

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

3. کار با انواع مختلف داده‌ها: اعداد، تاریخ‌ها و متن

مدیریت زمان‌ها و تاریخ‌ها در پایگاه‌داده‌های SQL بعدی جذاب به تحلیل شما اضافه می‌کند و به شما این امکان را می‌دهد که به سوالاتی درباره زمان وقوع یک رویداد و دیگر نگرانی‌های زمانی در داده‌های خود پاسخ دهید.

داده‌های عددی. تفاوت‌های بین انواع عدد صحیح و اعشاری را درک کنید. از توابع ریاضی مناسب برای محاسبات و تجمیع‌ها استفاده کنید. از مشکلات احتمالی با حساب‌های اعشاری آگاه باشید و از انواع عددی دقیق (مانند DECIMAL) برای محاسبات مالی استفاده کنید.

داده‌های تاریخ و زمان. توابع تاریخ/زمان را به خوبی یاد بگیرید:

  • استخراج اجزا (سال، ماه، روز)
  • محاسبه فواصل بین تاریخ‌ها
  • فرمت‌بندی تاریخ‌ها برای نمایش
  • کار با مناطق زمانی

داده‌های متنی. از توابع رشته‌ای برای دستکاری متن استفاده کنید:

  • الحاق
  • استخراج زیررشته
  • تطابق الگو با LIKE و عبارات منظم
  • قابلیت‌های جستجوی متن کامل

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

4. تحلیل آماری و تجمیع داده‌ها در SQL

توابع آماری در هنگام کار با جداول پیوندی نیز قابل استفاده هستند.

تجمیع‌های پایه. با توابع تجمیعی بنیادی شروع کنید:

  • COUNT: شمارش ردیف‌ها یا مقادیر غیر تهی
  • SUM: محاسبه مجموع‌ها
  • AVG: پیدا کردن میانگین‌ها
  • MIN/MAX: شناسایی مقادیر افراطی

آمار پیشرفته. توابع آماری پیچیده‌تری را بررسی کنید:

  • همبستگی: اندازه‌گیری روابط بین متغیرها
  • رگرسیون: پیش‌بینی مقادیر بر اساس سایر متغیرها
  • درصدها: درک توزیع داده‌ها

توابع پنجره‌ای. از توابع پنجره‌ای برای انجام محاسبات در یک مجموعه از ردیف‌ها مرتبط با ردیف فعلی استفاده کنید:

  • مجموع‌های جاری
  • میانگین‌های متحرک
  • رتبه‌بندی‌ها

این تکنیک‌ها را با عبارات GROUP BY و HAVING ترکیب کنید تا داده‌های خود را بخش‌بندی کرده و بینش‌های معناداری استخراج کنید. به یاد داشته باشید که در حالی که SQL می‌تواند بسیاری از عملیات آماری را انجام دهد، تحلیل‌های پیچیده ممکن است نیاز به ادغام با نرم‌افزار یا زبان‌های آماری تخصصی مانند R یا Python داشته باشند.

5. تحلیل داده‌های جغرافیایی با PostGIS

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

انواع داده‌های فضایی. انواع داده‌های فضایی پایه را درک کنید:

  • نقطه: یک مکان واحد
  • LineString: مجموعه‌ای از نقاط متصل
  • چندضلعی: ناحیه محصور
  • MultiPoint، MultiLineString، MultiPolygon: مجموعه‌ای از اشیاء فضایی

توابع فضایی. از توابع PostGIS برای تحلیل استفاده کنید:

  • ST_Distance: محاسبه فاصله‌ها بین اشیاء
  • ST_Within: بررسی اینکه آیا یک شیء درون شیء دیگر است
  • ST_Intersection: پیدا کردن نقاط تداخل اشیاء

ایندکس‌گذاری فضایی. ایندکس‌های فضایی (مانند GiST) را برای بهبود عملکرد پرس‌وجو در مجموعه‌های داده بزرگ پیاده‌سازی کنید.

PostGIS قابلیت‌های PostgreSQL را برای مدیریت داده‌های جغرافیایی به طور مؤثر گسترش می‌دهد. این امکان را برای تحلیل‌های فضایی پیچیده فراهم می‌کند، مانند پیدا کردن نقاط مورد نظر در یک شعاع خاص، محاسبه نواحی یا انجام پیوندهای فضایی. داده‌های فضایی را با داده‌های رابطه‌ای سنتی ترکیب کنید تا تحلیل‌های جغرافیایی جامع‌تری داشته باشید.

6. مدیریت داده‌های JSON در PostgreSQL

ورود پشتیبانی از JSON در SQL این امکان را فراهم کرده است که از بهترین‌های هر دو دنیا بهره‌مند شوید و داده‌های JSON را به عنوان ستون‌هایی در جداول رابطه‌ای اضافه کنید.

انواع داده‌های JSON. PostgreSQL دو نوع JSON ارائه می‌دهد:

  • json: کپی دقیق متن ورودی را ذخیره می‌کند
  • jsonb: داده‌ها را در یک فرمت باینری تجزیه شده ذخیره می‌کند که امکان پردازش و ایندکس‌گذاری سریع‌تر را فراهم می‌کند

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

  • -> : استخراج فیلد شیء JSON به عنوان JSON
  • ->> : استخراج فیلد شیء JSON به عنوان متن
  • #> : استخراج شیء JSON در مسیر مشخص شده
  • jsonb_array_elements: گسترش آرایه JSON به مجموعه‌ای از مقادیر JSON

ایندکس‌گذاری JSON. ایندکس‌های GIN (Generalized Inverted Index) را بر روی ستون‌های jsonb ایجاد کنید تا عملگرهای وجود و حاوی را تسریع کنید.

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

7. تکنیک‌های پاک‌سازی داده، وارد کردن و صادر کردن

پس از وارد کردن یک مجموعه داده، یک گام منطقی اول این است که مطمئن شوید جدول دارای تعداد ردیف‌های مورد انتظار است.

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

پاک‌سازی داده. وظایف رایج پاک‌سازی شامل:

  • مدیریت مقادیر گمشده
  • استانداردسازی فرمت‌ها (تاریخ‌ها، شماره‌های تلفن و غیره)
  • حذف رکوردهای تکراری
  • اصلاح املای ناهماهنگ یا دسته‌ها

صادر کردن داده. از COPY TO برای صادر کردن داده‌ها به فایل‌ها استفاده کنید. گزینه‌های فرمت‌بندی را در نظر بگیرید تا از سازگاری با سیستم‌های هدف اطمینان حاصل کنید.

یک رویکرد سیستماتیک برای پاک‌سازی و اعتبارسنجی داده‌ها توسعه دهید. همیشه داده‌های وارد شده را برای کامل بودن و دقت بررسی کنید. از قابلیت‌های دستکاری رشته و عبارات منظم SQL برای پاک‌سازی متن استفاده کنید. برای وظایف پیچیده‌تر پاک‌سازی، از ابزارهای ETL (استخراج، تبدیل، بارگذاری) خارجی در کنار SQL استفاده کنید.

8. بهینه‌سازی عملکرد: ایندکس‌گذاری و تنظیم پرس‌وجو

برای تسریع در پرس‌وجوها، کدام ستون‌ها کاندیدای خوبی برای ایندکس‌ها هستند؟

استراتژی‌های ایندکس‌گذاری. ایندکس‌ها را بر روی ستون‌هایی که به طور مکرر در عبارات WHERE، شرایط JOIN و عبارات ORDER BY استفاده می‌شوند، ایجاد کنید. در نظر بگیرید:

  • ایندکس‌های B-tree برای پرس‌وجوهای برابری و دامنه
  • ایندکس‌های Hash برای مقایسه‌های ساده برابری
  • ایندکس‌های GIN برای جستجوی متن کامل و ستون‌های jsonb

بهینه‌سازی پرس‌وجو. تکنیک‌هایی برای بهبود عملکرد پرس‌وجو:

  • از EXPLAIN ANALYZE برای درک برنامه‌های اجرایی پرس‌وجو استفاده کنید
  • پرس‌وجوهای پیچیده را با استفاده از CTEها یا جداول موقت بازنویسی کنید
  • از استفاده از توابع در عبارات WHERE بر روی ستون‌های ایندکس شده خودداری کنید
  • از نوع‌های مناسب JOIN و ترتیب JOIN استفاده کنید

نگهداری پایگاه‌داده. وظایف نگهداری منظم:

  • VACUUM برای بازیابی فضای ذخیره‌سازی و به‌روزرسانی آمار
  • ANALYZE برای جمع‌آوری آمار در مورد محتوای جدول
  • نظارت و تنظیم پارامترهای پیکربندی سرور

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

آخرین به‌روزرسانی::

نقد و بررسی

4.26 از 5
میانگین از 100+ امتیازات از Goodreads و Amazon.

کتاب SQL عملی عمدتاً نظرات مثبتی را دریافت کرده است و خوانندگان از توضیحات واضح، مثال‌های عملی و پوشش جامع مفاهیم SQL قدردانی می‌کنند. بسیاری از آن را برای مبتدیان مفید و به‌عنوان یک یادآوری برای کاربران با تجربه می‌دانند. تمرکز کتاب بر روی مجموعه‌داده‌های واقعی و داستان‌گویی داده‌ها مورد توجه قرار گرفته است. برخی از خوانندگان به افزایش دشواری در فصل‌های بعدی اشاره کرده و چند نفر در نصب PostgreSQL با مشکل مواجه شده‌اند. به‌طور کلی، این کتاب به‌عنوان یک منبع ارزشمند برای یادگیری SQL و مدیریت پایگاه داده‌ها شناخته می‌شود و میانگین امتیاز آن ۴.۲۸ از ۵ بر اساس ۲۰۷ نظر است.

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

آنتونی دباروس یک روزنامه‌نگار برجسته است که به تحلیل داده‌ها، کدنویسی و داستان‌گویی علاقه‌مند است. او در حال حاضر به عنوان ویرایشگر داده‌ها در روزنامه وال استریت ژورنال مشغول به کار است و به پوشش موضوعاتی از جمله اقتصاد، تجارت، سیاست و سرشماری ایالات متحده می‌پردازد. دباروس دارای پیشینه‌ای متنوع است و در گذشته در رسانه‌هایی همچون USA TODAY، Poughkeepsie Journal و پروژه DocumentCloud برای خبرنگاران و ویراستاران تحقیقی فعالیت کرده است. تخصص او در ترکیب تحلیل داده‌ها با روزنامه‌نگاری، جوایز و شناخت‌های زیادی را در این حوزه برای او به ارمغان آورده است. کتاب دباروس نشان‌دهنده‌ی تعهد او به قابل دسترس کردن مفاهیم فنی پیچیده برای مخاطبان گسترده است.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Mar 1,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
50,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →