๐Ÿ›ข๏ธDatabase

๋‹จ๊ณ„๋ณ„๋กœ ์„ฑ์žฅํ•˜์ž!
์ผ๋ฐ˜์ ์œผ๋กœ ์›น ์„œ๋น„์Šค์™€ ๊ฐ™์ด ์ผ๋ฐ˜์ ์ธ ์˜จ๋ผ์ธ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ํ™˜๊ฒฝ์˜ DB์—์„œ๋Š” INSERT๋‚˜ UPDATE ์ž‘์—…์˜ ๊ฒฝ์šฐ ๊ฑฐ์˜ ๋ ˆ์ฝ”๋“œ ๋‹จ์œ„๋กœ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์„ฑ๋Šฅ์ƒ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค. ํ•˜์ง€๋งŒ, SELECT์˜ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํ•ฉํ•ด์„œ ๋น ๋ฅด๊ฒŒ ๊ฐ€์ ธ์™€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์—ฌ์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, SELECT ์ฟผ๋ฆฌ์˜ ๊ฐ ๋ถ€๋ถ„์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์„ฑ๋Šฅ ์œ„์ฃผ๋กœ ์‚ดํŽด๋ณด๊ณ ์ž ํ•œ๋‹ค. 1. SELECT ์ ˆ์˜ ์ฒ˜๋ฆฌ ์ˆœ์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•œ SELECT ๋ฌธ์ด ์กด์žฌํ•œ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ์–ด๋– ํ•œ ์ ˆ์ด ๋จผ์ € ์‹คํ–‰๋˜๋Š”์ง€ ์˜ˆ์ธกํ•ด์•ผ ์ตœ์ ํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. SELECT, FROM, WHERE. GROUP BY, HAVING, ORDER BY, LIMIT SELECT s.emp_no, COUNT(D..
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๋˜๋Š” ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด DB์™€ ํ†ต์‹ ํ•  ๋•Œ DB ์„œ๋ฒ„๋กœ ์ „๋‹ฌ๋˜๋Š” ๊ฒƒ์€ SQL ๋ฟ์ด๋‹ค. SQL์€ ์–ด๋– ํ•œ(What) ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด์ด์ง€, ์–ด๋–ป๊ฒŒ(How) ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„์ง€๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์–ธ์–ด๋Š” ์•„๋‹ˆ๋ฏ€๋กœ ์ž๋ฐ”์™€ ๊ฐ™์€ ์–ธ์–ด์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ์ œํ•œ์ ์œผ๋กœ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฟผ๋ฆฌ๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰๋˜๊ฒŒ ํ•˜๋ ค๋ฉด DB ์„œ๋ฒ„์—์„œ ์ฟผ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ• ์ง€ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ํŠœ๋‹ํ•ด์„œ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š์ง€๋งŒ, DBMS์—์„œ๋Š” ๋ช‡์‹ญ ๋ช‡๋ฐฑ ๋ฐฐ์˜ ์„ฑ๋Šฅ ํŠœ๋‹์€ ํ”ํ•œ ์ผ์ด๋‹ค. ๋”ฐ๋ผ์„œ SQL ์ž‘์„ฑ ๋ฐฉ๋ฒ•์ด๋‚˜ ๊ทœ์น™์€ ๋ฌผ๋ก , ๋‚ด๋ถ€์ ์ธ ์ฒ˜๋ฆฌ ๋ฐฉ์‹(์˜ตํ‹ฐ๋งˆ์ด์ €)์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด์•ผ ํ•œ๋‹ค. 1. MySQL ์—ฐ์‚ฐ์ž (1) ๋‚ ์งœ ๋‹ค๋ฅธ DBMS์—์„œ ๋‚ ์งœ ํƒ€์ž…์„ ๋น„๊ตํ•˜๊ฑฐ๋‚˜ INSERTํ•˜๋ ค..
1. InnoDB ๋ฒ„ํผ ํ’€ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด๋‚˜ ์ธ๋ฑ์Šค ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹œํ•ด ๋‘๋Š” ๊ณต๊ฐ„์ด๋‹ค. ์“ฐ๊ธฐ ์ž‘์—…์„ ์ง€์—ฐ์‹œ์ผœ ์ผ๊ด„ ์ž‘์—…์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฒ„ํผ ์—ญํ• ๋„ ๊ฐ™์ด ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” INSERT, UPDATE, DELETE ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ฟผ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ์˜ ์ด๊ณณ์ €๊ณณ์— ์œ„์น˜ํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋žœ๋คํ•œ ๋””์Šคํฌ ์ž‘์—…์„ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฒ„ํผ ํ’€์ด ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋žœ๋คํ•œ ๋””์Šคํฌ ์ž‘์—…์˜ ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ๋ฒ„ํผ ํ’€์˜ ํฌ๊ธฐ ์„ค์ • ์šด์˜์ฒด์ œ์™€ ๊ฐ ํด๋ผ์ด์–ธํŠธ ์Šค๋ ˆ๋“œ๊ฐ€ ์‚ฌ์šฉํ•  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค. MySQL 5.7 ๋ฒ„์ „๋ถ€ํ„ฐ๋Š” InnoDB ๋ฒ„ํผ ํ’€์˜ ํฌ๊ธฐ๋ฅผ ๋™์ ์œผ๋กœ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ฐœ์„ ๋˜์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ƒํ™ฉ์„ ์กฐ๊ธˆ์”ฉ ๋ณด๋ฉด์„œ ์ฆ๊ฐ€์‹œํ‚ค๋Š”๊ฒŒ ์ตœ..
MySQL 5.5 ๋ฒ„์ „ ์ดํ›„ ๋ถ€ํ„ฐ๋Š” ๊ธฐ๋ณธ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์ด InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค. 1. InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ InnoDB๋Š” MySQL์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ์ค‘ ๊ฑฐ์˜ ์œ ์ผํ•˜๊ฒŒ ๋ ˆ์ฝ”๋“œ ๊ธฐ๋ฐ˜์˜ ์ž ๊ธˆ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ทธ ๋•Œ๋ฌธ์— ๋†’์€ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  ์•ˆ์ •์ ์ด๋ฉฐ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜๋‹ค. 1-1. PK์— ์˜ํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋ง InnoDB์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์€ ๊ธฐ๋ณธ์ ์œผ๋กœ PK๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ˆœ์„œ๋Œ€๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง๋˜์–ด ๋””์Šคํฌ์— ์ €์žฅ๋˜๋ฉฐ, ๋ชจ๋“  ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค๋Š” ๋ ˆ์ฝ”๋“œ์˜ ์ฃผ์†Œ ๋Œ€์‹  PK์˜ ๊ฐ’์„ ๋…ผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. PK๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— PK๋ฅผ ์ด์šฉํ•œ ๋ ˆ์ธ์ง€ ์Šค์บ”์€ ์ƒ๋‹นํžˆ ๋นจ๋ฆฌ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ฟผ๋ฆฌ์˜ ์‹คํ–‰ ๊ณ„ํš์—์„œ ๋‹ค๋ฅธ ๋ณด์กฐ ์ธ๋ฑ์Šค๋ณด๋‹ค PK๊ฐ€ ์„ ํƒ๋  ํ™•๋ฅ ์ด ๋†’๋‹ค. MyISAM ..
MySQL ์„œ๋ฒ„๋Š” ํฌ๊ฒŒ ๋จธ๋ฆฌ ์—ญํ• ์„ ํ•˜๋Š” MYSQL ์—”์ง„๊ณผ ์†๋ฐœ ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š” ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์œผ๋กœ๋Š” InnoDB๊ณผ MyISAM ๋“ฑ์ด ์žˆ๊ณ , ํ•ธ๋“ค๋Ÿฌ API๋ฅผ ๋งŒ์กฑํ•˜๋ฉด ๋ˆ„๊ตฌ๋“ ์ง€ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์„ ์ถ”๊ฐ€ํ•˜์—ฌ MYSQL ์„œ๋ฒ„์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. 1. MYSQL ์ „์ฒด ๊ตฌ์กฐ MySQL ๊ณ ์œ ์˜ C API๋ถ€ํ„ฐ JDBC๋‚˜ ODBC, ๊ทธ๋ฆฌ๊ณ  .NET์˜ ํ‘œ์ค€ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ด์šฉํ•˜์—ฌ C/C++, PHP, ์ž๋ฐ”, ํŽ„, ํŒŒ์ด์ฌ, ๋ฃจ๋น„, .NET ๋“ฑ ๋ชจ๋“  ์–ธ์–ด๋กœ MYSQL ์„œ๋ฒ„์—์„œ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ง€์›ํ•œ๋‹ค. MySQL ์—”์ง„ Client๋กœ๋ถ€ํ„ฐ์˜ ์ ‘์† ๋ฐ ์ฟผ๋ฆฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ปค๋„ฅ์…˜ ํ•ธ๋“ค๋Ÿฌ SQL ํŒŒ์„œ ๋ฐ ์ „์ฒ˜๋ฆฌ๊ธฐ ์ฟผ๋ฆฌ์˜ ์ตœ์ ํ™”๋œ ์‹คํ–‰์„ ์œ„ํ•œ ์˜ตํ‹ฐ๋งˆ์ด์ € ์œ„ ๊ตฌ..
DevPoong
'๐Ÿ›ข๏ธDatabase' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)