ํฐ์คํ ๋ฆฌ ๋ทฐ
( ์ฌ๊ธฐ์๋ถํฐ๋ ์ํ์ฝ๋ฉ์ ๋ด์ฉ๊ณผ๋ ์ฝ๊ฐ ๋ณ๊ฐ์ผ ์ ์์ต๋๋ค. )
ํํ DB๋ผ๊ณ ํ๋ฉด SQL๋ฌธ์ ์ด์ฉํ ์ฟผ๋ฆฌ๋ฅผ ์ง๋ ํ๋์ ์๊ฐํ๊ฒ ๋๋ค.
Select * from Member;
์ ๊ฐ์ด ๋ด๊ฐ ์ํ๋ ๋ฐ์ดํฐ ๊ฐ๊ณต์ ์ํ ์ฟผ๋ฆฌ๋ฌธ์ ๋์ ธ์ฃผ๋ ํํ๊ฐ ์ผ๋ฐ์ ์ธ๋ฐ, ๋๋ ์ฟผ๋ฆฌ๋ฌธ์๋ ์ต์์น๊ฐ ์๊ณ , Node js ๋ฅผ
์ฌ์ฉํ๋ ์ํฉ์์ ํ๋์ ์ธ์ด๋ก DB๊น์ง ์ ์ดํ ์ ์์ผ๋ฉด ์ข๋ค๊ณ ์๊ฐ์ด ๋ค์ด์ ์ฐพ๊ฒ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ผ๋จ ORM์ด๋ผ๋ ๋จ์ด๊ฐ ๋์ค๊ฒ ๋๋๋ฐ Sequelize์ ๊ฐ์ ๋๊ตฌ๋ฅผ ORM ์ด๋ผ๊ณ ํ๋ค.
ORM์ด๋?
ORM(Object Relational Mapping)์ application๊ณผ Database์ฌ์ด๋ฅผ ๋งตํ์์ผ์ฃผ๋ ๋๊ตฌ์ด๋ค. ํ์ธต๋ ์ถ์ํ๋ layer์์ Database์ ๋ํ ์์ ์ ํ ์ ์๊ฒ ํด์ค๋ค. ORM์ ์ฌ์ฉํจ์ผ๋ก์จ ์ป๋ ์ฅ๋จ์ (pros and cons)์ ๋ค์๊ณผ ๊ฐ๋ค.
1) ORM ์ฅ์
- ํน์ DBMS์ ์ข ์๋์ง ์๋๋ค.
- SQL๋ฌธ์ด ์ฝ๋์ ๋ค์ด๊ฐ์ง ์์ ๊น๋ํ ์ฝ๋๋ฅผ ์ ์งํ ์ ์๋ค.
- ORM์ด nesting๋ฐ์ดํฐ๋ฅผ ๋ฐ์ธ๋ฉํด์ค๋ค.
2) ORM ๋จ์
- RAW query์ ๋นํด performance๊ฐ ๋๋ฆฌ๋ค.
- Query tuning์ด ํ๋ค๋ค.
- ์๋น์ค๊ฐ ๋ณต์กํด ์ง์๋ก ORM์ผ๋ก ํ ์ ์๋ ์์ ์ ๋ฒ์์ ํ๊ณ๊ฐ ์๋ค.
์ถ์ฒ : http://webframeworks.kr/tutorials/expressjs/expressjs_orm_one/
๊ฐ๋ ์ ๋๋ ์ ํํ ์ดํด๋ฅผ ํ์ง๋ฅผ ๋ชปํ๊ฒ ๋ค. ์ ์ผ ์ค์ํ ๊ฒ์ SQL๋ฌธ์ด ๋ค์ด๊ฐ์ง ์๋๋ค๋ ๊ฒ๊ณผ ํน์ DBMS์ ์ข ์๋์ง ์๋๋ค๋ ์ฅ์ . ๋จ์ ์ธ ๋ฎ์ performance๋ ๋ด๊ฐ DBA๊ฐ ์๋๊ธฐ ๋๋ฌธ์ RAW query๋ก ์ง๋๋ผ๋ ๋์ ์ฑ๋ฅ์ ๋ผ๊ฑฐ๋ผ๊ณ ์๊ฐ๋์ด์ง์ง ์๊ธฐ๋๋ฌธ์ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ธฐ๋ก ๋ง์๋จน์๋ค.
SQL๋ฌธ์ ์ง์ง ์๋๋ค๊ณ ํด์ SQL์ ๊ฐ๋ ์ ์์ ๋ชจ๋ฅธ๋ค๊ฑฐ๋ ํ ์ด๋ธ ๊ตฌ์กฐ๋ฅผ ์ ํ ์๊ฐ์ง ์๊ณ Sequelize๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ฌด์๋ฏธํ๋ค. ์ผ๋จ ๋๋ ๋จ์ํ ๊ตฌ์กฐ์ ํ ์ด๋ธ๋ก๋ง ์ค์ต์ค์ด์ง๋ง ๋์ค์ ๊ท๋ชจ๊ฐ ์ปค์ง๊ฒ ๋๋ค๋ฉด ์ ์ด๋ ํ ์ด๋ธ ์ค๊ณ๋ ํ ์ค ์์์ผ ํ๋ค๊ณ ์๊ฐํ๋ค.
'Node.js > Node.js ๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
8.3 Sequelize foreignKey ์ง์ ํ๊ธฐ(cascade ์ ์ฉ) (0) | 2018.09.27 |
---|---|
8.2 Sequelize ํ๊ฒฝ settingํ๊ธฐ (0) | 2018.06.28 |
7. ํ์ผ ์ ๋ก๋ (multer ๋ชจ๋ ์ด์ฉ) (0) | 2018.05.26 |
6. express ์ฟผ๋ฆฌ์คํธ๋ง ์ฌ์ฉ (0) | 2018.04.25 |
5. ํ ํ๋ฆฟ ์์ง pug (2) | 2018.04.12 |
- Total
- Today
- Yesterday
- nestjs/cli
- sequelize
- nestjs directory
- NestJS
- ๊ธฐ์์ฒญAPI
- JavaScript
- ๋น๋๊ธฐ ์์ฒญ
- nestjs project
- docker mysql
- @nestjs/config
- android
- Request_Limit_Exceeded
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋จธ์ค
- nestjs typeorm
- typeorm
- Spring
- nestjs doc
- nestjs module
- DeferredResult
- nestjs config
- Promise bulk
- nestjs configService
- foreignkey
- Promise error
- Spring Async
- backend-framework
- node.js
- typeorm ์ฐ๊ฒฐ
- node.js backend
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |