Search

Reverse Engineering

Reverse Engineering (์—ญ๊ณตํ•™)

"์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”, ์ปฌ๋Ÿผ, ์ œ์•ฝ์กฐ๊ฑด, ๊ด€๊ณ„(FK) ๋“ฑ์„ ์ถ”์ถœํ•˜์—ฌ ์ด๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„(ERD๋กœ)ํ•˜๊ฑฐ๋‚˜, ๋‹ค์‹œ ๋ชจ๋ธ๋ง ๋„๊ตฌ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๋งŒ๋“œ๋Š” ์ž‘์—…โ€

์ผ๋ฐ˜์ ์ธ ์—ญ๊ณตํ•™์˜ ์˜๋ฏธ

์ด๋ฏธ ๊ตฌ์ถ•๋˜์–ด ์žˆ๋Š” ์‹œ์Šคํ…œ์ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ ๋“ฑ์„ ๋ถ„์„ํ•˜์—ฌ ๊ทธ ๋‚ด๋ถ€ ๊ตฌ์กฐ, ๋™์ž‘ ๋ฐฉ์‹, ์„ค๊ณ„ ์ •๋ณด๋ฅผ ๋„์ถœํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์™œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

๋ชฉ์ 
์„ค๋ช…
์‹œ์Šคํ…œ ๋ถ„์„
๊ธฐ์กด DB ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ฑฐ๋‚˜ ๋ฌธ์„œํ™”ํ•  ๋•Œ
ERD ์ƒ์„ฑ
ERD ๋‹ค์ด์–ด๊ทธ๋žจ ์ž๋™ ์ƒ์„ฑ ๋ฐ ์‹œ๊ฐํ™”
์œ ์ง€๋ณด์ˆ˜
๋ณต์žกํ•œ DB๋ฅผ ์‰ฝ๊ฒŒ ์ˆ˜์ •/ํ™•์žฅ ๊ฐ€๋Šฅ
๋ฌธ์„œํ™”
๊ฐœ๋ฐœ์ž๋‚˜ ์šด์˜ํŒ€์ด ๊ตฌ์กฐ๋ฅผ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ

MySQL Workbench์—์„œ์˜ Reverse Engineering

1.
์ด๋ฏธ ์กด์žฌํ•˜๋Š” MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†
2.
Workbench ๋ฉ”๋‰ด์—์„œ Database > Reverse Engineer...
3.
Workbench๊ฐ€ DB ๊ตฌ์กฐ(ํ…Œ์ด๋ธ”, PK, FK ๋“ฑ)๋ฅผ ๋ถ„์„ํ•˜์—ฌ ER ๋‹ค์ด์–ด๊ทธ๋žจ ์ƒ์„ฑ

์˜ˆ์‹œ ์ƒํ™ฉ

โ€ข
์‚ฌ๋‚ด์— ์šด์˜ ์ค‘์ธ ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ๋Š”๋ฐ ๋ฌธ์„œ๊ฐ€ ์—†๋‹ค
โ†’ Reverse Engineering์„ ํ†ตํ•ด ERD๋ฅผ ๋งŒ๋“ค์–ด ๊ตฌ์กฐ ํŒŒ์•…
โ€ข
์™ธ๋ถ€์—์„œ ๋ฐ›์€ ํ”„๋กœ์ ํŠธ DB๋ฅผ ๋ถ„์„ํ•˜๋ ค ํ•  ๋•Œ
โ†’ DB ๊ตฌ์กฐ๋ฅผ ์‹œ๊ฐํ™”ํ•ด์„œ ์ „์ฒด ํ๋ฆ„์„ ์ดํ•ด

Workbench Reverse Engineering ๋ฐฉ๋ฒ•

1. MySQL Workbench ์‹คํ–‰

โ€ข
MySQL Workbench๋ฅผ ์—ด๊ณ , ์›ํ•˜๋Š” MySQL ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

2. Reverse Engineering ์‹œ์ž‘

โ€ข
์ƒ๋‹จ ๋ฉ”๋‰ด์—์„œ
Database โ†’ Reverse Engineer... ํด๋ฆญ

3. ์—ฐ๊ฒฐ ์„ค์ •

โ€ข
์—ฐ๊ฒฐํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ ์—ฐ๊ฒฐ ์ƒ์„ฑ
โ€ข
Next ํด๋ฆญ

4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ ํƒ

โ€ข
Reverse Engineeringํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ ํƒ
โ€ข
์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šคํ‚ค๋งˆ๊ฐ€ ์žˆ์œผ๋ฉด ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ์„ ํƒ
โ€ข
Next ํด๋ฆญ

5. ์Šคํ‚ค๋งˆ ๊ฐ€์ ธ์˜ค๊ธฐ

โ€ข
Workbench๊ฐ€ ํ…Œ์ด๋ธ”, ๋ทฐ, ํŠธ๋ฆฌ๊ฑฐ, ์ €์žฅ ํ”„๋กœ์‹œ์ € ๋“ฑ์„ ์ฝ์–ด์˜ต๋‹ˆ๋‹ค
โ€ข
์™„๋ฃŒ๋˜๋ฉด Next โ†’ Finish

6. ER ๋‹ค์ด์–ด๊ทธ๋žจ ๋ณด๊ธฐ

โ€ข
MySQL Model ํƒญ์ด ์—ด๋ฆผ
โ€ข
์™ผ์ชฝ EER Diagram์—์„œ Add Diagram ํด๋ฆญ
โ†’ ์ž๋™์œผ๋กœ ํ…Œ์ด๋ธ”๋“ค์„ ๋„์‹ํ™”ํ•จ

7. ๋„์‹ ํŽธ์ง‘ ๋ฐ ์ €์žฅ

โ€ข
์ƒ์„ฑ๋œ ERD๋ฅผ ๋“œ๋ž˜๊ทธ๋กœ ๋ฐฐ์น˜ ์กฐ์ • ๊ฐ€๋Šฅ
โ€ข
File โ†’ Save ๋˜๋Š” Export as PNG/PDF ๋“ฑ์œผ๋กœ ์ €์žฅ ๊ฐ€๋Šฅ

์œ ์˜์‚ฌํ•ญ

โ€ข
Foreign Key๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์–ด์•ผ ํ…Œ์ด๋ธ” ๊ฐ„ ๊ด€๊ณ„์„ ์ด ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค.
โ€ข
๊ด€๊ณ„๊ฐ€ ์•ˆ ๋‚˜์˜ฌ ๊ฒฝ์šฐ, FK ์ œ์•ฝ์กฐ๊ฑด์„ ํ™•์ธํ•˜์„ธ์š”.
โ€ข
์ž๋™ ๋ฐฐ์น˜๊ฐ€ ๋„ˆ๋ฌด ๋ฐ€์ง‘๋˜๋ฉด Arrange โ†’ Auto Layout ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์„ธ์š”.