๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กfull stack/database (20)

JiYoung Dev ๐Ÿ–ฅ

[database ๊ณ ๊ธ‰] db ์„ค๊ณ„ (2023.08.10)

ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ ค๋ฉด autoincrement ์‚ฌ์šฉํ•˜๋˜ ํšŒ์›id ๊ฐ™์€ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ์ด ์žˆ๋‹ค๋ฉด ์ด๋ฅผ pk๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•จ db ์„ค๊ณ„์‹œ ๊ณ ๋ คํ•  ์  1. ๊ฐ๊ฐ ํ…Œ์ด๋ธ”์— pk๋Š” ์ž˜ ์„ค์ •์ด ๋˜์–ด ์žˆ๋Š”๊ฐ€? 2. ์™ธ๋ž˜ํ‚ค ์„ค์ •์ด ์ž˜ ๋˜์—ˆ๋Š”๊ฐ€? ๊ผญ ์™ธ๋ž˜ํ‚ค๋Š” ์„ค์ • ์•ˆํ•ด๋„ ๋จ → ํšŒ์› ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋  ๋•Œ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ ์ง€์šฐ๊ณ  ์‹ถ์„ ๋•Œ, ํšŒ์›์ด ์žˆ์–ด์•ผ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ → ์—ฐ๊ด€๊ด€๊ณ„๋Š” ์„ค์ •ํ•˜๋˜ ์™ธ๋ž˜ํ‚ค ์„ค์ •์€ ์•ˆํ•ด๋„ ๋จ 3. ๊ฐ๊ฐ์˜ ์†์„ฑ์ด ๊ผญ ํ•„์š”ํ•œ ์†์„ฑ์ธ๊ฐ€? 4. ์ฃผ์—”ํ„ฐํ‹ฐ ๋จผ์ € ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„ ํ›„ ๋ฉ”์ธ ์—”ํ„ฐํ‹ฐ , ํ–‰์œ„ ์—”ํ„ฐํ‹ฐ ์ˆœ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋ฉด ํŽธํ•˜๋‹ค.

full stack/database 2023. 8. 10. 16:38
[database ๊ณ ๊ธ‰] ์ง‘ํ•ฉ์—ฐ์‚ฐ์ž (2023.08.08)

UNION : ์ค‘๋ณต ์ œ๊ฑฐ UNION ALL : ์ค‘๋ณต ํฌํ•จ ํŠน์ง•1. ์ปฌ๋Ÿผ์€ ์ฒซ๋ฒˆ์งธ ์ปฌ๋Ÿผ์„ ๋”ฐ๋ผ๊ฐ„๋‹ค. SELECT ์˜ˆ๋งค๋ฒˆํ˜ธ, ๋ฎค์ง€์ปฌ์ด๋ฆ„, ๋ฎค์ง€์ปฌ๊ฐ€๊ฒฉ FROM ๋ฎค์ง€์ปฌ์˜ˆ๋งค๋‚ด์—ญ UNION ALL SELECT ์˜ˆ๋งค๋ฒˆํ˜ธ, ์ฝ˜์„œํŠธ์ด๋ฆ„, ์ฝ˜์„œํŠธ๊ฐ€๊ฒฉ FROM ์ฝ˜์„œํŠธ์˜ˆ๋งค๋‚ด์—ญ UNION ALL SELECT ์˜ˆ๋งค๋ฒˆํ˜ธ, ๊ทน์ด๋ฆ„, ๊ทน๊ฐ€๊ฒฉ FROM ๊ทน์žฅ์˜ˆ๋งค๋‚ด์—ญ ; ํŠน์ง• 2. ์ปฌ๋Ÿผ์˜ ๊ฐœ์ˆ˜์™€ ์ž๋ฃŒํ˜•์ด ์ผ์น˜ํ•ด์•ผ ํ•จ! ์ง์ ‘ ๋ฌธ์žํ˜•์ด๋‚˜ NULL๊ฐ’์„ ์ง€์ •ํ•˜์—ฌ ํ•ด๋‹น ์ปฌ๋Ÿผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. oracle ๋ฒ„์ „์— ๋”ฐ๋ฅธ ์ฐจ์ด ์ค‘๋ณต์ œ๊ฑฐ + ์ •๋ ฌ = union ์ค‘๋ณต x + ์ •๋ ฌ x = union all (๊ณต๊ณต๊ธฐ๊ด€ ๋“ฑ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ๋ฒ„์ „) union = ์ค‘๋ณต union all = ์ค‘๋ณตx ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์ด๋‚˜ ์ž˜๋ชป ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ๋‹ค๊ฐ€ ๊ธฐ์กด๊ฒŒ ์ž‘๋™์•ˆํ•  ์ˆ˜ ์žˆ์Œ

full stack/database 2023. 8. 8. 17:43