ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ

ํ…Œ์ด๋ธ” ๋ชฉ๋ก์ด ๋น„์–ด ์žˆ์œผ๋ฏ€๋กœ ์ฒซ ๋ฒˆ์งธ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค. ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ƒ๋‹จ ๋„๊ตฌ ๋ชจ์Œ์˜ ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ ๋ฒ„ํŠผ
  • ํ˜„์ง€ ๋ฉ”๋‰ด
  • SQL ์Šคํฌ๋ฆฝํŠธ

์ด๋ฒˆ์—๋Š” ๋กœ์ปฌ ๋ฉ”๋‰ด๋ฅผ ์‚ฌ์šฉํ•ด ๋ด…์‹œ๋‹ค. ํ…Œ์ด๋ธ” ํ•„๋“œ๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๋ฉด ๋‹ค์Œ ๊ทธ๋ฆผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ํŒจ๋„์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ณด๊ธฐ๋ณด๋‹ค ๋ฌด์„ญ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋Š” 2๊ณณ๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. ์œ„ ํ•„๋“œ์— ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค.
  2. ๊ฐ€์šด๋ฐ ํ•„๋“œ์— ์—ด ์ด๋ฆ„๊ณผ ์œ ํ˜•์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์„ค๊ณ„: ์˜ฌ๋ฐ”๋ฅธ ์—ด ์ด๋ฆ„ ๋ฐ ์œ ํ˜• ์„ ํƒ

์‚ฌ์šฉ์ž๋ฅผ ์ €์žฅํ•  ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค์–ด ๋ด…์‹œ๋‹ค. Java์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

class User {
   public int userId;
   public String name;
   public int level;
   public Date createdDate;
}

SQL์—์„œ ์ด๋Ÿฌํ•œ ํ…Œ์ด๋ธ”์„ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑํ•ฉ๋‹ˆ๊นŒ?

๋จผ์ € ๋ช…๋ช… ๊ทœ์น™์„ ์ •์˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Java๋Š” camelCase๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ SQL์€ ๋Œ€๋ถ€๋ถ„ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์„œ๋Š” ๋ณดํ†ต ๋ฐ‘์ค„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ userId๋Š” user_id ๊ฐ€ ๋˜๊ณ  createdDate๋Š” created_date ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค .

๋‹ค์Œ์œผ๋กœ ์œ ํ˜•์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 4๊ฐœ์˜ ์—ด์„ ํฌํ•จํ•˜๋Š” user ๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค .

  • INT ์œ ํ˜•์˜ ID
  • VARCHAR(100) ์œ ํ˜•์˜ ์ด๋ฆ„
  • INT ์œ ํ˜•์˜ ์ˆ˜์ค€
  • DATE ์œ ํ˜•์˜ created_date

user_id ๋Œ€์‹  id๋ฅผ ์ผ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด SQL์—์„œ ํ—ˆ์šฉ๋˜๋Š” ๋ฐฉ์‹์ด๋ฏ€๋กœ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์–ด๋”˜๊ฐ€์—์„œ user ํ…Œ์ด๋ธ”์˜ id ์—ด์„ ์ฐธ์กฐํ•˜๋Š” ๊ฒฝ์šฐ user_id๋ฅผ ์”๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๋ฆ„ ํ•„๋“œ์— ๋Œ€ํ•ด 100์ž ์ œํ•œ์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ฑฐ๊ธฐ์— ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์ €์žฅํ•˜๊ณ  ์šฐ๋ฆฌ๋ฅผ ์œ„ํ•ด ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ถ€์ˆ˜๋Š” ๊ฒƒ์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ ๋ขฐ์„ฑ์ด ์ „๋ถ€์ž…๋‹ˆ๋‹ค.

ํ•„๋“œ ์ด๋ฆ„ ์ง€์ •

์ด์ œ ์›ํ•˜๋Š” ์—ด์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ด์€ 4๊ฐœ๋ฟ์ž…๋‹ˆ๋‹ค.

์™ผ์ชฝ ์ƒ๋‹จ์˜ ๋‘ ์—ด์— ์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค.

  • ์—ด ์ด๋ฆ„์€ ์—ด์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • DataType์€ ์—ด ์œ ํ˜•์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ๊ณ„ํšํ•œ ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ฆผ์˜ ์•„๋ž˜์ชฝ ์ ˆ๋ฐ˜์—๋Š” ์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ”์˜ ์—ด์„ ์„ค๋ช…ํ•˜๋Š” ํ…Œ์ด๋ธ”์˜ ํ˜„์žฌ ํ–‰ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋””์ฝ”๋”ฉ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๋ช…ํ™•ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ค‘์š”ํ•œ! ์ผ๋ถ€ ์—ด์˜ ๊ฐ’์ด ํ™•์‹คํžˆ NULL์ด ์•„๋‹ˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด Not Null๋กœ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ). ์ด ๊ฒฝ์šฐ MySQL ์„œ๋ฒ„๋Š” ์ด๊ฒƒ์ด ํ•ญ์ƒ ์‚ฌ์‹ค์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ๊ธฐ๋ณธ ํ‚ค๋กœ ํ‘œ์‹œ๋œ id๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ๊ธฐ์–ตํ•˜์‹œ๊ฒ ์ง€๋งŒ ์ด๊ฒƒ์ด ๊ณ ์œ ํ•œ id ๋ ˆ์ฝ”๋“œ์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ์ƒ์„ฑ์„ ์œ„ํ•œ SQL ์ฟผ๋ฆฌ

์ ์šฉ์„ ํด๋ฆญํ•˜๋ฉด ๋ฉ‹์ง„ SQL ์ฟผ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ž๋ฐ”์—์„œ ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•˜์ฃ ?

์ ์šฉ์„ ํด๋ฆญํ•˜๊ณ  ์ฒซ ๋ฒˆ์งธ ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.