Telegram Web
SQL Aggregate Functions ๐Ÿ’ฏ
โค5
ู…ูู‡ูˆู… ุงู„ู€ Atomicity ๐Ÿ’ฏ
.
.
ุชุฎูŠู„ ุฅู†ูƒ ุดุบุงู„ ุนู„ู‰ ุณูŠุณุชู… ุชุญูˆูŠู„ ูู„ูˆุณ. ุงู„ุนู…ูŠู„ ุญูˆู„ 1000 ุฌู†ูŠู‡ ู…ู† ุญุณุงุจู‡ุŒ ุงู„ุณูŠุณุชู… ุฎุตู… ุงู„ูู„ูˆุณโ€ฆ
ูˆู‚ุจู„ ู…ุง ูŠุถูŠูู‡ู… ููŠ ุญุณุงุจ ุงู„ุดุฎุต ุงู„ุชุงู†ูŠุŒ ุงู„ูƒู‡ุฑุจุงุก ู‚ุทุนุช.
ูƒุฏู‡ ุงู„ูู„ูˆุณ ุทุงุฑุชุŸ ูˆู„ุง ู‡ุชุฑุฌุนุŸ ูˆู„ุง ู‡ุชุชุญูˆู„ุŸ

ุงู„ุณุคุงู„ ุฏู‡ ุจูŠุฌุงูˆุจ ุนู„ูŠู‡ ู…ูู‡ูˆู… ู…ู‡ู… ุฌุฏู‹ุง ููŠ ุงู„ุจุฑู…ุฌุฉ ูˆุงู„ู€ Databasese ูˆู‡ูˆ ุงู„ู€ Atomicity

ูŠุง ุฅู…ุง ูƒู„ ุงู„ุฎุทูˆุงุช ุชุชู… ุจุงู„ูƒุงู…ู„...ูŠุง ู…ููŠุด ูˆู„ุง ุฎุทูˆุฉ ุชุชู….

โ€”โ€”โ€”

๐Ÿค” ูŠุนู†ูŠ ุฅูŠู‡ AtomicityุŸ

ุชุฎูŠู„ ุฅู†ูƒ ุจุชุณุญุจ ูู„ูˆุณ ู…ู† ุงู„ู€ ATM.

ุงู„ุนู…ู„ูŠุฉ ุฏูŠ ููŠู‡ุง ุฎุทูˆุชูŠู†:
1- ุงู„ุจู†ูƒ ูŠุฎุตู… ุงู„ู…ุจู„ุบ ู…ู† ุญุณุงุจูƒ.
2- ุงู„ู…ุงูƒูŠู†ุฉ ุชุทู„ุน ู„ูƒ ุงู„ูู„ูˆุณ.

ู„ูˆ ุญุตู„ ุฅู† ุงู„ุณูŠุณุชู… ุนู…ู„ ุงู„ุฎุทูˆุฉ ุงู„ุฃูˆู„ู‰ ุจุณุŒ ูˆูˆู‚ู ูุฌุฃุฉ ู‚ุจู„ ู…ุง ูŠูˆุตู„ูƒ ุงู„ูู„ูˆุณโ€ฆ
ุฃู†ุช ูƒุฏู‡ ุฎุณุฑุช ูู„ูˆุณูƒุŸ

ู‡ู†ุง ุจู‚ู‰ ูŠูŠุฌูŠ ุฏูˆุฑ ุงู„ู€ Atomicity.

ุงู„ู€ Atomicity ู…ุนู†ุงู‡ุง ุฅู† ุงู„ุนู…ู„ูŠุฉ ูƒู„ู‡ุง ุชุชู†ูุฐ ุจุงู„ูƒุงู…ู„ ู…ู† ุฃูˆู„ู‡ุง ู„ุขุฎุฑู‡ุงุŒ ุฃูˆ ู…ุง ุชุชู†ูุฐ ุฎุงู„ุต.
ูŠุนู†ูŠ All or Nothing.

ููŠ ู…ุซุงู„ ุงู„ู€ ATM: ูŠุง ุงู„ุจู†ูƒ ูŠุฎุตู… ูˆุชุงุฎุฏ ุงู„ูู„ูˆุณุŒ ูŠุง ู…ูŠุญุตู„ุด ุฃูŠ ุญุงุฌุฉ ุฃุตู„ู‹ุง.
ู…ููŠุด ู†ุต ุนู…ู„ูŠุฉ.

โ€”โ€”โ€”

๐Ÿ’ก ุฅุฒุงูŠ ุฏู‡ ุจูŠุชู…ุŸ

ุงู„ู€ Atomicity ู‡ูŠ ูˆุงุญุฏุฉ ู…ู† ุงู„ู€ ACID Properties ุงู„ู„ูŠ ุจุชุถู…ู† ุณู„ุงู…ุฉ ุงู„ุจูŠุงู†ุงุช ุฎุตูˆุตู‹ุง ููŠ ุงู„ู€ Databases.
ุนู„ุดุงู† ุชุญู‚ู‚ ุงู„ู€ AtomicityุŒ ุงู„ุณูŠุณุชู… ุจูŠุณุชุฎุฏู… ุญุงุฌุฉ ุงุณู…ู‡ุง Transactions.

ูƒู„ Transaction ุจุชุชูƒูˆู† ู…ู† ู…ุฌู…ูˆุนุฉ ุนู…ู„ูŠุงุช (ุฒูŠ insertุŒ updateุŒ delete)ุŒ
ูˆุงู„ู…ูุฑูˆุถ ุฅู† ูƒู„ ุงู„ุนู…ู„ูŠุงุช ุฏูŠ ูŠุญุตู„ู‡ุง commit ููŠ ู†ูุณ ุงู„ูˆู‚ุชุŒ ุฃูˆ ูŠุญุตู„ู‡ุง rollback ู„ูˆ ุญุตู„ ุฃูŠ ุฎุทุฃ.

ู…ุซุงู„:

BEGIN TRANSACTION;

UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;

COMMIT;


ู„ูˆ ุฃูŠ ูˆุงุญุฏุฉ ู…ู† ุงู„ู€ 2 updates ูุดู„ุชุŒ ุงู„ู€ transaction ูƒู„ู‡ุง ู‡ุชุชููƒุŒ ูˆุงู„ุฏุงุชุง ุชุฑุฌุน ุฒูŠ ู…ุง ูƒุงู†ุช ูƒุฃู† ู…ููŠุด ุญุงุฌุฉ ุญุตู„ุช.

โ€”โ€”โ€”

โš ๏ธ ุฅูŠู‡ ุงู„ู„ูŠ ู…ู…ูƒู† ูŠุจูˆู‘ุธ ุงู„ู€ AtomicityุŸ

- ุงู„ู€ Exceptions ุฃูˆ ุงู„ู€ Errors ููŠ ุฌุฒุก ู…ู† ุงู„ู€ transaction.
- ุฅู†ูƒ ุชู†ูุฐ queries ู…ู† ุบูŠุฑ transaction ุฃุตู„ู‹ุง

ูˆู„ูˆ ุงู„ุณูŠุณุชู… ู…ุด ุจูŠุทุจู‚ ุงู„ู€ Atomicity ุตุญุŒ ุงู„ุฏุงุชุง ู…ู…ูƒู† ุชุจู‚ู‰ corruptedุŒ ูˆุณุงุนุชู‡ุง ุฑุจู†ุง ูŠุณุชุฑ.

โ€”โ€”โ€”

๐Ÿ“Œ ุฅูŠู‡ ุงู„ูุฑู‚ ุจูŠู† ุงู„ู€ Atomicity ูˆุจูŠู† ุงู„ู€ ConsistencyุŸ

ุงู„ู€ Atomicity ุจุชุชูƒู„ู… ุนู† ู‡ู„ ุงู„ุนู…ู„ูŠุฉ ูƒู„ู‡ุง ุชู…ุช ุฃูˆ ู„ุงุŸ
ุงู„ู€ Consistency ุจุชุณุฃู„ ู‡ู„ ุงู„ุฏุงุชุง ุจุนุฏ ุงู„ุนู…ู„ูŠุฉ ููŠ ุญุงู„ุฉ ุตุญูŠุญุฉุŸ

ูŠุนู†ูŠ:

- ุงู„ู€ Atomicity = ุญุตู„ commit ูƒุงู…ู„ ูˆู„ุง ู„ุงุŸ
- ุงู„ู€ Consistency = ู„ูˆ ุญุตู„ุŒ ุงู„ุฏุงุชุง ุจู‚ุช consistent ูˆู„ุง ู„ุงุŸ

ุงู„ุงุชู†ูŠู† ู…ูƒู…ู„ูŠู† ุจุนุถุŒ ุจุณ ู…ุด ู†ูุณ ุงู„ุญุงุฌุฉ.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค10
Top 5 JavaScript Testing Frameworks of 2025 โœ…
โค5
ุฏุฑุฏุดุฉ ุณุฑูŠุนุฉ ุนู† ุงู„ู€ ACID ููŠ ุงู„ู€ Database โšก๏ธ
.
.
ุชุฎูŠู„ ุฅู†ูƒ ุดุบุงู„ ุนู„ู‰ system ุถุฎู… ุฒูŠ ุชุทุจูŠู‚ ุจู†ูƒูŠ ุฃูˆ ู…ูˆู‚ุน ุจูŠุน ุฃูˆู†ู„ุงูŠู†โ€ฆ
ููŠ ุงู„ู„ุญุธุฉ ุงู„ู„ูŠ ุงู„ู…ุณุชุฎุฏู… ุจูŠุญูˆู‘ู„ ููŠู‡ุง ูู„ูˆุณ ุฃูˆ ุจูŠุฃูƒุฏ ุนู…ู„ูŠุฉ ุดุฑุงุกุŒ ู„ุงุฒู… ุชูƒูˆู† ู…ุชุฃูƒุฏ ุฅู† ุงู„ุจูŠุงู†ุงุช ุฏูŠ ู…ุญููˆุธุฉ ุตุญุŒ ูˆู…ููŠุด ุฃูŠ ุงุญุชู…ุงู„ ูŠุญุตู„ ููŠู‡ุง ุฎู„ู„ ุฃูˆ ุชุถุงุฑุจุŒ ุญุชู‰ ู„ูˆ ุงู„ุณูŠุฑูุฑ ูˆู‚ุน ุฃูˆ ุงู„ูƒู‡ุฑุจุงุก ู‚ุทุนุช! โš ๏ธ

ูˆู‡ู†ุง ูŠูŠุฌูŠ ุฏูˆุฑ ุงู„ู€ ACID ูˆู‡ูˆ ุฏู‡ ุงู„ุนู…ูˆุฏ ุงู„ูู‚ุฑูŠ ุงู„ู„ูŠ ุจูŠุฎู„ูŠ ุงู„ู€ Database ุชูƒูˆู† ุซุงุจุชุฉุŒ ู…ูˆุซูˆู‚ุฉุŒ ูˆู…ุชูˆู‚ุนุฉ ุงู„ุณู„ูˆูƒ ููŠ ูƒู„ ุงู„ุญุงู„ุงุชุŒ ุณูˆุงุก ูƒุงู† ุนู†ุฏูƒ ุนู…ู„ูŠุฉ ูˆุงุญุฏุฉ ุจุณูŠุทุฉ ุฃูˆ ุขู„ุงู ุงู„ู€ transactions ููŠ ู†ูุณ ุงู„ุซุงู†ูŠุฉ.

ุงู„ู€ ACID ุจูŠุญุท ุฃุฑุจุน ู‚ูˆุงุนุฏ ุฃุณุงุณูŠุฉ ุจุชุฎู„ูŠ ุฃูŠ Database system ูŠุนุฑู ูŠุชุตุฑู ูˆู‚ุช ุงู„ู…ุดุงูƒู„ ูˆูŠุญุงูุธ ุนู„ู‰ ุงู„ุจูŠุงู†ุงุช ู…ู† ุบูŠุฑ ู…ุง ูŠุญุตู„ chaos ุฃูˆ data corruption.

โ€”โ€”โ€”

๐Ÿ“Œ ุฃูˆู„ู‹ุง: Atomicity


ูŠุนู†ูŠ ู„ูˆ ุนู†ุฏูƒ transaction ุจุชู†ู‚ู„ ูู„ูˆุณ ู…ู† ุญุณุงุจ ู„ุญุณุงุจ:
- ุชุณุญุจ 1000 ุฌู†ูŠู‡ ู…ู† ุญุณุงุจ A
- ูˆุชุถูŠู 1000 ู„ุญุณุงุจ B

ู„ูˆ ุฃูˆู„ ุฎุทูˆุฉ ู†ุฌุญุช ูˆุงู„ุชุงู†ูŠุฉ ูุดู„ุช ู„ุฃูŠ ุณุจุจ (ู…ุซู„ู‹ุง ุงู„ุณูŠุฑูุฑ ูˆู‚ุน)ุŒ ุงู„ู…ูุฑูˆุถ ุงู„ู€ Database ุชุฑุฌุน ูƒู„ ุญุงุฌุฉ ุฒูŠ ุงู„ุฃูˆู„ุŒ ูƒุฃู† ุงู„ุนู…ู„ูŠุฉ ู…ุญุตู„ุชุด.

โ€”โ€”โ€”

๐Ÿ“Œ ุซุงู†ูŠู‹ุง: Consistency


ุงู„ู€ Consistency ู…ุนู†ุงู‡ุง ุฅู† ุงู„ู€ Database ุชูุถู„ ุฏุงูŠู…ู‹ุง ููŠ state ุตุญูŠุญุฉ ูˆู…ุธุจูˆุทุฉ.
ูŠุนู†ูŠ ูƒู„ ุงู„ู‚ูˆุงุนุฏ (constraints, rules, triggers) ุงู„ู„ูŠ ุฃู†ุช ู…ุญุฏุฏู‡ุง ู„ุงุฒู… ุชูุถู„ ู…ุชุทุจู‚ุฉ ุจุนุฏ ุฃูŠ ุนู…ู„ูŠุฉ.

ู…ุซู„ู‹ุง: ู„ูˆ ุนู†ุฏูƒ rule ุจูŠู‚ูˆู„ ุฅู† ุงู„ุฑุตูŠุฏ ู…ูŠู†ูุนุด ูŠูƒูˆู† ุจุงู„ุณุงู„ุจุŒ ูู€ ุจุนุฏ ุฃูŠ transaction ู„ุงุฒู… ุงู„ู€ DB ุชูุถู„ ู…ุญุงูุธุฉ ุนู„ู‰ ุงู„ู‚ุงุนุฏุฉ ุฏูŠ.
ู„ูˆ ุญุตู„ violation ู„ู„ู‚ูˆุงุนุฏ ุฏูŠุŒ ุงู„ุนู…ู„ูŠุฉ ูƒู„ู‡ุง ุชุชู„ุบูŠ.

โ€”โ€”โ€”

ุซุงู„ุซู‹ุง: Isolation


ุชุฎูŠู„ ู…ุนุงูŠุง ูƒุฐุง transaction ุดุบุงู„ูŠู† ููŠ ู†ูุณ ุงู„ูˆู‚ุช...
ูˆุงุญุฏ ุจูŠุถูŠู ุจูŠุงู†ุงุชุŒ ูˆุงู„ุชุงู†ูŠ ุจูŠุนุฏู‘ู„ุŒ ูˆุงู„ุชุงู„ุช ุจูŠู‚ุฑุฃ.
ู„ูˆ ู…ููŠุด IsolationุŒ ุงู„ุฏู†ูŠุง ู‡ุชุจู‚ู‰ ููˆุถู‰ุŒ ูˆูƒู„ transaction ู‡ูŠุดูˆู ุงู„ู€ data ูˆู‡ูŠ ู„ุณู‡ ุจุชุชุบูŠุฑ!

ู„ูƒู† ู…ุน ูˆุฌูˆุฏ ุงู„ู€ IsolationุŒ ูƒู„ transaction ุจุชุชุนุงู…ู„ ูƒุฃู†ู‡ุง ุงู„ุนู…ู„ูŠุฉ ุงู„ูˆุญูŠุฏุฉ ุงู„ู„ูŠ ุจุชุชู†ูุฐ.
ูŠุนู†ูŠ ุญุชู‰ ู„ูˆ ูƒุฐุง transaction ุดุบุงู„ูŠู† ููŠ ู†ูุณ ุงู„ู„ุญุธุฉุŒ ุงู„ู†ุชุงุฆุฌ ุงู„ู„ูŠ ุจูŠุดูˆููˆู‡ุง ู…ุถู…ูˆู†ุฉ ูˆู…ููŠู‡ุงุด ุชุฏุงุฎู„ ุฃูˆ corruption.

ูˆุทุจุนู‹ุง ููŠู‡ ู…ุณุชูˆูŠุงุช ู…ุฎุชู„ูุฉ ู„ู„ู€ Isolation (ุฒูŠ Read Uncommitted, Read Committed, Repeatable Read, Serializable)ุŒ ูˆูƒู„ ูˆุงุญุฏุฉ ู„ู‡ุง trade-offs ุจูŠู† ุงู„ุฃุฏุงุก ูˆุงู„ุฏู‚ุฉ.

โ€”โ€”โ€”

ุฑุงุจุนู‹ุง: Durability


ุงู„ู€ Durability ู…ุนู†ุงู‡ุง ุฅู† ุจู…ุฌุฑุฏ ู…ุง ุงู„ู€ Database ุชู‚ูˆู„ูƒ "ุชู…ุช ุงู„ุนู…ู„ูŠุฉ ุจู†ุฌุงุญ"ุŒ ูŠุจู‚ู‰ ุฎู„ุงุต ุงู„ู€ data ุฏูŠ ู…ุญููˆุธุฉ ูˆู…ุด ู‡ุชุถูŠุน ุญุชู‰ ู„ูˆ ุงู„ุณูŠุฑูุฑ ูˆู‚ุน ุฃูˆ ุงู„ูƒู‡ุฑุจุงุก ู‚ุทุนุช.

ุฅุฒุงูŠุŸ
ู„ุฃู† ุงู„ู€ DB ุจุชูƒุชุจ ุงู„ุชุบูŠูŠุฑุงุช ุนู„ู‰ ุงู„ู€ disk (ุฃูˆ ุงู„ู€ log files) ู‚ุจู„ ู…ุง ุชู‚ูˆู„ูƒ ุงู„ุนู…ู„ูŠุฉ ู†ุฌุญุชุŒ ุนู„ุดุงู† ุชู‚ุฏุฑ ุชุณุชุฑุฌุนู‡ุง ู„ูˆ ุญุตู„ ุฃูŠ failure.

โ€”โ€”โ€”

ุงู„ู€ ACID ู‡ูˆ ุงู„ู„ูŠ ุจูŠุฎู„ูŠ ุงู„ุฃู†ุธู…ุฉ ุงู„ุจู†ูƒูŠุฉุŒ ุงู„ู€ e-commerce systemsุŒ ูˆุงู„ู€ booking platforms ุชุดุชุบู„ ุจุซู‚ุฉ ุจุฏูˆู† ู…ุง ูŠุญุตู„ ููŠู‡ุง chaos.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค9
Slow server components?

Donโ€™t let users stare at a blank screen. React Suspense lets you load content progressively with smart fallbacks for a faster-feeling UI.
โค2
2025/10/25 07:21:29
Back to Top
HTML Embed Code: