ORM(Object-Relational Mapping)์ ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ๊ฐ๋ ฅํ ์ค๊ฐ ์ถ์ํ ๊ณ์ธต์ผ๋ก, OOP(๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ) ์ธ์ด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋ค๋ฆฌ ์ญํ ์ ํฉ๋๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ ๋งฅ๋ฝ์์ ORM์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ณต์กํ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํด๋์ค ๋๋ ๊ฐ์ฒด์ธ ๊ฒ์ฒ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์์ ๋ณด๋ค ๋ฅ๋ฅ ์ ์ด๊ณ ์ง๊ด์ ์ด๋ฉฐ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
ORM์ ์ต์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด ์งํฅ ํจ๋ฌ๋ค์๊ณผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)์์ ์ฌ์ฉ๋๋ ๊ด๊ณํ ํจ๋ฌ๋ค์ ๊ฐ์ ์ํผ๋์ค ๋ถ์ผ์น๋ฅผ ์ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ํผ๋์ค ๋ถ์ผ์น๋ ๋ ํจ๋ฌ๋ค์์์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋ฐ์ดํฐ ์ ํ, ์ฟผ๋ฆฌ ์ธ์ด ๋ฐ ์ ์ฅ ๋ฉ์ปค๋์ฆ์ ์๋นํ ์ฐจ์ด๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ๋ ์ฌ์ด์ ๋งคํ์ ์ ๊ณตํจ์ผ๋ก์จ ORM ๋๊ตฌ๋ ๊ฐ๋ฐ์๊ฐ ๊ฐ์ฒด ์งํฅ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ ๋ณด๋ค ์ฝ๊ฒ โโํ์ฌ ์ ๋ฐ์ ์ธ ํจ์จ์ฑ์ ๊ฐ์ ํ๊ณ ์ฝ๋ ๋ณต์ก์ฑ์ ์ค์ด๋ฉฐ ์ฝ๋ ์ ์ง ๊ด๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
ORM ์ฌ์ฉ์ ๋ช ๊ฐ์ง ์ฃผ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ: ORM์ ์ฌ์ฉํ๋ฉด ๋์ผํ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ฌ์ํ ๊ตฌ์ฑ ๋ณ๊ฒฝ๊ณผ ๊ฐ๋ฐ์์ ๊ฐ์ ์ด ์ต์ํ๋ฉ๋๋ค.
- ํฅ์๋ ๋ณด์: ORM์ SQL ๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ ์ฟผ๋ฆฌํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ฐ์ ์ธ ์ทจ์ฝ์ ์ธ SQL ์ฃผ์ ๊ณต๊ฒฉ์ ๋ํ ๊ธฐ๋ณธ ์ ๊ณต ๋ณดํธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ถ์ํ ๋ฐ ์ ์ง ๊ด๋ฆฌ: ORM์ ํตํด ๊ฐ๋ฐ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ์ฝ๋๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋จธ์ง ๋ถ๋ถ์์ ๊ฒฉ๋ฆฌํ ์ ์์ผ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๋ ผ๋ฆฌ๋ฅผ ์ค๋จํ์ง ์๊ณ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ๊ฒ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ๊ต์ฒดํ ์ ์์ต๋๋ค.
- ์ฟผ๋ฆฌ ์ต์ ํ: ๋๋ถ๋ถ์ ORM ๋๊ตฌ์๋ ํจ์จ์ ์ธ SQL ์ฟผ๋ฆฌ๋ฅผ ์๋์ผ๋ก ์์ฑํ๋ ์ฟผ๋ฆฌ ์ต์ ํ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ด ๊ฐ๋ฐ์๊ฐ ๊ฐ ์ฟผ๋ฆฌ์ ์ฑ๋ฅ์ ๋ฏธ์ธ ์กฐ์ ํด์ผ ํ๋ ๋ถ๋ด์ด ์ค์ด๋ญ๋๋ค.
Java์ฉ Hibernate, Python์ฉ SQLAlchemy, .NET์ฉ Entity Framework์ ๊ฐ์ ์ฌ๋ฌ ๊ฐ์ง ์ธ๊ธฐ ์๋ ORM ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ORM ๋๊ตฌ์ ์ ํ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ , ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ณต์ก์ฑ ๋ฐ ํ๋ก์ ํธ์ ํน์ ์๊ตฌ ์ฌํญ์ ๋น๋กฏํ ๋ค์ํ ์์ธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
AppMaster no-code ํ๋ซํผ์ ๋งฅ๋ฝ์์ ORM์ ํ์ฉ์ ์๋ ์ฝ๋ฉ์ ๋ํ ์๊ตฌ ์ฌํญ์ ์ต์ํํ๊ณ ์ ์ํ๊ณ ํจ์จ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ํ๋ซํผ์ ์ ์ฌ๋ ฅ์ ์ต๋ํํ๋ฏ๋ก ํจ์ฌ ๋ ์ค์ํฉ๋๋ค. AppMaster ์ฌ์ฉํ๋ฉด ORM ๋๊ตฌ์ ์ํํ๊ฒ ํตํฉ๋์ด Go(Golang)์์ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ์๊ฐ์ BP Designer๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ชจ๋ธ (๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง) ๋ฐ ๋น์ฆ๋์ค ๋ก์ง(๋น์ฆ๋์ค ํ๋ก์ธ์ค)์ ์๊ฐ์ ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค.
AppMaster ํ๋ซํผ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๋ํ ์ ์ฒด์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ผ๋ถ๋ก ORM์ ํตํฉํ์ฌ ๊ทธ ์ด์ ์ ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ํ์ฅํฉ๋๋ค. ORM์ ์ฌ์ฉํจ์ผ๋ก์จ AppMaster ์ฌ์ฉ์๋ Vue3 ํ๋ ์์ํฌ ๋ฐ JS/TS๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ๋ํํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ ๋ฟ๋ง ์๋๋ผ Android์ฉ Kotlin ๋ฐ Jetpack Compose ์ IOS์ฉ SwiftUI ์ฌ์ฉํ๋ ๊ธฐ๋ณธ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. AppMaster ๊ฐ ์ฑํํ ์๋ฒ ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ App Store ๋ฐ Play Market์ ์ ๋ฒ์ ์ ๋ค์ ์ ์ถํ์ง ์๊ณ ๋ UI, ๋ ผ๋ฆฌ ๋ฐ API ํค์ ๋ํด ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ดํธํ ์ ์๋๋ก ํ์ฌ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์๋ช ์ฃผ๊ธฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํฉ๋๋ค.
AppMaster ํ๋ซํผ์์ ORM์ ๊ธฐ๋ฅ์ ํ์ฉํจ์ผ๋ก์จ ๊ณ ๊ฐ์ ์ค์๊ธฐ์ ์์ ๋๊ธฐ์ ์ ์ด๋ฅด๋ ๊ด๋ฒ์ํ ํ๋ก์ ํธ์ ๋ํด 10๋ฐฐ ๋ ๋น ๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ๊ณผ 3๋ฐฐ ๋ ๋ง์ ๋น์ฉ ํจ์จ์ฑ์ ๋ฌ์ฑํ ์ ์์ต๋๋ค. ์๊ตฌ ์ฌํญ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒ์๋ถํฐ ์ฌ์์ฑํ๋ AppMaster ์ ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ๊ฑฐํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ํ ๋ช ์ ์๋ฏผ ๊ฐ๋ฐ์๋ผ๋ AppMaster ํ๋ซํผ์ ํ์ ์ ์ธ ORM ๊ธฐ๋ฐ no-code ๋๊ตฌ ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ๋ฐฑ์๋, ์น ์ฌ์ดํธ, ๊ณ ๊ฐ ํฌํธ ๋ฐ ๊ธฐ๋ณธ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌ๊ดํ๋ ํฌ๊ด์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ํํธ์จ์ด ์๋ฃจ์ ์ ๋ง๋ค ์ ์์ต๋๋ค.