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

๋ชฉ๋ก์ „์ฒด ๊ธ€ (221)

JiYoung Dev ๐Ÿ–ฅ

[Oracle Database] ROWNUM, TOP-N, ํŽ˜์ด์ง• ๊ธฐ์ˆ , ์„œ๋ธŒ์ฟผ๋ฆฌ (2023.03.28~29)

๐Ÿ”Ž ROWNUM ํ…Œ์ด๋ธ”์˜ ํŠœํ”Œ(ํ–‰)์— ์ž„์‹œ๋กœ ๋ถ€์—ฌ๋˜๋Š” ์ผ๋ จ๋ฒˆํ˜ธ ์‹ค์ œ ํ…Œ์ด๋ธ”์—๋Š” ์—†์ง€๋งŒ ํŠน์ • ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ปฌ๋Ÿผ์„ ๊ฐ€์งœ์ปฌ๋Ÿผ(์˜์‚ฌ์ปฌ๋Ÿผ)์ด๋ผ๊ณ  ํ•จ ์˜ˆ: ROWNUM, ROWID ROWNUM์€ ๋ณดํ†ต WHERE์ ˆ์— ์‚ฌ์šฉ WHERE์ ˆ์— ์‚ฌ์šฉํ•˜๋ฉด ์ถœ๋ ฅ๋˜๋Š” ํŠœํ”Œ(ํ–‰)์˜ ๊ฐœ์ˆ˜๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Œ ์‚ฌ์šฉ์‹œ ์ฃผ์˜์‚ฌํ•ญ ROWNUM์€ 1์˜ ๊ฐ’์„ ๋จผ์ € ์‚ฌ์šฉํ•ด์•ผ 2์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ ROWNUM = 2์ธ ๋Œ€์ƒ์„ ๋ฝ‘์œผ๋ ค๋ฉด? ์ธ๋ผ์ธ๋ทฐ ์‚ฌ์šฉ ์ธ๋ผ์ธ๋ทฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ROWNUM๋„ ์ง์› ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ€๊ณตํ•ด ์‚ฌ์šฉํ•˜๋Š” ์›๋ฆฌ ๐Ÿ”Ž TOP-N ์ƒ์œ„์—์„œ N๊ฐœ ๋ฝ‘๊ธฐ ROWNUM ๊ฐœ๋…๊ณผ ์ธ๋ผ์ธ๋ทฐ ๊ฐœ๋…์„ ์กฐํ•ฉํ•˜์—ฌ ์ƒ์œ„ N๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋งŒ ๋ฝ‘๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ โ–ผ ์ง์›๋“ค์˜ ์—ฐ๋ด‰์ด ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌ ํ›„ ์ƒ์œ„ 5๋ช…๋งŒ ์ถœ๋ ฅ โ–ผ 1. ์ง..

full stack/database 2023. 3. 28. 14:08
[JAVA] While๋ฌธ ๋ฌธ์ œํ’€์ด, for ๋ฐ˜๋ณต๋ฌธ (2023.03.27)

Random ๊ธฐ๋Šฅ ์‚ฌ์šฉํ•˜๊ธฐ Random rd = new Random () ; -- import ํ•„์š” rd.nextInt() ; Int ๋ฒ”์œ„์— ์žˆ๋Š” ๋ชจ๋“  ์ •์ˆ˜ rd.nextInt(10) ; 0~9 ๋ฒ”์œ„์— ์žˆ๋Š” ๋ชจ๋“  ์ •์ˆ˜ rd.nextInt(100) ; 0~99 ๋ฒ”์œ„์— ์žˆ๋Š” ๋ชจ๋“  ์ •์ˆ˜ 1๋ถ€ํ„ฐ ๋žœ๋คํ•œ ์ˆซ์ž๋ฅผ ๋ฝ‘์œผ๋ ค๋ฉด +1์„ ํ•ด์ฃผ๋ฉด ๋จ ๋ฌธ์ œํ’€์ด ๊ฐ„๋‹จ ๋ณต์Šต ์ œ์–ด๋ฌธ >> ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ปดํŒŒ์ผ์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์กฐ๊ฑด๋ฌธ : ํŒ๋‹จ if, if - else, if - else if๋ฌธ, switch๋ฌธ ๋ฐ˜๋ณต๋ฌธ : ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ๋ฅผ ์ตœ์†Œ๋กœ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๋ชฉํ‘œ๋ฅผ ๋‘๊ณ  ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค while, do-while, for โ‘  while while(์กฐ๊ฑด์‹){ ์‹คํ–‰์ฝ”๋“œ } → ๋ฉˆ์ถ”๊ณ  ์‹ถ์„ ๋•Œ : br..

full stack/JAVA 2023. 3. 27. 17:34
[Oracle Database] TCL, DCL (2023.03.27)

๐Ÿ”Ž TCL (Transaction Control Language) ํŠธ๋žœ์žญ์…˜์„ ์ œ์–ดํ•œ๋‹ค ํŠธ๋žœ์žญ์…˜ : ์–ด๋–ค ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ๋‹จ๊ณ„ ํŠธ๋žœ์žญ์…˜ ํŠน์ง• 1. ์›์ž์„ฑ(atomicity) : ํŠธ๋žœ์žญ์…˜์ด ๋ชจ๋‘ ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ํ•˜๋‚˜๋ผ๋„ ์‹คํŒจ์‹œ ๋ชจ๋‘ ์›์ƒ๋ณต๊ตฌ ๋˜์–ด์•ผ ํ•จ (all or nothing) 2. ์ผ๊ด€์„ฑ(consistency) : ํ•ญ์ƒ ์ผ๊ด€์ ์ธ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•จ. ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰ ์ „์ด ์ •์ƒ์ด๋ผ๋ฉด ์‹คํ–‰ ํ›„์—๋„ ์ •์ƒ์ด์–ด์•ผ ํ•จ 3. ๊ณ ๋ฆฝ์„ฑ(isolation) : ํŠธ๋žœ์žญ์…˜์€ ์„œ๋กœ ๊ฐ„์„ญํ•˜๋ฉด ์•ˆ๋จ 4. ์˜์†์„ฑ/์ง€์†์„ฑ (durability) : ์˜๊ตฌ ์ €์žฅ์„ ํ–ˆ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•จ. commit์„ ํ–ˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ ์˜๊ตฌ ์ €์žฅ ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ ๐Ÿ“– ์ข…๋ฅ˜ COMMIT ROLLBACK SAVEPOINT ๐Ÿ“– COMMIT ํŠธ๋žœ..

full stack/database 2023. 3. 27. 14:01
[Oracle Database] DDL - DROP, ์‹œํ€€์Šค์™€ ๋ทฐ (2023.03.27)

์ฝ”๋ฉ˜ํŠธ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ• COMMENT ON TABLE ํ…Œ์ด๋ธ”๋ช… IS 'ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์„ค๋ช…' ; COMMENT ON COLUMN ํ…Œ์ด๋ธ”๋ช….์ปฌ๋Ÿผ๋ช… IS '์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ์„ค๋ช…' ; ๐Ÿ”Ž ํ…Œ์ด๋ธ”/์ œ์•ฝ์กฐ๊ฑด ์‚ญ์ œํ•˜๊ธฐ (DROP) ๐Ÿ“– DROP DROP TABLE ํ…Œ์ด๋ธ”์„ ์˜๊ตฌ์‚ญ์ œ ํšŒ์›์ •๋ณด ํ…Œ์ด๋ธ”์—์„œ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ํ‚ค๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ์‚ญ์ œ ๋ถˆ๊ฐ€๋Šฅ CASCADE CONSTRAINT๋ฅผ ์ด์šฉํ•˜์—ฌ ์ œ์•ฝ์กฐ๊ฑด(FK)์„ ํ•จ๊ป˜ ์‚ญ์ œํ•˜๋ฉด ์‚ญ์ œ ๊ฐ€๋Šฅ (CASCADE : ์—ฐ์†์ ์œผ๋กœ) DROP TABLE ํ…Œ์ด๋ธ”๋ช… CASCADE CONSTRAINT ; ์ œ์•ฝ์กฐ๊ฑด๋งŒ ์‚ญ์ œ ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ; ๐Ÿ“– TRUNCATE ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œ TRUNCATE TABLE ํ…Œ์ด๋ธ”๋ช… ; ๐Ÿ“– DELETE/DROP/..

full stack/database 2023. 3. 27. 11:40