๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๊ธฐ +/JDBC

(59)[oracle]1์ผ์ฐจ: โ–  JDBC(Java DataBase Connectivity) ๊ฐœ๋… โ– 

by ์ข…์ด๋นจ๋Œ€ 2023. 11. 20.
TOP

๋ชฉ์ฐจ

    1. 23.11.17(๊ธˆ)

    โ– โ– โ–  JDBC(Java DataBase Connectivity) ๊ฐœ๋… โ– โ– โ– 

     

     

    1. JDBC(Java DataBase Connectivity)๋Š” ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด DBMS์— ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก API ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ž๋ฐ” ํด๋ž˜์Šค๋“ค์˜ ๋ชจ์ž„์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.


       1) JDBC ๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ์šฉ SQL ์ธํ„ฐํŽ˜์ด์Šค
       2) JDBC ๋Š” ANSI SQL-92 ํ‘œ์ค€์„ ์ง€์›
       3) JDBC ๋Š” ๊ณตํ†ต๊ดธ SQL ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ฐ”ํƒ•
       4) JDBC ๋Š” ์ตํžˆ๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๋‹ค.

    ==>> JDBC๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋ฐ ์ž‘์—…์„ ํ•˜๊ธฐ ์œ„ํ•œ
    JAVA ์˜ ํ‘œ์ค€ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.

    2. JDBC ๊ตฌ์„ฑ

     

       1) ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ

    a. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ์„ ์š”์ฒญ
    b. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— SQL ๋ฌธ์„ ์ „์†ก
    c. SQL ๋ฌธ์˜ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ ์š”์ฒญ
    d. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์— ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ
    e. ํŠธ๋žœ์žญ์…˜์„ ์ œ์–ด
    f. ์—ฐ๊ฒฐ ์ข…๋ฃŒ

     

       2) ๋“œ๋ผ์ด๋ฒ„ ๋งค๋‹ˆ์ €

    a. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋งž๋Š” ๋“œ๋ผ์ด๋ฒ„ ๊ฒ€์ƒ‰
    b. JDBC ์ดˆ๊ธฐํ™”๋ฅผ ์œ„ํ•œ ์ž‘์—… ์ˆ˜ํ–‰

       3) ๋“œ๋ผ์ด๋ฒ„

    a. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ
    b. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— SQl ๋ฌธ์„ ์ „๋‹ฌ
    c. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ์ „๋‹ฌ
    d. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ปค์„œ๋ฅผ ์กฐ์ž‘
    e. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํŠธ๋žœ์žญ์…˜์„ ์‹œ์ž‘

       4) DBMS

    a. ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์žฅ์†Œ

    3. System Architecture


       JDBC API ๋Š” 2-tier ์™€ 3-tier ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•œ๋‹ค.

       โ€ป tier
          ์ผ๋ จ์˜ ์œ ์‚ฌํ•œ ๊ฐ์ฒด๊ฐ€ ๋‚˜์—ด๋œ ์ƒํƒœ์—์„œ ๊ณ„์ธต ๋˜๋Š” ์—ด์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
      ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ๋ถ€๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐ์ฒด์— ๋‚˜๋‰˜์–ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ
      ๊ทธ ๊ณ„์ธต ๋˜ํ•œ ๋„คํŠธ์›Œํฌ ์ƒ์˜ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

       1) 2-tier

    a. ์ž๋ฐ” ์• ํ”Œ๋ฆฟ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด JDBC ๋ฅผ ์ด์šฉํ•˜์—ฌ DBMS์— ์ง์ ‘ ์ ‘๊ทผ
    b. ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ C/S ๊ตฌ์กฐ (Client and Server)
    c. ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ„๋‹จํ•˜๋‹ค๋Š” ์žฅ์ 
    d. ๋ณด์•ˆ, ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ, ํ™•์žฅ์„ฑ(์˜ค๋ธŒ์žญํŠธ ์žฌ์‚ฌ์šฉ) ๋“ฑ์˜ ๋ฌธ์ œ์ 
    e. 2-tier ๋””์ž์ธ์ด ์ ํ•ฉํ•œ ๊ฒฝ์šฐ
       - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งŒ์„ ์‚ฌ์šฉ
       - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์ด ํ•˜๋‚˜์˜ CPU ์—์„œ ๋™์ž‘
       - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๊ณ„์† ๊ฑฐ์˜ ๊ฐ™์€ ํฌ๊ธฐ๋กœ ์œ ์ง€
       - ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜์ด ๊ฐ™์€ ํฌ๊ธฐ๋กœ ์œ ์ง€
       - ์š”๊ตฌ๊ฐ€ ํ™•์ •๋˜์–ด ๋ณ€ํ™” ๊ฐ€๋Šฅ์„ฑ์ด ๊ทนํžˆ ์ ๊ฑฐ๋‚˜ ์—†๋Š” ๊ฒฝ์šฐ
       - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ข…๋ฃŒํ•œ ํ›„์—๋„ ์ตœ์†Œํ•œ์˜ ์ง€์†์„ฑ์„ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ
    /*ํ™€๋กœ ๋งค์žฅ์—์„œ ๊ณ„์‚ฐ๊ณผ ์Œ์‹์„ ๊ฐ™์ดํ•˜๋Š” ํ˜•ํƒœ*/

       2) 3-tier

    a. ์ž๋ฐ” ์• ํ”Œ๋ฆฟ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด DBMS์— ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ
       ์ค‘๊ฐ„์— ๋ฏธ๋“ค์›จ์–ด(๋ฏธ๋“คํ‹ฐ์–ด)๋ฅผ ๊ฑฐ์ณ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผ
    b. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™ ๋ถ€๋ถ„์„ ๋ถ„๋ฆฌ์‹œํ‚ด์œผ๋กœ์จ
       Presentation Layer ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ €์žฅ ๋ฐฉ๋ฒ•์— ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
    c. ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹จ์ง€ ๋ฏธ๋“คํ‹ฐ์–ด๋ฅผ ๊ฐ•์กฐ
    d. ๋ฏธ๋“คํ‹ฐ์–ด ์„œ๋ฒ„๋Š” DBMS ์™€ ๊ฐ™์ด ํŠน์ •ํ•œ ์ž‘์—…๋งŒ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ตœ์ข… ์„œ๋ฒ„์™€
       ํ†ต์‹ ์„ ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์–ป์€ ํ›„ ์ด ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌ
       - tier 1: ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ
       - tier 2: http, ์ฝ”๋ฐ” ๋“ฑ์„ ์ง€์›ํ•˜๋Š” ์‘์šฉ ์ฒ˜๋ฆฌ ์„œ๋ฒ„
       - tier 3: DBMS์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ž๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์„œ๋ฒ„
    /*์Œ์‹, ๊ณ„์‚ฐ, ์„œ๋น™์„ ๋‚˜๋ˆ„์–ด ๊ฐ๊ฐ ๋ถ€์—ฌํ•œ ํ˜•ํƒœ*/

    /* tier๋Š” ์–ด๋–ป๊ฒŒ ์ข‹๋‹ค๊ธฐ ๋ณด๋‹ค๋Š” ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„*/

    4. JDBC Driver ์œ ํ˜•

     

       1) Type 1

       /*์ฒซ๋ฒˆ์งธ ๊ณ„์ธต์ด๋ผ ์ดํ•ดํ•˜๋ฉด X*/
          - JDBC-ODBC Driver
          - ํŠน์ง•
    ๊ฐ€. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ฆฟ์ง€ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉ
    ๋‚˜. ODBC API๋กœ์˜ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ œ๊ณตํ•˜์—ฌ
        ์‹ค์ œ๋กœ๋Š” ODBC ์˜ API๋ฅผ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๋™
    ๋‹ค. ๋ธŒ๋ฆฟ์ง€ ์†”๋ฃจ์…˜์€ ๋ณดํ†ต ํด๋ผ์ด์–ธํŠธ์— ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์„ค์น˜๋  ๊ฒƒ์„ ์š”๊ตฌ
    ๋ผ. JDBC-ODBC Driver ๋Š” ODBC ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ’๋ถ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
        ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,
        JDBC-ODBC Driver ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์—
        ์‚ฌ์ „์— ODBC Driver ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋งค์šฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    ๋งˆ. ์†๋„์™€ ๊ด€๋ จํ•œ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ
        JDBC ๋ฅผ ํ†ตํ•ด ํ˜ธ์ถœ๋œ ๋ช…๋ น์ด ๋‹ค์‹œ ODBC ๋ฅผ ํ†ตํ•ด ๋‚˜๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
        ๋‘ ๊ฐœ์˜ ๋ธŒ๋ฆฟ์ง€๋ฅผ ๊ฑฐ์น˜๋ฉฐ, ์ด๋กœ ์ธํ•ด ๋น ๋ฅธ ์†๋„๋ฅผ ๊ธฐ๋Œ€ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
        ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ์š”๊ตฌํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ์—๋Š”
        Type 1. JDBC-ODBC ๋ธŒ๋ฆฟ์ง€๋Š” ์ ๋‹นํ•˜์ง€ ์•Š๋‹ค.
    ๋ฐ”. JDBC-ODBC ๋ธŒ๋ฆฟ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์—๋Š”
        ๋ฐ˜๋“œ์‹œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œŸ๋‚˜ ODBC Driver ๊ฐ€ ์„ค์น˜๋˜์–ด์•ผ ํ•˜๋ฉฐ,
        ์ด ๋‹จ์ ์€ ์• ํ”Œ๋ฆฟ์—์„œ JDBC ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ
        ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค.
        ์• ํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ JDBC-ODBC ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ,
        ์• ํ”Œ๋ฆฟ์„ ๋‹ค์šด ๋ฐ›์€ ํด๋ผ์ด์–ธํŠธ์— ๋ฏธ๋ฆฌ ํ•ด๋‹น ODBC Driver ๊ฐ€ ์„ค์น˜๋˜์–ด
        ์žˆ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐํฌ ๋“ฑ์— ๋งŽ์€ ๋ฌด์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

        2) Type 2

           - Native-API / Partly Java Driver(์‚ฌ์šฉ ์ผ๋ถ€ ์ž๋ฐ”)
           - ํŠน์ง•
    ๊ฐ€. ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ œ์กฐ์—…์ฒด๋“ค์ด ์ œ๊ณตํ•œ C ํ˜น์€ C++ ๋ฉ”์†Œ๋“œ๋ฅผ
        ์ž๋ฐ” ์ฝ”๋“œ๊ฐ€ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹
    ๋‚˜. ๋ถ€๋ถ„์ ์œผ๋กœ ์ž๋ฐ” ๋“œ๋ผ์ด๋ฒ„์ธ ์›์‹œ API ๋ผ๊ณ  ์ผ์ปฌ์–ด์ง
    ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐ๋˜๋Š” ๋ถ€๋ถ„์ด Native Code ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ๋งŒํผ
    JDBC-ODBC ๋ธŒ๋ฆฟ์ง€์— ๋น„ํ•ด ๋น ๋ฅธ ์†๋„๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
    ๋ผ. JDBC Driver ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐ๊ฐ์˜ ํด๋ผ์ด์–ธํŠธ์—
        DBMS Vender ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋กœ๋“œ๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
        ์ธํ„ฐ๋„ท์ด๋‚˜ CS ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.
        ๋˜ํ•œ Type 3, 4 ๋“œ๋ผ์ด๋ฒ„์— ๋น„ํ•ด ๋‚ฎ์€ ์„ฑ๋Šฅ

        3) Type 3

    - Net-Protocal / All-Java Driver(์ˆœ์ˆ˜ ์ž๋ฐ”)
    - ํด๋ผ์ด์–ธํŠธ์—์„œ ์ผ๋ฐ˜์ ์ธ Network API ๋ฅผ ์ด์šฉํ•ด ๋ณด๋‚ธ ์ •๋ณด๋ฅผ
      ์„œ๋ฒ„๊ฐ€ Database ์— ๋…์ ์  ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ์‹
    - ํŠน์ง•
      ๊ฐ€. ํด๋ผ์ด์–ธํŠธ์— ์กด์žฌํ•˜๋Š” JDBC Driver ๋Š” ์†Œ๊ฒŸ์„ ์‚ฌ์šฉํ•˜์—ฌ
          ์„œ๋ฒ„์— ์กด์žฌํ•˜๋Š” ๋ฏธ๋“ค์›จ์–ด(Middleware) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์—ฐ๊ฒฐ
      ๋‚˜. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š”
          ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋…์ ์ ์€ API๋กœ ์ „ํ™˜
      ๋‹ค. ํ•˜๋‚˜์˜ ๋“œ๋ผ์ด๋ฒ„๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๋™
      ๋ผ. ํด๋ผ์ด์–ธํŠธ์— ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†์Œ 

        4) Type 4

    - Native-Protocal / All-Java Driver(์ˆœ์ˆ˜ ์ž๋ฐ”)
    - Database Engine ์— ์‚ฌ์šฉ๋˜๋Š” Network Protocol ์„
      Java Socket ์œผ๋กœ ์ง์ ‘ Database ์— ๊ต์‹ ํ•˜๋Š” ๋ฐฉ์‹
    - ํŠน์ง•
    ๊ฐ€. ๊ฐ€์žฅ ์ง์ ‘์ ์ธ ์ˆœ์ˆ˜ ์ž๋ฐ” ์†”๋ฃจ์…˜
    ๋‚˜. ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ œ์กฐ์—…์ฒด๊ฐ€ ์ œ๊ณตํ•œ๋‹ค.
    ๋‹ค. DOBC ๋‚˜ NativeLib ํ˜•ํƒœ๋กœ request ๋ฅผ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—
        Performance ๊ฐ€ ๋งค์šฐ ์ข‹๋‹ค.
        ๋˜ํ•œ, ํŠน๋ณ„ํ•˜๊ฒŒ Driver ๋‚˜ Lib, Middleware ๋“ฑ์„
        ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐํฌ ๋“ฑ์ด ๋งค์šฐ ์šฉ์ดํ•˜๋‹ค.

    5. Oracle JDBC Driver

     

        1) Type 4

    /*์šฐ๋ฆฌ๊ฐ€์“ฐ๊ฒŒ๋  ๋“œ๋ผ์ด๋ฒ„*/
           ์˜ค๋ผํด <Thin Driver> ๋ผ๊ณ  ๋ถˆ๋ฆฌ์šด๋‹ค.

           ์ž๋ฐ”๋กœ ์ž‘์„ฑ๋œ Net8 ์˜ TCP/IP ๋ฒ„์ „์˜ ์ž์ฒด์ ์ธ ์‹คํ–‰์„ ํฌํ•จํ•˜๋ฉฐ
           ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ด๊ณ  ์‹คํ–‰ ์‹œ๊ฐ„์— ๋ธŒ๋ผ์šด์ €๋กœ ๋‹ค์šด๋กœ๋“œ ๋œ๋‹ค.
           ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„ ์ธก์€ TCP/IP Lisener ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ,
           ์—ฐ๊ฒฐ ์ŠคํŠธ๋ง์€ TNSNAMES ์—”ํŠธ๋ฆฌ๊ฐ€ ์•„๋‹Œ TCP/IP ์ฃผ์†Œ์™€ ํฌํŠธ๋ฒˆํ˜ธ์ด๋‹ค.

           URL Format -> jdbc:oracle:thin:@[host]:[port]:[database]

    6. JDBC API


       JDBC API ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณต๋˜๋Š”
       ํ‘œ์ค€ ์ž๋ฐ” API ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ
       ๋‹ค์Œ์˜ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

       - Java ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ์ ‘์†
       - SQl๋ฌธ์„ ๊ตฌ์„ฑ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์—์„œ ์‹คํ–‰
       - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ ๊ฐ€์ ธ์˜ค๊ธฐ
       - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ •๋ณด, ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์ •๋ณด ๋“ฑ์„ ๊ฐ€์ ธ์˜ค๊ธฐ

       โ€ป ใ€Žjava.sql.*ใ€ ํŒจํ‚ค์ง€
       - JAVA Application ์œผ๋กœ ๋ถ€ํ„ฐ Database ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” API ๋Š”
         JDK ์˜ ์ฝ”์–ด(core) API๋กœ java.sql ํŒจํ‚ค์ง€์— ์„ค์ •๋˜์–ด ์žˆ๋‹ค.
       - JDBC ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด
         ํ•œ๊ฐœ์˜ ํด๋ž˜์Šค(java.sql.DriverManager)์™€
         ๋‘ ๊ฐœ์˜ ์ธํ„ฐํŽ˜์ด์Šค(java.sql.Driver ์™€ java.sql.Connection)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


    ** ์„ค๋ช… **


    -์ž๋ฐ”: ๋ณด์˜จ๋ณ‘
    -์˜ค๋ผํด: ๋ณด์˜จ๋ณ‘ ์ผ€์ด์Šค
    -jdbc๋Š” ๋‘๊ฐœ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ผ€์ด๋ธ”

    - ์ผ€์ด๋ธ”๋„ ํ•œ์ชฝ์€ C ํƒ€์ž…, ๋ฐ˜๋Œ€ํŽธ์€ usb ๋“ฑ...
    ์ด๋Ÿฐ๊ฑธ๋กœ jdbc ์œ ํ˜•์ด ๋‚˜๋‰จ

    ๋ฒค๋”๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ œ๊ณตํ•˜๋Š”๊ฒƒ
    - ์‚ฌํšŒ์  ์ธ์ง€๋„๊ฐ€ ๋‚ฎ์€ ํšŒ์‚ฌ: ์šฐ๋ฆฌ ํšŒ์‚ฌ์˜ ๋””๋ฐ”์ด์Šค์— ์‚ผ์„ฑ ๋””๋ฐ”์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•จ
    - ์‚ฌํšŒ์  ์ธ์ง€๋„๊ฐ€ ๋†’์€ ํšŒ์‚ฌ: ์—ฐ๊ฒฐํ–ˆ์„ ๋•Œ ์‚ผ์„ฑ ๋””๋ฐ”์ด์Šค๊ฐ€ ์ข‹์•„์งˆ๋•Œ
    ๋กœ ๋‚˜๋‰œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ

    ๊ณผ๊ฑฐ: ์˜ค๋ผํดํ•˜๊ณ  ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ jdbc๋ฅผ ์˜ˆ์ „์—๋Š” ์ง์ ‘ ๋งŒ๋“ค์—ˆ์Œ
    ํ˜„์žฌ: (์ผ๋ถ€ ๋งŒ๋“ค์–ด์„œ ์“ธ ์ˆ˜ ๋„ ์žˆ์ง€๋งŒ)

    ์‹ค๋ฌด์—์„œ type1,2,3 ์•ˆ์“ฐ์ž„