๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DB

DBMS์ ‘์†๊ธฐ์ˆ , ORM

by ๐Ÿ’œautumn 2020. 9. 9.

* DBMS์ ‘์†๊ธฐ์ˆ 

  : DBMS์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” API ๋˜๋Š” ๊ทธ API์˜ ์‚ฌ์šฉ์„ ๋•๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ์„ ์˜๋ฏธ

  : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋งˆ๋‹ค DBMS์— ์ ‘๊ทผํ•˜๋Š” ๊ธฐ์ˆ ์ด ๋‹ค์–‘ํ•จ

* Driver

  : DBMS์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๋ฐ ๊ฒฐ๊ณผ๊ฐ’ ์ €์žฅ ๊ธฐ๋Šฅ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ๋‹ด๊ณ ์žˆ๋Š”๊ฒƒ

  : ๊ฐ DBMS๋งˆ๋‹ค ๋‹ค๋ฅธ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉ โ‡จ ๊ฐ ๋ฒค๋”์‚ฌ ํ™ˆํŽ˜์ด์ง€์—์„œ ๋‹ค์šด๋กœ๋“œ ์ œ๊ณต

  : ๋‹ค์šด๋กœ๋“œ ํ›„ ๋นŒ๋“œ ์ž‘์—… ํ•„์ˆ˜ 

 

1. JDBC (Java DataBase Connectivity)

  : Java์–ธ์–ด๋กœ, ๋‹ค์–‘ํ•œ DBMS์— ์ ‘์† ๋ฐ SQL๋ฌธ์„ ์ˆ˜ํ–‰ํ• ๋•Œ ์‚ฌ์šฉ๋˜๋Š” API 

  : DBMS ๋“œ๋ผ์ด๋ฒ„ ํ•„์š”

  : java.sql ๋˜๋Š” javax.spl์— ํฌํ•จ

 

2. ODBC(Oracle DataBase Connectivity)

  : DB์— ์ ‘๊ทผํ•˜๊ธฐ์œ„ํ•œ ํ‘œ์ค€ ๊ฐœ๋ฐฉํ˜• API

  : ์–ธ์–ด์— ๋ฌด๊ด€ํ•˜๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ

  : DBMS์— ๋งž๋Š” ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ์ ‘์† DBMS์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ชฐ๋ผ๋„ ODBC๋ฌธ์žฅ์„ ์‚ฌ์šฉํ•ด SQL์ž‘์„ฑ์‹œ

    ODBC์— ํฌํ•จ๋œ ๋“œ๋ผ์ด๋ฒ„ ๊ด€๋ฆฌ์ž๊ฐ€ ์•Œ์•„์„œ ๋งž๊ฒŒ ์—ฐ๊ฒฐํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— DBMS์ข…๋ฅ˜๋ฅผ ๋ชฐ๋ผ๋„ ๋ฌด๊ด€!

 

3. MyBatis

  : JDBC์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” SQL Mapping ๊ธฐ๋ฐ˜ ์˜คํ”ˆ์†Œ์Šค ์ ‘์† ํ”„๋ ˆ์ž„์›Œํฌ

  : JDBC๋Š” ์ ‘์†์„ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ํ•ด์ œ โ‡จ Mybatis๋Š” ๊ฐ„์†Œํ™” ๋ฐ ์ ‘์† ๊ฐ•ํ™”

  : SQL๋ฌธ์„ ๊ฑฐ์˜ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํฐ ์žฅ์ !

  : SQL์ฟผ๋ฆฌ๋ฅผ ๋ณ„๋„์˜ XMLํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ ํ›„ Mappingํ•˜์—ฌ ์‹คํ–‰

 

 

* ORM(Objecte-Relational Mapping)

  : OOP์˜ ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜•๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐ(Mapping)ํ•˜๋Š” ๊ธฐ์ˆ 

  : ORM์€ OOP์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ƒ์˜ ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐ

  : ORM์€ SQL์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•˜์ง€์•Š๊ณ , ์„ ์–ธ๋ฌธ/ํ• ๋‹น๋“ฑ์˜ ์ฝ”๋“œ๊ฐ€ ์ƒ๋žต๋˜๋ฏ€๋กœ ์ง๊ด€์ ์ด๊ณ  ๊ฐ„๋‹จ

  : ๋‹จ, ORM์€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ผญ ์˜๋„๋Œ€๋กœ SQL์ด ์ž‘์„ฑ๋˜์—ˆ๋Š”๊ฐ€ ํ™•์ธ ํ•„์š”

    โ‡จ ๋˜ํ•œ ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์•„๋‹Œ๊ฒฝ์šฐ ์ ์šฉ์ด ์–ด๋ ค์›€

 

๋Œ“๊ธ€