Banner

My Tech Blog (๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ)

์•„ ๋จธ๋ฆฌ ์“ฐ๊ธฐ ์‹ซ๋‹ค..๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์ •๋ฆฌ ํ‚ค์›Œ๋“œ๋ณ„๋กœ ๊ตฌ๊ธ€๊ฒ€์ƒ‰ + GPT + ์ฑ… ๋ณด๊ณ  ์ •๋ฆฌ์ค‘JOIN๊นŒ์ง€๋งŒ ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌํ•˜๊ณ  ๊ทธ ๋‹ค์Œ๊บผ๋Š” ๊ทธ๋ƒฅ ํ˜ผ์ž์„œ ๋ณด๊ณ  ์•Œ๊ธฐ๋งŒ ํ•ด์•ผ ๊ฒ ๋‹ค...์ •๋ฆฌํ•˜๋‹ค๊ฐ€ ์ปจ๋””์…˜ ๊ด€๋ฆฌ ์•ˆ ๋  ๋“ฏ ใ…‹ใ…‹ใ…‹....์–ด์ฐจํ”ผ ๋ณต์Šตํ•˜๋Š”๊ฑฐ๋ผ ๊ฐœ๋…์€ ๋‹ค ์•Œ๊ณ  ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„๋งŒ ์ •๋ฆฌํ•œ๊ฑฐ ํ‹ฐ์Šคํ† ๋ฆฌ ํ‘œ ๊ธฐ๋Šฅ ๊ตฌ๋ ค๋„ ๋„ˆ๋ฌด ๊ตฌ๋ฆฌ๋‹คํ‘œ๋ฅผ ๋งŒ๋“ค๋ฉด ์ œ๋ฉ‹๋Œ€๋กœ ์ƒ‰์ƒ์ด ์น ํ•ด์ง€๊ณ  ํ…Œ๋‘๋ฆฌ๊ฐ€ ์•ˆ๋ณด์ž„ ์ธ๋‚ด์‹ฌ ํ…Œ์ŠคํŠธ..ํฌํ† ์ƒต๋งŒ ๊น”๋ ค์žˆ์œผ๋ฉด ๋งŒ๋“œ๋Š”๋ฐใ… ใ… ํ›„..... ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” Google Spread Sheet๋กœ ๋งŒ๋“ค์–ด์•ผ๊ฒ ์›€  ์ฐธ๊ณ ๋กœ 2024.11.17 ๊ธฐ์ค€ ๋‚ด์šฉ๋ฌผ ์ค‘ ํ‘œ์— ์„  ์•ˆ๋ณด์ด๊ณ  ๋ฐฐ๊ฒฝ์ƒ‰ ๋งˆ์Œ๋Œ€๋กœ ์น ํ•ด์ง„ ๊ฑด ๋‚ด๊ฐ€ ๊ณ ์น  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์•„๋‹˜ํ…์ŠคํŠธ์—๋””ํ„ฐ์—์„œ๋Š” ๋ฌธ์ œ ์—†์–ด ๋ณด์—ฌ๋„ ๋ฐœํ–‰ํ•˜๋ฉด ๋‹ค ๊นจ์ ธ์žˆ์Œ, ๋ช‡๋ฒˆ์„ ์ˆ˜์ •ํ•ด๋„ ๋‹ต์ด ์—†๋Š”๋ฐ ๋‚ด์ผ ์˜ค์ „์— ๋‹น์žฅ..
์ค‘์š”ํ•œ๊ฑฐ ์ •๋ฆฌํ•œ๊ฑฐ ์•„๋‹ˆ๊ณ  ๋‚ด๊ฐ€ ๋ณผ๋ ค๊ณ  ํ—ท๊ฐˆ๋ฆฌ๋Š”๊ฑฐ ์ •๋ฆฌํ•จ ๊ธฐ๋ณธ์ ์œผ๋กœ ORACLE ๊ธฐ์ค€์œผ๋กœ ์ •๋ฆฌMySQL์ด๋ž‘ MSSQL์€ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋”ฐ๋กœ ์ •๋ฆฌ ํ•ด ๋†“์Œ1. NVL(์ธ์ˆ˜1, ์ธ์ˆ˜2)`์ธ์ˆ˜1`์˜ ๊ฐ’์ด `NULL`์ผ ๊ฒฝ์šฐ `์ธ์ˆ˜2` ๋ฐ˜ํ™˜, `NULL` ์•„๋‹ ๊ฒฝ์šฐ `์ธ์ˆ˜ 1` ๋ฐ˜ํ™˜ ํ•œ ๋งˆ๋””๋กœ ์—ฐ์‚ฐํ•ด์•ผ ํ•˜๋Š”๋ฐ NULL ๊ฐ’์ด ์žˆ์œผ๋ฉด 0์œผ๋กœ ์น˜ํ™˜ํ•ด์ค˜์•ผ ๋˜๋‹ˆ๊นŒ 0์œผ๋กœ ๋ฐ”๊พธ๋Š” ํ•จ์ˆ˜๋ผ๊ณ  ์™ธ์šฐ๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ์˜ํ™” ๋ฆฌ๋ทฐํ•˜๋Š”๋ฐ ํ‰์  ์‚ฌ์ด์— NULL์ด ๊ปด ์žˆ์–ด์„œ ํ‰๊ท ์„ ๋ชป ๋‚ด์ค„ ๋•Œ ๊ทธ๋ƒฅ ๋‹ค 0์œผ๋กœ ์น˜ํ™˜ํ•  ๋•Œ ์“ฐ๋Š”๊ฑฐ๋ผ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค. NVL(expression, replacement_value)expression: ํ™•์ธํ•  ๊ฐ’.replacement_value: expression์ด NULL์ผ ๋•Œ ๋Œ€์‹  ์‚ฌ์šฉํ•  ๊ฐ’. ORACLE `N..
์ค‘์š”ํ•œ ๋‚ด์šฉ์ด ์•„๋‹Œ ๋‚ด๊ฐ€ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฒƒ๋งŒ ์ •๋ฆฌํ•œ ๊ฒƒ1. SUBSTR๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ž‘ ๋‹ฌ๋ฆฌ Oracle๊ณผ SQL์—์„œ SUBSTR ํ•จ์ˆ˜์˜ ์ธ๋ฑ์Šค๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘. ์ฆ‰, ๋ฌธ์ž์—ด์—์„œ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋Š” ์ธ๋ฑ์Šค 1์ž„.SUBSTR(string, start_position, [length])start_position: ์ถ”์ถœ์„ ์‹œ์ž‘ํ•  ์œ„์น˜ (1๋ถ€ํ„ฐ ์‹œ์ž‘) length: (์„ ํƒ์ ) ์ถ”์ถœํ•  ๊ธธ์ดSELECT SUBSTR('Hello World', 1, 5) AS Substring FROM dual; ์œ„ ์ฟผ๋ฆฌ์—์„œ SUBSTR('Hello World', 1, 5)๋Š” ๋ฌธ์ž์—ด 'Hello World'์—์„œ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ 5๊ฐœ์˜ ๋ฌธ์ž๋ฅผ 'Hello' ์ถ”์ถœ SELECT SUBSTR('๋ธ”๋ž™ํ•‘ํฌ์ œ๋‹ˆ', 3, 2) FROM DUA..
๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฑฐ ์ •๋ฆฌํ•œ ๊ฒƒ 1. ์ •๊ทœํ™”๋ฐ์ดํ„ฐ์˜ ์ •ํ•ฉ์„ฑ(๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๋ณด์žฅ)ํ•˜๊ธฐ ์œ„ํ•ด ์—”ํ„ฐํ‹ฐ๋ฅผ ์ž‘์€ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์ •๊ทœํ™”๋ฅผ ํ•  ๋•Œ ๋ฐ์ดํ„ฐ ์กฐํšŒ ์„ฑ๋Šฅ์€ ๋ณด์žฅ ๋ชปํ•˜์ง€๋งŒ ์ž…๋ ฅ, ์ˆ˜์ •, ์‚ญ์ œ ์„ฑ๋Šฅ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ–ฅ์ƒ๋œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.  ๋‚ด๊ฐ€ ์˜ˆ์ „์— ์ •๋ฆฌํ•œ๊ฑฐ [Database] ์ •๊ทœํ™” ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ, ์ œ1์ •๊ทœํ˜•, ์ œ2์ •๊ทœํ˜•, ์ œ3์ •๊ทœํ˜•, BCNF์ •๊ทœํ™”(Normalization) ๐Ÿ“Œ ์ •๊ทœํ™”๋ž€? ์ •๊ทœํ™”(Normalization)๋ž€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์—์„œ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๋„๋ก ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๋Š” ์ž‘์—…์ด๋‹ค. ์ •๊ทœํ™”๋ฅผ ํ•ด์คŒ์œผ๋กœ์จ ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹  ๋“ฑ ์ด์ƒํ˜„์ƒawesomepossum.tistory.com 1) ์ œ1์ •๊ทœํ˜• ์œ„๋ฐ˜ - ํ•œ ์นธ์— , ๋กœ ํ•ญ๋ชฉ ์—ฌ๋Ÿฌ๊ฐœ ๋“ค์–ด ๊ฐ„๊ฑฐ - ํ•œ ..
๋‚ด๊ฐ€ ๋ณผ๋ ค๊ณ  ์ •๋ฆฌํ•จ1. ์—”ํ„ฐํ‹ฐ์˜ ํŠน์ง• ๋‹ค์Œ ์ค‘ ์—”ํ„ฐํ‹ฐ๊ฐ€ ๊ฐ–๋Š” ํŠน์ง•์œผ๋กœ ์ ํ•ฉํ•˜์ง€ ์•Š์€ ๊ฒƒ์€? - ๋‹ค๋ฅธ ์—”ํ„ฐํ‹ฐ์™€ 1๊ฐœ ์ด์ƒ์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค- ๋ฐ˜๋“œ์‹œ ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.- `1๊ฐœ ์ด์ƒ`์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. => 2๊ฐœ- ์œ ๋‹ˆํฌํ•จ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์‹๋ณ„์ž๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ•œ ๊ฐœ์˜ ์—”ํ„ฐํ‹ฐ๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ–๋Š”๋‹ค.ํ•œ ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ์†์„ฑ์„ ๊ฐ–๋Š”๋‹ค.ํ•œ ๊ฐœ์˜ ์†์„ฑ์€ ํ•˜๋‚˜์˜ ์†์„ฑ ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค.  ์—”ํ„ฐํ‹ฐ : ํ…Œ์ด๋ธ” ์ „์ฒด (์˜ˆ: `๊ณ ๊ฐํ…Œ์ด๋ธ”`)์ธ์Šคํ„ดํŠธ : ํ–‰ (์˜ˆ: `๊ณ ๊ฐ 1๋ช…`)์†์„ฑ : ์—ด (์˜ˆ: ๊ณ ๊ฐ์˜ `์ด๋ฆ„`,`์ „ํ™”๋ฒˆํ˜ธ`,`์ฃผ์†Œ`)2. ๊ธฐ๋ณธ ์—”ํ„ฐํ‹ฐ, ์ค‘์‹ฌ ์—”ํ„ฐํ‹ฐ, ํ–‰์œ„ ์—”ํ„ฐํ‹ฐ๋ฐœ์ƒ์‹œ์ ์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜`๊ธฐ๋ณธ ์—”ํ„ฐํ‹ฐ`๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์ƒ์„ฑ๋˜์–ด ์ž์‹ ๋งŒ์˜ ์ฃผ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ง€๋ฉฐ ๋‹ค..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…์ˆ˜ํฌ์ž๋Š” ์ˆ˜ํ•™์„ ํฌ๊ธฐํ•œ ์‚ฌ๋žŒ์˜ ์ค€๋ง์ž…๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž ์‚ผ์ธ๋ฐฉ์€ ๋ชจ์˜๊ณ ์‚ฌ์— ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ์ „๋ถ€ ์ฐ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž๋Š” 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฐ์Šต๋‹ˆ๋‹ค. 1๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€์˜ ์ •๋‹ต์ด ์ˆœ์„œ๋Œ€๋กœ ๋“ค์€ ๋ฐฐ์—ด answers๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๋งžํžŒ ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฌ์ธ์ง€ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜..
์˜ˆ์ „์— ์ผ์ด ์žˆ์–ด์„œ ๊ด‘์ฃผ ์ „๋‚จ๋Œ€ํ•™๊ต ๊ทผ์ฒ˜์— ๊ฐ”๋‹ค๊ฐ€ ์‹œ๊ฐ„์ด ๋‚จ์•„์„œ ๊ทธ ์•ž์— ์žˆ๋˜ ์‹œ๋ฆฝ๋ฌด๋“ฑ๋„์„œ๊ด€์— ๋“ค์–ด๊ฐ”๋‹ค. 1์‹œ๊ฐ„ ์ •๋„ ์‹œ๊ฐ„๋งŒ ๋–ผ์šฐ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ๊ธ€์ž๊ฐ€ ๋งŽ์€ ์ฑ…์€ ์‹ซ์–ด์„œ ๊ทธ๋ฆผ์ด ๋งŽ์€ ์ฑ…์„ ๊ณ ๋ฅด๋˜ ์ค‘์— ๋ˆˆ์— ๋“ค์–ด์™”๋˜ ์ฑ… 600ํŽ˜์ด์ง€๊ฐ€ ๋„˜๋Š” ๋‘๊บผ์šด ์ฑ…์ด์—ˆ์ง€๋งŒ ์ด๊ตญ์ ์ด๊ณ  ์•„๋ฆ„๋‹ค์šด ์œ ๋Ÿฝ ํƒ€์ผ์˜ ํ™”๋ คํ•จ์ด ๋ˆˆ์„ ์‚ฌ๋กœ ์žก์•˜๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜์ค‘์— ๋‹ค๋ฅธ ํŽธ๋„ ์ฐพ์•„ ์ฝ์–ด๋ณด๋ ค๊ณ  ์‚ฌ์ง„๊นŒ์ง€ ์ฐ์–ด ๋†“์•˜๋‹ค. ์šฐ๋ฆฌ๋‚˜๋ผ์—์„œ๋„ ๊ณ ๋ ค์ฒญ์ž๊ฐ€ ์œ ๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋„์ž๊ธฐ๋Š” ๋™์„œ์–‘์„ ๋ง‰๋ก ํ•˜๊ณ  ์šฐ๋ฆฌ ์ƒํ™œ์—์„œ ์ค‘์š”ํ•œ ์žฅ์‹ํ’ˆ์œผ๋กœ ์ž๋ฆฌ ์žก์•˜๋‹ค.  ํŠนํžˆ ์ด ์ฑ…์—์„œ ์ธ์ƒ๊นŠ์—ˆ๋˜ ๋ถ€๋ถ„์€ ์œ ๋Ÿฝ์—์„œ ๋„์ž๊ธฐ๋Š” ์‹๊ธฐ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ, ๊ฑด์ถ• ์žฅ์‹ ์–‘์‹์—์„œ๋„ ๋งŽ์€ ๋ถ€๋ถ„์„ ์ž์น˜ ํ•˜๊ณ  ์žˆ๋‹ค. ํŠนํžˆ ์ž‘๊ฐ€๊ฐ€ ์ตœ๊ณ ๋กœ ๊ผฝ์€ ์•„๊ธฐ์ž๊ธฐํ•œ '๋ ˆ๋ธŒ๋ฆฌํ•˜ ๊ณต์ž‘ ๋ถ€์ธ์˜ ์ง‘'์™€ ํ™”๋ คํ•จ์˜ ๊ทน์น˜์ธ '์‚ฐํƒ€๋งˆ๋ฆฌ..
๋ช‡ ๋‹ฌ ์ „์— ๋„์„œ๊ด€์— ๊ฐ”๋‹ค๊ฐ€ ์ด๋ผ๋Š” ์ฑ…์„ ์ฝ์—ˆ๋‹ค. ๊ธ€์”จ๊ฐ€ ๋งŽ์€ ์ฑ…๋ณด๋‹ค ๊ทธ๋ฆผ ์œ„์ฃผ๋กœ ํŽธ์•ˆํ•˜๊ฒŒ ๋ณด๊ณ  ์‹ถ์–ด์„œ ๊ณ ๋ฅธ ์ฑ…์ด์—ˆ๋Š”๋ฐ, ์ •๋ง ํŠน๋ณ„ํ•œ ์ฑ…์ด์—ˆ๋‹ค. ํ™”๋ คํ•˜๋ฉด์„œ ์ •๊ตํ•œ ์œ ๋Ÿฝ์˜ ํƒ€์ผ ์–‘์‹์ด ๋„ˆ๋ฌด ์•„๋ฆ„๋‹ค์› ๋‹ค. ๊ทธ๋ž˜์„œ ์ง‘์— ์™€์„œ ์ด ์ฑ…์„ ๊ตฌ๋งคํ•˜์—ฌ ์†Œ์žฅํ•˜๊ณ  ์‹ถ์—ˆ์œผ๋‚˜ ์„œ์œ ๋ŸฝํŽธ์€ ํ’ˆ์ ˆ์ด์–ด์„œ ๊ตฌ๋งคํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์˜ค๋Š˜ ๊ฐ‘์ž๊ธฐ ์ด ์ฑ… ์ƒ๊ฐ์ด ๋‚˜์„œ ๋ถ์œ ๋ŸฝํŽธ์„ ์ฃผ๋ฌธ ํ•ด ๋ณด์•˜๋‹ค >   ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจํ…Œ์ŠคํŠธ ์ฒซ๋ฒˆ์งธ ๋ฌธ์ œ ์ฝ”๋“œ๋งŒ ํฌ์ŠคํŒ…ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์™„์ „ํƒ์ƒ‰ 2 macOS์—์„œ๋Š” ๊ณต์ธ์ธ์ฆ์„œ ๋‹ค์šด ์•ˆ๋˜๋Š” ๋ฌธ์ œsafari๋งŒ ์•ˆ๋˜๋Š”์ง€ chrome์€ ๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž SQLโญ ์ด๋ก Ie/Crow'sFoot, Peter Chen, IDEF1X, Barker์‹๋ณ„์ž-๋น„์‹๋ณ„์ž ๊ด€๊ณ„๊ธฐ๋ณธ, ์ค‘์‹ฌ, ํ–‰์œ„ ์—”ํ„ฐํ‹ฐ์ค‘๋ณต, ๋น„์œ ์—ฐ์„ฑ, ๋น„์ผ๊ด€์„ฑ์ œ1์ •๊ทœํ˜• - ์ œ3์ •๊ทœํ˜•..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (14 Page)
์ƒ๋‹จ์œผ๋กœ