MySQL و MariaDB
MySQL & MariaDBMySQL پرکاربردترین پایگاهدادهٔ رابطهای دنیاست و MariaDB شاخهٔ آزاد آن. این مسیر فرض نمیکند SQL بلدی — از مدل رابطهای شروع میکند — اما خیلی زود میرود سراغ چیزی که واقعاً فرق میگذارد: اینکه چرا آن کوئری کند است و ایندکس درست کدام است.
پیشرفت تو
درصد هر فصل از دو چیز میآید: چقدر از بخشهایش را خواندهای (۵۵٪) و چند تمرینش را تیک زدهای (۴۵٪). همهچیز داخل مرورگر خودت میماند.
فصل
فصلها به هم وابستهاند و ترتیبشان معنا دارد. هر مسیر با پروژههای نهایی تمام میشود: ساده، متوسط، پیچیده.
مدل رابطهای و نصب
جدول، کلید، و راهاندازی با داکر.
در نوبت نوشتنSELECT و فیلتر
WHERE، ORDER BY، LIMIT و NULL.
در نوبت نوشتنJOIN
inner، left، و اشتباهی که سطرها را تکثیر میکند.
در نوبت نوشتنتجمیع
GROUP BY، HAVING و توابع پنجرهای.
در نوبت نوشتنزیرکوئری و CTE
کوئری خوانا بهجای تودرتو.
در نوبت نوشتنتغییر داده
INSERT، UPDATE، DELETE، UPSERT.
در نوبت نوشتنطراحی جدول
نوع داده، کلید، constraint و charset فارسی.
در نوبت نوشتننرمالسازی
سه فرم اول، و denormalization آگاهانه.
در نوبت نوشتنایندکس
B-tree، ترکیبی، پوششی و ترتیب ستونها.
در نوبت نوشتنEXPLAIN
خواندن برنامهٔ اجرا و تشخیص full scan.
در نوبت نوشتنتراکنش و قفل
سطوح ایزوله، deadlock و InnoDB.
در نوبت نوشتنprocedure، function، trigger
کِی مفیدند و کِی دردسر.
در نوبت نوشتنreplication
master-replica، تأخیر و خواندن از replica.
در نوبت نوشتنپشتیبان و بازیابی
mysqldump، binlog و بازیابی نقطهای.
در نوبت نوشتنامنیت
کاربر، GRANT، TLS و تزریق SQL.
در نوبت نوشتنبهینهسازی
slow log، buffer pool و کوئری کند واقعی.
در نوبت نوشتنپروژهٔ ۱ — طراحی شِما
از نیاز تا جدول، با کلید و constraint درست.
در نوبت نوشتنپروژهٔ سادهپروژهٔ ۲ — گزارشهای تحلیلی
کوئریهای پیچیده و ایندکسگذاری.
در نوبت نوشتنپروژهٔ متوسطپروژهٔ ۳ — از کند به سریع
یک پایگاهدادهٔ میلیونی را به زیر یک ثانیه برسان.
در نوبت نوشتنپروژهٔ پیچیده