آموزش SQL و PostgreSQL: راهنمای کامل توسعه دهندگان

SQL and PostgreSQL: The Complete Developer's Guide

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: با SQL و PostgreSQL متخصص شوید! ذخیره و واکشی داده ها، تنظیم پرس و جوها، و طراحی ساختارهای پایگاه داده کارآمد! تسلط بر مبانی پایگاه های داده رابطه ای کسب مهارت های لازم برای به دست آوردن یک مدیر پایگاه داده (DBA) یا شغل توسعه دهنده پایگاه داده طراحی پایگاه داده های سریع و کارآمد با استفاده از آخرین فناوری ها مهارت های خود را با آزمون ها، پروژه ها و تمرین های داخلی متعدد یاد بگیرید و به کار ببرید. الگوهای طراحی بهینه سازی پرس و جوها برای کارایی خواندن و نوشتن عالی درک اینکه PostgreSQL چگونه اطلاعات را در سطح سخت افزار ذخیره می کند، PostgreSQL را با استفاده از یک API به برنامه های جلویی متصل کنید ویژگی های برنامه مشترک ایجاد کنید، مانند سیستم های "مانند" و "ذکر" مدیریت مسائل پیچیده همزمانی و شرایط مسابقه طراحی های پایگاه داده خود را با استفاده از مهاجرت های طرحواره ارتقا دهید نحوه استفاده از PostgreSQL برای سرعت بخشیدن به تست های خودکار را ببینید پیش نیازها: یک رایانه مبتنی بر Mac، PC یا Linux

طراحی ساختار پایگاه داده؟ اینجاست. تنظیم و بهینه سازی پرس و جو؟ شما به آن مسلط خواهید شد. پرس و جوهای پیچیده؟ بله واقعا!

این تنها دوره آنلاینی است که به شما می آموزد چگونه یک پایگاه داده طراحی کنید، داده های پیچیده را ذخیره کنید، پرس و جوهای خود را بهینه کنید، هر آنچه برای راه اندازی یک پایگاه داده تولیدی و مقیاس پذیر لازم است!

هر برنامه در جهان، چه یک برنامه تلفن همراه ساخته شده با Flutter، یک برنامه وب ساخته شده با React یا یک صفحه HTML ساده، نیاز به ذخیره اطلاعات در یک پایگاه داده دارد. اگرچه پایگاه‌های اطلاعاتی مختلفی وجود دارد که می‌توانید استفاده کنید، PostgreSQL چندین دهه است که انتخاب شماره یک بوده است، عملکردی مقیاس‌پذیر، سیستم‌های طراحی انعطاف‌پذیر را ارائه می‌دهد. این دوره همه چیزهایی را که باید در مورد PostgreSQL بدانید تا در پروژه بزرگ بعدی خود استفاده کنید، به شما آموزش می دهد!

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

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

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

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

در اینجا فهرستی جزئی از برخی از موضوعاتی که در این دوره پوشش داده شده است:

  • فرمان های قدرتمند SQL را برای ذخیره، به روز رسانی و بازیابی اطلاعات اعمال کنید

  • با استفاده از کلیدهای خارجی بین جداول، روابط بین رکوردها ایجاد کنید

  • انواع داده های متعدد PostgreSQL و زمان استفاده از هر کدام را بدانید

  • گزارش‌های داده‌های تجاری را با استفاده از خطوط لوله جمع‌آوری جمع‌آوری کنید

  • برای شبیه‌سازی درخواست‌های تولید واقعی با میلیون‌ها رکورد کار کنید

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

  • پرس و جوهایی را از واحدهای قابل استفاده مجدد کوچکتر با استفاده از پرس و جوهای فرعی بنویسید

  • از الگوهای طراحی مختلف برای مدل‌سازی کارآمد داده‌های خود استفاده کنید

  • نگاه کنید چگونه اشیاء پایگاه داده را به طرحواره های مختلف تقسیم کنید تا آنها را راحت تر نگهداری کنید

  • داده های خود را با استفاده از قوانین ساده "بررسی" اعتبار سنجی کنید

  • طرح‌های عالی برای ویژگی‌های رایج مانند سیستم‌های «پسندیدن»، «دنبال کردن» و «برچسب» بسازید

  • پرسش‌های خود را با نمایه‌ها سرعت دهید - دقیقاً خواهید دید که چگونه در پشت صحنه کار می‌کنند!

  • با عبارات جدول رایج بازگشتی به برخی از پیچیده ترین پرس و جوها در اطراف شیرجه بزنید

  • با اعمال تراکنش‌ها به راحتی با مسائل همزمانی کنار بیایید

من این دوره را به عنوان منبعی عالی برای مهندسانی که تازه با اولین پایگاه داده خود شروع کرده اند، تبدیل کردم. به خود پایگاه داده مسلط شوید و ببینید که چگونه آن را با طرح های واقعی اعمال کنید. امروز ثبت نام کنید و به PostgreSQL مسلط شوید!


سرفصل ها و درس ها

بیانیه های SQL ساده - اما قدرتمند Simple - But Powerful - SQL Statements

  • به انجمن ما بپیوندید! Join Our Community!

  • منابع دوره Course Resources

  • PostgreSQL همه چیز درباره چیست؟ What is PostgreSQL All About?

  • طراحی پایگاه داده Database Design

  • اصطلاحات پایگاه داده Database Terminology

  • ایجاد جداول Creating Tables

  • تجزیه و تحلیل CREATE TABLE Analyzing CREATE TABLE

  • درج داده ها در یک جدول Inserting Data Into a Table

  • بازیابی داده ها با انتخاب Retrieving Data with Select

  • ایجاد، درج و انتخاب کنید! Create, Insert, and Select!

  • ستون های محاسبه شده Calculated Columns

  • محاسبه درآمد تلفن Calculating Phone Revenue

  • استفاده از ستون های محاسبه شده Using Calculated Columns

  • راه حل تمرین Exercise Solution

  • عملگرها و توابع رشته String Operators and Functions

فیلتر کردن سوابق Filtering Records

  • فیلتر کردن ردیف ها با "Where" Filtering Rows with "Where"

  • بیشتر در مورد کلمه کلیدی "کجا". More on the "Where" Keyword

  • بندهای ترکیبی "کجا". Compound "Where" Clauses

  • نمای کلی تمرین "کجا". A "Where" Exercise Overview

  • تمرین عبارات Where Practicing Where Statements

  • راه حل "کجا". A "Where" Solution

  • "کجا" با لیست ها "Where" With Lists

  • یک "کجا" چالش برانگیزتر A More Challenging 'Where'

  • راه حل "کجا" با لیست ها A "Where" With Lists Solution

  • محاسبات در بندهای "Where". Calculations in "Where" Clauses

  • محاسبات را در بند های Where امتحان کنید Trying Calculations in Where Clauses

  • حل محاسبات Solving Calculations

  • به روز رسانی ردیف ها Updating Rows

  • حذف ردیف ها Deleting Rows

  • سعی کنید رکوردها را در یک جدول به روز کنید! Try Updating Records In a Table!

  • راه حلی برای به روز رسانی ردیف ها A Solution for Updating Rows

  • حذف سوابق را تمرین کنید Practice Deleting Records

  • راه حلی برای حذف ردیف ها Solution for Deleting Rows

کار با جداول Working with Tables

  • طرح حرکت رو به جلو The Plan Moving Forward

  • نزدیک شدن به طراحی پایگاه داده Approaching Database Design

  • بیایید طرحواره ای طراحی کنیم Let's Design Some Schema

  • روابط یک به چند و چند به یک One-to-Many and Many-to-One Relationships

  • "یکی دارد" یا "بسیاری دارد"؟ A 'Has One' or 'Has Many'?

  • روابط یک به یک و چند به چند One-to-One and Many-to-Many Relationships

  • شناسایی روابط یک به یک و چند به چند Identifying One-to-One and Many-to-Many Relationships

  • کلیدهای اصلی و کلیدهای خارجی Primary Keys and Foreign Keys

  • درک کلیدهای خارجی Understanding Foreign Keys

  • کلیدهای خارجی؛ چطورکار می کنند؟ Foreign Keys; How Do They Work?

  • شناسه های تولید شده به صورت خودکار Auto-Generated ID's

  • ایجاد ستون های کلید خارجی Creating Foreign Key Columns

  • اجرای پرس و جو در داده های مرتبط Running Queries on Associated Data

  • بررسی اجمالی ورزش Exercise Overview

  • ایجاد و استفاده از کلیدهای خارجی Creating and Using Foreign Keys

  • راه حل ایجاد کلید خارجی Foreign Key Creation Solution

  • محدودیت های کلید خارجی در مورد درج Foreign Key Constraints Around Insertion

  • محدودیت در حذف Constraints Around Deletion

  • دستوراتی که برای ویدیوی بعدی نیاز دارید Commands You’ll Need for the Next Video

  • تست محدودیت های حذف Testing Deletion Constraints

  • تنظیم کلیدهای خارجی روی Null در هنگام حذف Setting Foreign Keys to Null on Delete

  • در حذف چه اتفاقی می افتد؟ What Happens On Delete?

  • اضافه کردن مقداری پیچیدگی Adding Some Complexity

ارتباط سوابق با جوین Relating Records with Joins

  • افزودن مقداری داده Adding Some Data

  • پرس و جو با Joins و Aggregations Queries with Joins and Aggregations

  • پیوستن به داده ها از جداول مختلف Joining Data from Different Tables

  • یک عضو سریع دیگر Another Quick Join

  • بررسی اجمالی ورزش Exercise Overview

  • پیوستن به داده ها را تمرین کنید Practice Joining Data

  • یک راه حل مشترک A Joinful Solution

  • اشکال جایگزین نحو Alternate Forms of Syntax

  • داده های از دست رفته در Joins Missing Data in Joins

  • چرا گنجانده نشد Why Wasn't It Included

  • چهار نوع اتصال Four Kinds of Joins

  • هر کدام در عمل بپیوندید Each Join in Practice

  • آیا نظم مهم است؟ Does Order Matter?

  • دانش عضویت خود را آزمایش کنید Test Your Joining Knowledge

  • بررسی اجمالی ورزش Exercise Overview

  • می پیوندد، می پیوندد، بپیوندید! Joins, Joins, Join!

  • دو راه حل ممکن Two Possible Solutions

  • کجا با Join Where with Join

  • سه راه می پیوندد Three Way Joins

  • کمی تمرین A Bit of Practice

  • ورزش سه راه Three Way Exercise

  • راه حل تمرین Exercise Solution

تجمیع سوابق Aggregation of Records

  • تجمیع و گروه بندی Aggregating and Grouping

  • گروه تصویرسازی توسط Picturing Group By

  • انتخاب ستون ها پس از گروه بندی Selecting Columns After Grouping

  • توابع جمع Aggregate Functions

  • ترکیب گروه بر اساس و مصالح Combining Group By and Aggregates

  • یک گوچا با تعداد A Gotcha with Count

  • تجسم گروه بندی بیشتر Visualizing More Grouping

  • بررسی اجمالی ورزش Exercise Overview

  • تمرین برای گروه بندی و تجمیع Practice For Grouping and Aggregating

  • راه حل گروه بندی Grouping Solution

  • افزودن یک لایه دشواری Adding a Layer of Difficulty

  • گروه بندی با عضویت! Grouping With a Join!

  • راه حل Solution

  • فیلتر کردن گروه ها با داشتن Filtering Groups with Having

  • داشتن در عمل Having In Action

  • بیشتر در مورد داشتن! More on Having!

  • مروری بر ورزش A Having Exercise Overview

  • کمی داشتن را تمرین کنید Practice Yourself Some Having

  • یک راه حل سریع A Quick Solution

کار با مجموعه داده های بزرگ Working with Large Datasets

  • یک مجموعه داده جدید A New Dataset

  • بررسی این مجموعه داده Investigating This Dataset

  • برخی از گروه با تمرین Some Group By Practice

  • گروه بر اساس بررسی Group By Review

  • راه حل گروه بر اساس بررسی Group By Review Solution

  • پیوستن ها را به خاطر دارید؟ Remember Joins?

  • Inner Join Review Inner Join Review

  • البته یادت هست! Of Course You Remember!

مرتب سازی سوابق Sorting Records

  • مبانی مرتب سازی The Basics of Sorting

  • دو تغییر در مرتب سازی Two Variations on Sorting

  • افست و حد Offset and Limit

  • بررسی اجمالی ورزش Exercise Overview

  • مرتب سازی، تعدیل، و محدود کردن Sorting, Offsetting, and Limiting

  • راه حل تمرین Exercise Solution

اتحادیه ها و تقاطع ها با مجموعه ها Unions and Intersections with Sets

  • مدیریت ست ها با Union Handling Sets with Union

  • چند نکته در مورد اتحادیه A Few Notes on Union

  • اشتراکات با Intersect Commonalities with Intersect

  • حذف اشتراکات با جز Removing Commonalities with Except

  • بررسی اجمالی تمرین اتحادیه Union Exercise Overview

  • ادغام نتایج با Union Merging Results with Union

  • راه حل تمرین Exercise Solution

مونتاژ پرس و جو با SubQueries Assembling Queries with SubQueries

  • Subquery چیست؟ What's a Subquery?

  • تفکر در مورد ساختار داده ها Thinking About the Structure of Data

  • داده ها چگونه هستند؟ What's the Data Look Like?

  • سوالات فرعی در یک انتخاب Subqueries in a Select

  • بررسی اجمالی ورزش Exercise Overview

  • جاسازی در Select Embedding in Select

  • راه حل را انتخاب کنید Select Solution

  • سوالات فرعی در یک From Subqueries in a From

  • از پرس و جوهای فرعی که یک مقدار را برمی گرداند From Subqueries that Return a Value

  • نمونه ای از یک سوال فرعی در یک From Example of a Subquery in a From

  • بررسی اجمالی ورزش Exercise Overview

  • استعلام فرعی از Subquery From's

  • راه حل تمرین Exercise Solution

  • سوالات فرعی در یک بند پیوستن Subqueries in a Join Clause

  • مفیدتر - سوالات فرعی با Where More Useful - Subqueries with Where

  • ساختار داده با Where Subqueries Data Structure with Where Subqueries

  • بررسی اجمالی ورزش Exercise Overview

  • پرسش فرعی کجاست Subquery Where's

  • راه حل تمرین Exercise Solution

  • اپراتور در لیست نیست The Not In Operator with a List

  • اپراتور جدید کجا A New Where Operator

  • بالاخره بعضی ها! Finally Some!

  • آیا این یک پرسش فرعی معتبر است؟ Is It A Valid Subquery?

  • بررسی اجمالی ورزش Exercise Overview

  • سوالات فرعی خود را تمرین کنید! Practice Your Subqueries!

  • یک راه حل سریع A Quick Solution

  • احتمالاً در مورد سؤالات فرعی مرتبط خیلی زیاد است Probably Too Much About Correlated Subqueries

  • بیشتر در مورد سوالات فرعی مرتبط More on Correlated Subqueries

  • انتخابی بدون از؟ A Select Without a From?

  • بررسی اجمالی ورزش Exercise Overview

  • از-کم انتخاب می کند From-less Selects

  • راه حل تمرین Exercise Solution

انتخاب رکوردهای متمایز Selecting Distinct Records

  • انتخاب مقادیر متمایز Selecting Distinct Values

  • بررسی اجمالی ورزش Exercise Overview

  • مقداری تمرین با متمایز Some Practice with Distinct

  • یک راه حل متمایز A Distinct Solution

اپراتورهای ابزار، کلمات کلیدی، و توابع Utility Operators, Keywords, and Functions

  • بزرگترین ارزش در یک لیست The Greatest Value in a List

  • و کمترین ارزش در یک لیست! And the Least Value in a List!

  • کلمه کلیدی مورد The Case Keyword

نصب محلی PostgreSQL Local PostgreSQL Installation

  • نصب PostgreSQL در macOS PostgreSQL Installation on macOS

  • راه اندازی PGAdmin در macOS PGAdmin Setup on macOS

  • نصب Postgres در ویندوز Postgres installation on Windows

انواع داده های پیچیده PostgreSQL PostgreSQL Complex Datatypes

  • ما فقط چه کار کردیم؟ What'd We Just Do?

  • انواع داده ها Data Types

  • قوانین سریع در مورد انواع داده های عددی Fast Rules on Numeric Data Types

  • اطلاعات بیشتر در مورد انواع داده های عددی More on Number Data Types

  • یادآوری انواع کاراکترها Reminder on Character Types

  • انواع داده های بولی Boolean Data Types

  • زمان ها، تاریخ ها و مهرهای زمانی Times, Dates, and Timestamps

  • فواصل واقعا عالی Really Awesome Intervals

اعتبار سنجی و محدودیت های سمت پایگاه داده Database-Side Validation and Constraints

  • فکر کردن به اعتبارسنجی Thinking About Validation

  • ایجاد و مشاهده جداول در PGAdmin Creating and Viewing Tables in PGAdmin

  • اعمال یک محدودیت صفر Applying a Null Constraint

  • حل یک گوچا با محدودیت های پوچ Solving a Gotcha with Null Constraints

  • ایجاد محدودیت های NULL Creating NULL Constraints

  • مقادیر پیش فرض ستون Default Column Values

  • اعمال یک محدودیت منحصر به فرد در یک ستون Applying a Unique Constraint to One column

  • یکتایی چند ستونی Multi-Column Uniqueness

  • آیا منحصر به فرد است؟ Is It Unique?

  • افزودن یک بررسی اعتبار سنجی Adding a Validation Check

  • چندین ستون را بررسی می کند Checks Over Multiple Columns

  • آیا چک می گذرد؟ Does It Pass a Check?

  • پس کجا ما اعتبارسنجی را اعمال می کنیم؟ So Where Are We Applying Validation?

الگوهای طراحی ساختار پایگاه داده Database Structure Design Patterns

  • نزدیک شدن به طرح های پیچیده تر Approaching More Complicated Designs

  • استفاده از ابزار طراحی SQL Using a SQL Design Tool

  • یک طراح طرحواره مبتنی بر پیکربندی A Config-based Schema Designer

  • در اینجا طرح است Here's the Plan

  • بازسازی برخی از طرحواره ها Rebuilding Some Schema

چگونه یک سیستم "مانند" بسازیم How to Build a 'Like' System

  • الزامات یک سیستم مشابه Requirements of a Like System

  • چگونه یک سیستم مشابه طراحی نکنیم How Not to Design a Like System

  • طراحی یک سیستم مشابه Designing a Like System

  • ساختن یک سیستم مشابه Building a Similar System

  • به جای آن یک سیستم واکنش بسازید Making a Reaction System Instead

  • انجمن های چند شکلی Polymorphic Associations

  • اجرای جایگزین انجمن چند شکلی Polymorphic Association Alternative Implementation

  • ساده ترین جایگزین The Simplest Alternative

  • انجمن های چند شکلی Polymorphic Associations

  • پس کدام رویکرد؟ So Which Approach?

چگونه یک سیستم "منشن" بسازیم How to Build a 'Mention' System

  • ویژگی های اضافی در اطراف پست ها Additional Features Around Posts

  • اضافه کردن شرح‌ها و مکان‌ها Adding Captions and Locations

  • ذکر عکس در مقابل ذکر شرح Photo Mentions vs Caption Mentions

  • ملاحظات در مورد برچسب های عکس در مقابل برچسب های شرح Considerations on Photo Tags vs Caption Tags

  • به روز رسانی برای برچسب ها Update For Tags

چگونه یک سیستم "هشتگ" بسازیم How to Build a 'Hashtag' System

  • طراحی سیستم هشتگ Designing a Hashtag System

  • جداول برای هشتگ ها Tables for Hashtags

  • از جمله جدول هشتگ Including the Hashtag Table

  • چند ستون کاربر دیگر A Few More User Columns

  • چرا تعداد فالوور یا پست وجود ندارد؟ Why No Number of Followers or Posts?

چگونه یک سیستم "فالوور" طراحی کنیم How to Design a 'Follower' System

  • طراحی سیستم فالوور Designing a Follower System

پیاده سازی الگوهای طراحی پایگاه داده Implementing Database Design Patterns

  • بازگشت به Postgres Back to Postgres

  • ایجاد جداول با چک Creating Tables with Checks

  • ایجاد پست ها Posts Creation

  • ایجاد نظرات Comments Creation

  • خلقت را دوست دارد Likes Creation

  • برچسب های عکس و برچسب های کپشن Photo Tags and Caption Tags

  • ایجاد هشتگ، پست هشتگ و فالوور Creating Hashtags, Hashtag Posts, and Followers

نزدیک شدن و نوشتن پرس و جوهای پیچیده Approaching and Writing Complex Queries

  • یادداشت سریع درباره افزودن برخی داده ها Quick Note About Adding Some Data

  • افزودن مقداری داده Adding Some Data

  • بازیابی از ابتدا Restoring from Scratch

  • بالاترین تمرین شناسه کاربر Highest User ID's Exercise

  • راه حل برای شناسه های کاربری Solution for User ID's

  • پست های یک کاربر خاص Posts by a Particular User

  • حل برای پست توسط کاربر Solving for Posts by User

  • لایک برای هر کاربر Likes Per User

  • راه حلی برای لایک به ازای هر کاربر Solution for Likes Per User

آشنایی با Internals PostgreSQL Understanding the Internals of PostgreSQL

  • فکر کردن به عملکرد Thinking About Performance

  • Postgres داده ها را کجا ذخیره می کند؟ Where Does Postgres Store Data?

  • Heaps، Blocks، و Tuples Heaps, Blocks, and Tuples

  • بررسی اصطلاحات Terminology Check

  • طرح بندی داده ها را مسدود کنید Block Data Layout

  • طرح بندی فایل Heap Heap File Layout

نگاهی به شاخص ها برای عملکرد A Look at Indexes for Performance

  • اسکن کامل جدول Full Table Scans

  • شاخص چیست What's an Index

  • ایندکس چگونه کار می کند How an Index Works

  • ایجاد شاخص Creating an Index

  • پرس و جوهای محک زدن Benchmarking Queries

  • نکات منفی شاخص ها Downsides of Indexes

  • انواع شاخص Index Types

  • شاخص های تولید شده به صورت خودکار Automatically Generated Indexes

  • استفاده از نمایه های ایجاد شده به صورت خودکار Using Automatically Created Indexes

  • پشت صحنه شاخص ها Behind the Scenes of Indexes

تنظیم پرس و جو اولیه Basic Query Tuning

  • خط لوله پردازش پرس و جو The Query Processing Pipeline

  • توضیح و توضیح تجزیه و تحلیل Explain and Explain Analyze

  • توضیح در مقابل توضیح تجزیه و تحلیل Explain Vs Explain Analyze

  • حل یک راز توضیح دهید Solving an Explain Mystery

تنظیم جستجوی پیشرفته Advanced Query Tuning

  • توسعه یک درک بصری از هزینه Developing an Intuitive Understanding of Cost

  • محاسبه هزینه به صورت دستی Calculating Cost by Hand

  • لمس بیشتر در مورد هزینه ها A Touch More on Costs

  • محاسبه هزینه ها Calculating Costs

  • استارتاپ در مقابل کل هزینه ها Startup vs Total Costs

  • هزینه ها افزایش می یابد Costs Flow Up

  • از فهرست من استفاده کنید! Use My Index!

عبارات جدول رایج ساده Simple Common Table Expressions

  • عبارات جدول رایج Common Table Expressions

  • یک راه حل سریع A Quick Solution

  • بنابراین CTE چیست؟ So What's a CTE?

عبارات جدول مشترک بازگشتی Recursive Common Table Expressions

  • CTEهای بازگشتی Recursive CTE's

  • گام به گام CTE بازگشتی Recursive CTE's Step by Step

  • چرا از CTE های بازگشتی استفاده کنیم؟ Why Use Recursive CTE's?

  • نوشتن پرس و جو Writing the Query

  • راه رفتن از طریق بازگشت Walking Through Recursion

ساده سازی کوئری ها با Views Simplifying Queries with Views

  • محبوب ترین کاربران Most Popular Users

  • راه حلی ممکن برای ادغام جداول A Possible Solution for Merging Tables

  • ایجاد نما Creating a View

  • چه زمانی از یک View استفاده کنیم؟ When to Use a View?

  • حذف و تغییر نماها Deleting and Changing Views

بهینه سازی پرس و جوها با نماهای مادی Optimizing Queries with Materialized Views

  • نماهای مادی شده Materialized Views

  • گروه بندی بر اساس هفته Grouping by Week

  • یادآوری در مورد پیوستن به چپ Reminder on Left Joins

  • نوشتن یک پرسش آهسته Writing a Slow Query

  • ایجاد و به روز رسانی نماهای مادی Creating and Refreshing Materialized Views

  • نماها در مقابل نماهای مادی شده Views vs Materialized Views

مدیریت همزمانی و برگشت پذیری با تراکنش ها Handling Concurrency and Reversibility with Transactions

  • معاملات برای چه مواردی استفاده می شود؟ What are Transactions Used For?

  • برخی از داده های نمونه Some Sample Data

  • باز و بسته شدن معاملات Opening and Closing Transactions

  • پاکسازی تراکنش در هنگام خرابی Transaction Cleanup on Crash

  • بستن تراکنش های لغو شده Closing Aborted Transactions

مدیریت طراحی پایگاه داده با Schema Migrations Managing Database Design with Schema Migrations

  • داستانی در مورد مهاجرت A Story on Migrations

  • فایل های مهاجرت Migration Files

  • مشکلات حل شده توسط مهاجرت Issues Solved by Migrations

  • چند نکته در مورد کتابخانه های مهاجرت A Few Notes on Migrations Libraries

  • نکته ای در مورد نصب گره A Note About Node Installation

  • ایجاد پروژه Project Creation

  • ایجاد و نوشتن مهاجرت Generating and Writing Migrations

  • اعمال و برگرداندن مهاجرت ها Applying and Reverting Migrations

  • ایجاد و اعمال مهاجرت دوم Generating and Applying a Second Migration

طرحواره در مقابل مهاجرت داده ها Schema vs Data Migrations

  • طرحواره در مقابل مهاجرت داده ها Schema vs Data Migrations

  • خطرات پیرامون مهاجرت داده ها Dangers Around Data Migrations

  • اجرای صحیح داده ها و مهاجرت های طرحواره Properly Running Data and Schema Migrations

  • ایجاد جدول پست ها Creating a Posts Table

  • یک وب سرور کوچک A Small Web Server

  • دستورالعمل راه اندازی وب سرور Web Server Setup Instructions

  • اضافه کردن ستون Loc Adding the Loc Column

  • نوشتن مقادیر برای هر دو ستون Writing Values to Both Columns

  • قفل معاملات Transaction Locks

  • به روز رسانی ارزش ها Updating Values

  • دستورالعمل های تنظیم مهاجرت Migrations Setup Instructions

  • به روز رسانی سرور برنامه Updating the App Server

  • رها کردن آخرین ستون ها Dropping the Last Columns

دسترسی به PostgreSQL از API Accessing PostgreSQL From API's

  • هدف بخش Section Goal

  • راه اندازی اولیه Initial Setup

  • یک مهاجرت سریع One Fast Migration

  • ساخت روتر کاربران Building the Users Router

  • آشنایی با استخرهای اتصال Understanding Connection Pools

  • اعتبارسنجی اعتبارات اتصال Validating Connection Credentials

  • پرس و جو و بستن Query and Close

الگوی دسترسی به داده ها - مخازن Data Access Pattern - Repositories

  • الگوی مخزن The Repository Pattern

  • ایجاد یک مخزن Creating a Repository

  • دسترسی به API Accessing the API

  • مسائل موردی Casing Issues

  • رفع پوشش Fixing Casing

  • یافتن کاربران خاص Finding Particular Users

امنیت در اطراف PostgreSQL Security Around PostgreSQL

  • SQL Injection Exploits SQL Injection Exploits

  • مدیریت تزریق SQL با بیانیه های آماده Handling SQL Injection with Prepared Statements

  • جلوگیری از تزریق SQL Preventing SQL Injection

  • یادآوری در درخواست های ارسال Reminder on Post Requests

  • درج کاربران Inserting Users

  • مدیریت به روز رسانی ها Handling Updates

  • و در نهایت، حذف And, Finally, Delete

تست موازی سریع Fast Parallel Testing

  • نکته ای در مورد آزمایش A Note on Testing

  • اظهارات در مورد تعداد کاربران Assertions Around User Count

  • اتصال به DB برای آزمایش Connecting to a DB For Tests

  • قطع ارتباط بعد از آزمایش Disconnecting After Tests

  • راه اندازی چند دی بی Multi-DB Setup

  • فرضیات پیرامون محتوا Assumptions Around Content

  • مسائل مربوط به آزمون های موازی Issues with Parallel Tests

  • جداسازی با طرحواره ها Isolation with Schemas

  • ایجاد و دسترسی به طرحواره ها Creating and Accessing Schemas

  • کنترل دسترسی به طرحواره با مسیرهای جستجو Controlling Schema Access with Search Paths

  • دسترسی به طرحواره مسیریابی Routing Schema Access

  • استراتژی برای انزوا Strategy for Isolation

  • ایجاد طرحواره برنامه ای Programmatic Schema Creation

  • فرار از شناسه ها Escaping Identifiers

  • یاوران تست Test Helpers

  • پاکسازی طرحواره ها و نقش ها Cleaning up Schemas and Roles

  • بالاخره ... تست های موازی! (سخنرانی پایانی) Finally... Parallel Tests! (Final Lecture)

جایزه! Bonus!

  • جایزه! Bonus!

نمایش نظرات

آموزش SQL و PostgreSQL: راهنمای کامل توسعه دهندگان
جزییات دوره
22 hours
290
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
44,546
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Stephen Grider Stephen Grider

معمار مهندسی