๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ2

๋ž˜๋ฆฌ๋ž˜๋ฆฌ 2022. 6. 24. 17:22

#ANSI/SPARC ๊ตฌ์กฐ

ํ˜„์žฌ์˜ ๋Œ€๋ถ€๋ถ„์˜ ์ƒ์šฉ DBMS ๊ตฌํ˜„์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ผ๋ฐ˜์ ์ธ ๊ตฌ์กฐ๋Š” 

ANSI(American National Standards Institute)

SPARC(Scalable Processor ARChitecture - ํ™•์žฅํ˜• ํ”„๋กœ์„ธ์„œ ๊ตฌ์กฐ) ์ด๋‹ค

 

ANSI/SPARC ์•„ํ‚คํ…์ฒ˜์˜ 3๋‹จ๊ณ„๋Š”

์™ธ๋ถ€ ๋‹จ๊ณ„ external level : ๊ฐ ์‚ฌ์šฉ์ž์˜ ๋ทฐ

๊ฐœ๋…๋‹จ๊ณ„ conceptual level : ์‚ฌ์šฉ์ž ๊ณต๋™์ฒด์˜ ๋ทฐ

๋‚ด๋ถ€ ๋‹จ๊ณ„ internal level : ๋ฌผ๋ฆฌ์  ๋˜๋Š” ์ €์žฅ ๋ทฐ

 

-์™ธ๋ถ€ ๋‹จ๊ณ„

DB์˜ ๊ฐ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ–๋Š” ๋ทฐ

์—ฌ๋Ÿฌ ๋ถ€๋ฅ˜์˜ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ๋™์ผํ•œ ๊ฐœ๋… ๋‹จ๊ณ„๋กœ๋ถ€ํ„ฐ ๋‹ค์ˆ˜์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋ทฐ๊ฐ€ ์ œ๊ณต๋  ์ˆ˜ ์žˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์ตœ์ข… ์‚ฌ์šฉ์ž์™€ ์‘์šฉํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ DB์˜ ์ผ๋ถ€๋ถ„์—๋งŒ ๊ด€์‹ฌ์„ ๊ฐ€์ง„๋‹ค.

 

-๊ฐœ๋… ๋‹จ๊ณ„

์กฐ์ง์ฒด์˜ ์ •๋ณด ๋ชจ๋ธ๋กœ์„œ, ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌํ˜„์€ ๊ณ ๋ คํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์กฐ์ง์ฒด ์ „์ฒด์— ๊ด€ํ•œ ์Šคํ‚ค๋งˆ๋ฅผ ํฌํ•จํ•œ๋‹ค

DB์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ์–ด๋–ค ๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•˜๊ณ  ์–ด๋–ค ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด๋“ค์ด ์žˆ๋Š”๊ฐ€๋ฅผ ๊ธฐ์ˆ ํ•จ

DB์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ๊ณต๋™์ฒด์˜ ๋ทฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค

DB๋งˆ๋‹ค ์˜ค์ง ํ•œ ๊ฐœ์˜ ๊ฐœ๋… ์Šคํ‚ค๋งˆ๊ฐ€ ์กด์žฌ

 

-๋‚ด๋ถ€ ๋‹จ๊ณ„

์‹ค์ œ ๋ฌผ๋ฆฌ์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ๊ด€ํ•œ ์Šคํ‚ค๋งˆ

์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ €์žฅ๋˜์–ด ์žˆ๋Š”๊ฐ€๋ฅผ ๊ธฐ์ˆ 

์ธ๋ฑ์Šค, ํ•ด์‹ฑ ๊ณผ ๊ฐ™์€ ์ ‘๊ทผ๊ฒฝ๋กœ, ๋ฐ์ดํ„ฐ ์••์ถ• ๋“ฑ์„ ๊ธฐ์ˆ 

๊ฐœ๋… ์Šคํ‚ค๋งˆ์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์œผ๋ฉด์„œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค

 

-์Šคํ‚ค๋งˆ ๊ฐ„์˜ ์‚ฌ์ƒ

1. ์™ธ๋ถ€/๊ฐœ๋… ์‚ฌ์ƒ external/conceptual mapping

์™ธ๋ถ€ ๋‹จ๊ณ„์˜ ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•ด ์ธ๋ ฅ๋œ ์‚ฌ์šฉ์ž์˜ ์งˆ์˜๋ฅผ ๊ฐœ๋… ๋‹จ๊ณ„์˜ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•œ ์งˆ์˜๋กœ ๋ณ€ํ™˜

 

2.๊ฐœ๋…/๋‚ด๋ถ€ ์‚ฌ์ƒ conceptual/internal mapping

์ด๋ฅผ ๋‹ค์‹œ ๋‚ด๋ถ€ ๋‹จ๊ณ„์˜ ์Šคํ‚ค๋งˆ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋””์Šคํฌ์˜ DB๋ฅผ ์ ‘๊ทผ

 

-๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ

์ƒ์œ„ ๋‹จ๊ณ„์˜ ์Šคํ‚ค๋งˆ ์ •์˜์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ ์–ด๋–ค ๋‹จ๊ณ„์˜ ์Šคํ‚ค๋งˆ ์ •์˜๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค

 

๋…ผ๋ฆฌ์ ์ธ ๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ logical data independence

๊ฐœ๋… ์Šคํ‚ค๋งˆ์˜ ๋ณ€ํ™˜์œผ๋กœ๋ถ€ํ„ฐ ์™ธ๋ถ€ ์Šคํ‚ค๋งˆ๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•œ๋‹ค

๊ธฐ์กด ์™ธ๋ถ€ ์Šคํ‚ค๋งˆ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ณ  ๊ฐœ๋… ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•œ ๋ณ€ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผํ•œ๋‹ค

 

๋ฌผ๋ฆฌ์ ์ธ ๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ physical data independence

๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ์˜ ๋ณ€ํ™”๊ฐ€ ๊ฐœ๋…์  ์Šคํ‚ค๋งˆ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค

๋”ฐ๋ผ์„œ ์™ธ๋ถ€ ์Šคํ‚ค๋งˆ์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Œ์„ ์˜๋ฏธ

 

#๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ๊ตฌ์กฐ

1. ๋ฐ์ดํ„ฐ ์ •์˜์–ด ์ปดํŒŒ์ผ๋Ÿฌ ๋ชจ๋“ˆ DDL compiler ๋ชจ๋“ˆ

DDL์„ ์‚ฌ์šฉํ•ด ๋ฐ์ด๋ธ” ์ƒ์„ฑ์„ ์š”์ฒญํ•˜๋ฉด ๊ทธ ํ˜•ํƒœ๋กœ DB์— ๋งŒ๋“ค๊ณ  ์ด ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋ช…์„ธ๋ฅผ ์‹œ์Šคํ…œ ์นดํƒˆ๋กœ๊ทธ์— ์ €์žฅ

 

2.์งˆ์˜ ์ฒ˜๋ฆฌ๊ธฐ query processor ๋ชจ๋“ˆ

DML์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ตœ์ ์˜ ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š” ๋ชจ๋“ˆ์„ ํ†ตํ•ด ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋กœ ๋ฒˆ์—ญ

 

3.๋Ÿฐํƒ€์ž„ DB ๊ด€๋ฆฌ๊ธฐ ๋ชจ๋“ˆ

๋””์Šคํฌ์— ์ €์žฅ๋œ DB๋ฅผ ์ ‘๊ทผ

 

4.ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ ๋ชจ๋“ˆ

๋™์‹œ์„ฑ ์ œ์–ด 

ํšŒ๋ณต

 

#์‹œ์Šคํ…œ ์ข…๋ฅ˜

1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค API

ODBC๋Š” ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์‚ฌ๊ฐ€ ์ฃผ๋„์ ์œผ๋กœ ๊ฐœ๋ฐœํ•œ DB API

ODBC๋ฅผ ์ง€์›ํ•˜๋Š” DBMS ๊ฐ„์—๋Š” ์„œ๋กœ ์ƒ๋Œ€๋ฐฉ์˜ DB๋ฅผ ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

2.์ค‘์•™ ์ง‘์ค‘์‹ DB ์‹œ์Šคํ…œ

 

3.๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์‹œ์Šคํ…œ

๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ์‚ฌ์ดํŠธ์— DB์ž์ฒด๊ฐ€ ๋ถ„์‚ฐ๋˜์–ด ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ๋„ ์—ฌ๋Ÿฌ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์šด์˜๋œ๋‹ค.

 

4.ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ

์ž์ฒด ์ปดํ“จํŒ… ๋Šฅ๋ ฅ์„ ๊ฐ€์ง„ ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ด DB์„œ๋ฒ„๋ฅผ ์ ‘๊ทผ

DB๊ฐ€ ํ•˜๋‚˜์˜ DB์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์ด ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์— ๋ถ„์‚ฐ๋จ

์„œ๋ฒ„๋Š” DB๋ฅผ ์ €์žฅํ•˜๊ณ  DBMS๋ฅผ ์šด์˜ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ์—์„œ ์˜จ ์งˆ์˜๋ฅผ ์ตœ์ ํ™”ํ•˜๊ณ  ๊ถŒํ•œ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

 

 

- 2์ธต ๋ชจ๋ธ 2-tier model

ํด๋ผ์ด์–ธํŠธ์™€ DB์„œ๋ฒ„๊ฐ€ ์ง์ ‘ ์—ฐ๊ฒฐ๋จ

 

-3์ธต ๋ชจ๋ธ 3-tier model

ํด๋ผ์ด์–ธํŠธ์™€ DB์„œ๋ฒ„ ์‚ฌ์ด์— ์‘์šฉ ์„œ๋ฒ„๊ฐ€ ์ถ”๊ฐ€๋จ

 

-ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ์žฅ๋‹จ์ 

์žฅ์  : ๋ณด๋‹ค ๋„“์€ ์ง€์—ญ์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค / ๋‹ค์–‘ํ•œ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

๋‹จ์  : ๋ณด์•ˆ์ด ์ทจ์•ฝ

 

*์ถœ์ฒ˜

์˜ค๋ผํด ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฐ์›€ํ„ฐ (์ƒ๋Šฅ, ํ™์˜๊ฒฝ)

์˜ค๋ผํด 11g + PL/SQL ์ž…๋ฌธ (๋Œ€๋ฆผ, ์„ฑ์œค๊ฒฝ ์„œ๋™๋ฆฐ)