๋ณธ๋ฌธ์œผ๋กœ ์ด๋™

CODASYL

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „.
CODASYL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ์˜ ๊ธฐ์ดˆ ๊ตฌ์กฐ๋ฅผ ์ง‘ํ•ฉ(set)์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ•˜๋‚˜์˜ ์ง‘ํ•ฉ์€ ํ•˜๋‚˜์˜ ์†Œ์œ ์ž ๋ ˆ์ฝ”๋“œ์™€ n๊ฐœ์˜ ๋ฉค๋ฒ„ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ด๋ฃจ๋ฉฐ, ์ด๋“ค์„ ์œ„์˜ ๊ทธ๋ฆผ์—์„œ๋Š” ๊ฐ๊ฐ ๋ถ€๋ชจ(parent)์™€ ์ž์‹(child)์œผ๋กœ ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์œผ๋‚˜ CODASYL์˜ ์šฉ์–ด๋Š” ์†Œ์œ ์ž์™€ ๋ฉค๋ฒ„์ด๋‹ค. ์œ„์˜ ์˜ˆ์—์„œ 1:N (์†Œ์œ ์ž:๋ฉค๋ฒ„) ๊ด€๊ณ„์˜ ๊ธฐ๋ณธ ์ง‘ํ•ฉ์ด ๋ฌ˜์‚ฌ๋˜์–ด ์žˆ๋‹ค.[1]

CODASYL(์ฝ”๋‹ค์‹ค)์€ ๋ฐ์ดํ„ฐ ์‹œ์Šคํ…œ ์–ธ์–ด ํšŒ์˜(Conference/Committee on Data Systems Languages)์˜ ์ค€๋ง์ด๋‹ค. 1959๋…„์— ์ฐฝ์„ค๋œ ์—ฐํ•ฉ์ฒด๋กœ์„œ, ์ˆ˜๋งŽ์€ ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ฐœ๋ฐœ์„ ์•ˆ๋‚ดํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋…ธ๊ณ ๋กœ ๋ง๋ฏธ์•”์•„ ์ฝ”๋ณผ ๋ฐ ๊ธฐํƒ€ ํ‘œ์ค€๋“ค์ด ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค.

CODASYL์˜ ๊ตฌ์„ฑ์›๋“ค์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ™œ๋™์— ์ฐธ์—ฌํ–ˆ๋˜ ์‚ฐ์—…๊ณผ ์ •๋ถ€ ์ถœ์‹ ์˜ ์‚ฌ๋žŒ๋“ค์ด๋‹ค. ๋ชฉ์ ์€ ๋” ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์‹œ์Šคํ…œ ๋ถ„์„, ๋””์ž์ธ, ๊ตฌํ˜„์„ ์ œ๊ณ ํ•ด๋‚˜๊ฐ€๋Š” ๋ฐ ์žˆ๋‹ค. ์ด ๋‹จ์ฒด๋Š” ์ˆ˜๋…„์— ๊ฑธ์ณ ๋‹ค์–‘ํ•œ ์‚ฌ์–‘์„ ์ถœํŒํ•˜์˜€์œผ๋ฉฐ, ๊ณต์‹ ํ‘œ์ค€ํ™”๋ฅผ ์œ„ํ•˜์—ฌ ์ด๋“ค์„ ISO, ANSI์™€ ๊ฐ™์€ ๊ณต์‹ ํ‘œ์ค€ ๊ธฐ๊ด€๋“ค์— ๋„˜๊ฒจ์ฃผ์—ˆ๋‹ค.

์—ญ์‚ฌ

[ํŽธ์ง‘]

CODASYL์€ ์ฃผ๋กœ ๋‹ค์Œ์˜ ๋‘ ๊ฐ€์ง€ ํ™œ๋™์„ ํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋œ๋‹ค:

๋˜, ์ตœ์ข… ์‚ฌ์šฉ์ž ํผ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์šด์˜ ์ฒด์ œ ์ œ์–ด ์–ธ์–ด๋ฅผ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ๊ธฐํƒ€ ์ฃผ์ œ๋“ค์—๋„ ๊ด€์—ฌํ•˜์˜€์œผ๋‚˜ ์ด๋Ÿฌํ•œ ํ”„๋กœ์ ํŠธ๋“ค์€ ์ง€์†์ ์ธ ์˜ํ–ฅ์„ ๊ฑฐ์˜ ๋ฏธ์น˜์ง€ ๋ชปํ–ˆ๋‹ค.

1965๋…„์— CODASYL์€ ๋ฆฌ์ŠคํŠธ ํ”„๋กœ์„ธ์‹ฑ ํƒœ์Šคํฌ ํฌ์Šค(List Processing Task Force)๋ฅผ ์ฐฝ์„คํ•˜์˜€๋‹ค. ์ด ๊ทธ๋ฃน์€ ๋ ˆ์ฝ”๋“œ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ฝ”๋ณผ ์–ธ์–ด ํ™•์žฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณ„ํš์„ ์„ธ์šฐ๋Š” ์ผ์„ ๋งก์•˜๋‹ค.

1969๋…„ DBTG๋Š” CODASYL ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด๋ผ ๋ถˆ๋ฆฌ๋Š” ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ์„ ์œ„ํ•œ ์ตœ์ดˆ์˜ ์–ธ์–ด ์‚ฌ์–‘์„ ์ถœํŒํ•˜์˜€๋‹ค. ์‹ค์ œ๋กœ ์ด ์‚ฌ์–‘์€ ์ผ๋ถ€ ๊ตฌ๋ณ„๋œ ์–ธ์–ด๋“ค์„ ์ •์˜ํ•˜์˜€๋‹ค: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด(DDL), ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ทฐ๋ฅผ ์ •์˜ํ•˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์„œ๋ธŒ์Šคํ‚ค๋งˆ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋‹ค๋ฅธ DDL, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋ณผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋™์‚ฌ๋ฅผ ์ •์˜ํ•˜๋Š” DML. ์ด ์ž‘์—…์ด ์ฝ”๋ณผ์— ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์žˆ์—ˆ์œผ๋‚˜ ์ฝ”๋ณผ์˜ ๋Œ€์•ˆ์œผ๋กœ IBM์ด PL/I๋ฅผ ์ง€์ง€ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋…๋ฆฝ์ ์ธ ํ˜ธ์ŠคํŠธ ์–ธ์–ด์˜ ๊ฐœ๋…์ด ๋ถ€์ƒํ•˜์˜€๋‹ค.

์ˆ˜๋งŽ์€ ์—…์ฒด๋“ค์ด DBTG ์‚ฌ์–‘์„ ์–ด๋А ์ •๋„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ œํ’ˆ๋“ค์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ํ—ˆ๋‹ˆ์›ฐ(๋ณธ๋ž˜ ์ œ๋„ˆ๋Ÿด ์ผ๋ ‰ํŠธ๋ฆญ)์˜ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ์ €์žฅ(IDS/2), ์ปฌ๋ฆฌ๋„ท์˜ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ IDMS, ICL์˜ 2900 IDMS(๋ณธ๋ž˜ ์ปฌ๋ฆฌ๋„ท์˜ ์ œํ’ˆ), ์œ ๋‹ˆ๋ฐ•์˜ DMS-1100, ๋””์ง€ํ„ธ ์ดํ…๋จผํŠธ ์ฝ”ํผ๋ ˆ์ด์…˜์˜ DBMS32๊ฐ€ ์žˆ๋‹ค.

ANSI์™€ ISP๋Š” NDL(๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด, Network Database Language)๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ CODASYL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์–‘์„ ์ฑ„ํƒํ•˜์˜€์œผ๋ฉฐ, ์ด๋Š” SQL ํ‘œ์ค€์œผ๋กœ์„œ ๋™์ผ ์›Œํฌ๊ทธ๋ฃน (X3H2)์—์„œ ๋ฐœ์ƒํ•œ ์ž‘์—…๊ณผ ํ•จ๊ป˜ ์ฑ„ํƒ๋œ ๊ฒƒ์ด๋‹ค.

CODASYL์— ๋Œ€ํ•œ ๊ด€์‹ฌ์€ 1980๋…„๋Œ€ ์ดˆ์— ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ด€์‹ฌ์ด ๋Š˜์–ด๋‚˜๋ฉด์„œ ์ ์ฐจ ์‹œ๋“คํ•ด์ง€๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ฐ์ฃผ

[ํŽธ์ง‘]

์™ธ๋ถ€ ๋งํฌ

[ํŽธ์ง‘]