[TIL] 2025. 2. 6

์น˜๋งŒยท2025๋…„ 2์›” 6์ผ
post-thumbnail

๐ŸŽฏ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๊ณ„ ๋‹ค์ด์–ด๊ทธ๋žจ(ERD)๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ง์ ‘ ์„ค๊ณ„ํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ, ์ˆ˜์ •, ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณผ์ œ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ๋ง

ERD(Entityโ€“relationship model) ์„ค๊ณ„

๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๋ณต๋˜์ง€ ์•Š๋„๋ก ๊ฐ ํ•ญ๋ชฉ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋„๋ก ์„ค๊ณ„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.


๊ณต์—ฐ ํ…Œ์ด๋ธ”

๊ณต์—ฐ ์ •๋ณด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ๊ณต์—ฐ ์•„์ด๋”” INT

  • ๊ณต์—ฐ ๋‚ ์งœ DATETIME

  • ๊ณต์—ฐ ์ด๋ฆ„ VARCHAR(255)

  • ๊ณต์—ฐ ๊ฐ€๊ฒฉ INT

  • ๊ณต์—ฐ ์„ค๋ช… TEXT

์ƒ์„ฑ(CREATE)

๐Ÿ’ก MariaDB์—์„œ ์˜ˆ์•ฝ์–ด(Reserved Keyword)์™€ ๊ฒน์น˜๋Š” ํ…Œ์ด๋ธ” ์ด๋ฆ„์€ ๋ฐฑํ‹ฑ์œผ๋กœ ๊ฐ์‹ธ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฝ์ž…(INSERT)

์ˆ˜์ •(UPDATE) / ์กฐํšŒ(SELECT)


์˜ˆ๋งค ์ƒ์„ธ ํ…Œ์ด๋ธ”

์˜ˆ๋งค ์ƒ์„ธ ์ •๋ณด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์ฃผ๋ฌธ์—๋„ ๋‹ค์–‘ํ•œ ๊ณต์—ฐ๋“ค์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์ฃผ๋ฌธ ์ˆ˜๋Ÿ‰์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ๋งค ์ƒ์„ธ ์•„์ด๋”” INT

  • ๊ณต์—ฐ ์•„์ด๋”” INT โžก๏ธ ๊ณต์—ฐ ํ…Œ์ด๋ธ”์˜ ์•„์ด๋”” ์ฐธ์กฐ

    • ๊ณต์—ฐ์— ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋งค ์•„์ด๋”” INT โžก๏ธ ์˜ˆ๋งค ํ…Œ์ด๋ธ”์˜ ์•„์ด๋”” ์ฐธ์กฐ

    • ์˜ˆ๋งค์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
  • ์ฃผ๋ฌธ ์ˆ˜๋Ÿ‰ INT

์ƒ์„ฑ(CREATE)

์‚ฝ์ž…(INSERT)

์ˆ˜์ •(UPDATE) / ์กฐํšŒ(SELECT)


์˜ˆ๋งค ํ…Œ์ด๋ธ”

๊ฐ ์ฃผ๋ฌธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ฒˆ ์ฃผ๋ฌธ์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ๋งค ์•„์ด๋””๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ๋งค ์•„์ด๋”” INT

  • ์œ ์ € ์•„์ด๋”” INT โžก๏ธ ์œ ์ € ํ…Œ์ด๋ธ”์˜ ์•„์ด๋”” ์ฐธ์กฐ

    • ์œ ์ €์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋งค ๋‚ ์งœ DATETIME

  • ์˜ˆ๋งค ๋ฒˆํ˜ธ VARCHAR(50)

  • ์ด ์ฃผ๋ฌธ ๊ฐ€๊ฒฉ INT

์ƒ์„ฑ(CREATE)

์‚ฝ์ž…(INSERT)

์ˆ˜์ •(UPDATE) / ์กฐํšŒ(SELECT)


์œ ์ € ํ…Œ์ด๋ธ”

์œ ์ €์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ์œ ์ € ์•„์ด๋”” INT

  • ์œ ์ € ์ด๋ฆ„ VARCHAR(100)

  • ์œ ์ € ์ด๋ฉ”์ผ VARCHAR(100)

  • ์œ ์ € ๋น„๋ฐ€๋ฒˆํ˜ธ VARCHAR(255)

  • ์œ ์ € ์ „ํ™”๋ฒˆํ˜ธ VARCHAR(15)

์ƒ์„ฑ(CREATE)

์‚ฝ์ž…(INSERT)

์ˆ˜์ •(UPDATE) / ์กฐํšŒ(SELECT)

๐Ÿง ์ž๋ฃŒํ˜• ์„ค๋ช…

INT => ๋น ๋ฅด๊ฒŒ ์‹๋ณ„ํ•˜๊ฑฐ๋‚˜ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

DATETIME => ๊ณต์—ฐ, ์˜ˆ๋งค ๋“ฑ์˜ ์ •ํ™•ํ•œ ๋‚ ์งœ๋ฅผ ํ‘œ๊ธฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

VARCHAR(N) => ๊ฐ€๋ณ€์ ์ธ ๋‚ด์šฉ๋“ค์„ ํฌํ•จํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

  • ์˜ˆ๋งค ๋ฒˆํ˜ธ๋Š” ๋ณดํ†ต ๋ฌธ์ž์—ด๊ณผ ํ˜ผํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด ์ž๋ฃŒํ˜• ์‚ฌ์šฉ
  • ๊ฐ€๋ณ€์ ์ธ ๊ฐ’๋“ค์€ ๋ณดํ†ต 100, 255๋กœ ์ œํ•œ
  • ์ „ํ™”๋ฒˆํ˜ธ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๊ตญ์ œ๋ฒˆํ˜ธ๊นŒ์ง€ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ๊นŒ์ง€ 15๋กœ ์ œํ•œ

TEXT => ๊ธด ์„ค๋ช…์— ์ ํ•ฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ

profile
๐ŸŒฑ๊ฐœ๋ฐœ ๊ธฐ๋ก์žฅ

0๊ฐœ์˜ ๋Œ“๊ธ€