์ฃผ์ ์์
- sql๊ณผ nodejs ์ฐ๊ฒฐ โ 2024-08-28
- erd ์์ฑ โ 2024-08-28
- ํจ์ํ ๋ณ๊ฒฝ ๋ฆฌํฉํ ๋ง(๊ณ์ ์งํ์ค) โ 2024-08-28
- api๋ณ๋ก ๋ง๋ค๊ธฐ(์งํ์ค)
ํ์ต ํค์๋
- sql๋ฌธ โ 2024-08-28
- sql workbench โ 2024-08-28
- ssh ํฐ๋๋ง โ 2024-08-28
- Locale โ 2024-08-28
- MVC ํจํด โ 2024-08-28
- Primary Key, Foreign Key, Unique Key โ 2024-08-28
- https://luxurious-share-af6.notion.site/2-bfaf16a16f8743eb9ee0e08af52673be?pvs=4
๊ณ ๋ฏผ ๋ฐ ํด๊ฒฐ๊ณผ์
ERD ์ค๊ณ
๋๋ ์ด์ ๊น์ง ์ญ ํ๋ก ํธ์๋๋ง ํ๋ ํฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํ๋ ๊ฒ ์์ฒด๊ฐ ์ต์์น ์์ ์ด ์ ์ด ๋งค์ฐ ์ด๋ ค์ ๋ ๊ฒ ๊ฐ๋ค. ๊ธฐ์กด์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ์๋ฃํ ๋ฑ์ ์ ํํ๋ ๊ณผ์ ์์๋ ํด๋นํ๋ ๋ฌธ์ ์๋ง ์ง์คํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์กด์ฑ๊ณผ ๊ฐ์ ์ ์ ์๊ฐํด๋ณผ ๊ธฐํ๊ฐ ๊ฑฐ์ ์์๋๋ฐ, ์ด๋ฒ์ ๊ธฐ๋ณธ ํค, ์ธ๋ ํค ์ค์ ๋ฑ ์ ๊ฒฝ ์ธ ์์๋ค์ด ๋ง์ ๋งํผ erd ์์ฒด๋ฅผ ์ค๊ณํ๊ณ , ์ด๋ฌํ ๊ฐ๋ค์ ์ด๋ป๊ฒ sql๋ฌธ์ผ๋ก ํจ์จ์ ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์์๊น์ ๋ํด์ ๋ง์ด ๊ณ ๋ฏผํ๋ค.
์ ๊ฒฝ ์ด ์์๋ค๋ก๋
- ์ ์ ๋ฅผ ๋ฐ๋ก ๋ ๊ฒ์ธ๊ฐ?
- ํ์คํ ๋ฆฌ๋ ์ด๋์ ๊ด๊ณ๋ฅผ ๋์ด์ผ ํ๋๊ฐ?
- ํ๋๋ช ์ ๋ฌด์์ผ๋ก ์ ํด์ผ ํ๋๊ฐ?
- type์ varchar ๋ํ ์ด๋์ ๋๊น์ง ํ์ฉํด์ผ ํ๋๊ฐ?
- ํ์คํ ๋ฆฌ๋ ๊ฐ๊ฐ action๋ง๋ค ๋ฐ์์ผ ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌ๋ผ์ผ ํ ํ
๋ฐ, ์ด๋ฅผ ์ด๋ป๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฃ๊ณ ์ด๋ป๊ฒ ๊ฐ๊ณตํ์ฌ ์ฌ์ฉํ ๊ฒ์ธ๊ฐ?
๋ฑ์ ๋ํ ๊ณ ๋ฏผ๋ค์ ํ๋์ฉ ํด๊ฒฐํด๊ฐ๋ฉฐ ERD๋ฅผ ์ง๊ธฐ ์์ํ๋ค.

์ด๋ฌํ ๊ณ ๋ฏผ๋ค์ ๋ํ ํด๊ฒฐ์ฑ ์ผ๋ก ๋์จ ERD์ธ๋ฐ, ๊ณ ๋ฏผ๊ฑฐ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ํด์ํ์๋์ง๋ฅผ ์จ๋ณด๋ ค๊ณ ํ๋ค.
- ์ ์ ๋ฅผ ๋ฐ๋ก ๋ ๊ฒ์ธ๊ฐ?
- ์ ์ ๋ฅผ ๋ฐ๋ก ๋์ด์ผ๋ง author๊ฐ ์๋ฏธ๋ฅผ ๊ฐ์ง ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ๋ค. ์๋ง ์ผ๋ถ๋ฌ author์ ๋ ์ด์ ๋ ์ ์ ๋ฅผ ๋ง๋ ๋ค๋ ์ ์ ํ์ ๊ธฐํ์๊ฐ ์์ฑ๋ ๊ฒ ๊ฐ๋ค๊ณ ํ๋จํ์ฌ ๊ฐ๋จํ๊ฒ ์ ์ ์์ด๋์ ์ด๋ฆ๋ง์ ๋ฐ๋๋ก ํ๋ค.
- ๋์ค์ ๋ก๊ทธ์ธ์ด๋ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค์ด ์ถ๊ฐ๋๋ค๋ฉด, ํด๋น ์ ์ ํ ์ด๋ธ์ ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค๊ณ ํ๋จํ์๋ค.
- ํ์คํ ๋ฆฌ๋ ์ด๋์ ๊ด๊ณ๋ฅผ ๋์ด์ผ ํ๋๊ฐ?
- ํ์คํ ๋ฆฌ๋ ์ ์ ์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ , action์ ๊ธฐํ์์ ์ ์๋ ๋ฑ๋ก, ์ด๋, ๋ณ๊ฒฝ ์ธ ๊ฐ์ง ๊ฒฝ์ฐ๋ง ๋ฐ์ ์ ์๋๋ก ํ ๋ค์, ์ด์ ๋ฐ๋ผ ์์ธ ํ๋์ ๋ฐ๋ก ํ์ฑํ์ฌ ๊ฐ action์ ๋ง๊ฒ ์๋ฒ์์ ๊ฐ๊ณตํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ๋ค.
- ๋ ์ฝ๋๋ช
์ ๋ฌด์์ผ๋ก ์ ํด์ผ ํ๋๊ฐ?
- ๋ ์ฝ๋๋ช ์ ๊ฒฝ์ฐ ์ต๋ํ ๋ด๊ฐ ๋ฌด์์ ๊ฐ๋ฆฌํค๋์ง ๋ช ๋ฃํ๊ฒ ๋ณผ ์ ์๋๋ก ์ด๋ฆ์ ์์ฑํ์๋ค.
- type์ varchar ๋ํ ์ด๋์ ๋๊น์ง ํ์ฉํด์ผ ํ๋๊ฐ?
- ์ผ๋ฐ์ ์ธ ๊ฒ๋ค์ 50์๊น์ง ํ์ฉํ๋, ํฌ๋์นด๋์ ๋ณธ๋ฌธ์ด 500์๊น์ง ํ์ฉ๋๋ ๋งํผ ์ ๋ชฉ๊ณผ ์์ธ ๋ด์ฉ์ ์์ธ๋ฅผ ๋์๋ค
- ๋ํ ํ์คํ ๋ฆฌ์ ์์ธ ํ๋ ๋ํ ํ์ฑํด์ ์ฌ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์, ๊ธ์์๊ฐ ๋ง์ด ๋์ด๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค๊ณ ํ๋จํ์ฌ ์์๋ก ๋๋ ธ์ง๋ง, ํฉ๋ฆฌ์ ์ธ ๊ธฐ์ค์์ ์กฐ๊ธ ๋ ์๋ณผ ์์ ์ด๋ค.
- ํ์คํ ๋ฆฌ๋ ๊ฐ๊ฐ action๋ง๋ค ๋ฐ์์ผ ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌ๋ผ์ผ ํ ํ
๋ฐ, ์ด๋ฅผ ์ด๋ป๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฃ๊ณ ์ด๋ป๊ฒ ๊ฐ๊ณตํ์ฌ ์ฌ์ฉํ ๊ฒ์ธ๊ฐ?
- ์์์ ๋งํ ๊ฒ๊ณผ ๊ฐ์ด action_detail์ ํ์ํ JSON ๋ฐ์ดํฐ๋ฅผ ์ ๋ถ string์ผ๋ก ํ์ฑํ ๋ค์ ์ด๋ฅผ ๊ฐ์ ธ์์ ํ์ฑํ๊ณ ๊ฐ๊ณตํ์ฌ ์ฌ์ฉํ๋ฉด ๋์ง ์์๊น ์๊ฐํ๋ค. ๊ตณ์ด JSON ๋ฐ์ดํฐ๊ฐ ์๋๋๋ผ๋ ์ผ๋ฐ ๋ฌธ์์ด์ ์ผ์ ๊ธฐ์ค์ ๋๊ณ ํ์ฑํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๊ฐํด๋ณด์์ง๋ง, JSON.stringify๋ ๋ฌธ์์ด์ด ๋๋ค๋ฉด ์ด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๋ณด๋ค ํฉ๋ฆฌ์ ์ผ๋ก ๋ณด์ธ๋ค.