๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ์งํ๋ ์ ์์ผ๋ฉฐ, ํด๋น ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฝ๊ณ ์ฐ๋ COBOL ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ณํํ์ฌ ๋ฐ์ ํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์ ์ฝ ์กฐ๊ฑด์ด VSAM ํ๋ํ์ ํต์ฌ ๊ณผ์ ์ ๋๋ค. VSAM(๊ฐ์ ์คํ ๋ฆฌ์ง ์ก์ธ์ค ๋ฐฉ์)์ ๋จ์ํ ํ์ผ ํ์์ด ์๋๋๋ค. VSAM์ ํ๋ก๊ทธ๋จ ๊ฐ์ ๋ฐ์ดํฐ ๊ณ์ฝ์ด์, FD ํญ๋ชฉ๊ณผ SELECT ์ ์ธ์๋ ์ด๋์๋ ๋ช ์์ ์ผ๋ก ์ ์๋์ง ์์ ์๋ฌต์ ์ธ ์ฌ์์ผ๋ก, ๊ธฐ์ ์์คํ ๋ด ๋ชจ๋ ํ๋ก๊ทธ๋จ์ด ๊ฐ์ฅ ์ค์ํ ๋น์ฆ๋์ค ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ณ ์๋นํ๋ ๋ฐฉ์์ ๊ท์ ํฉ๋๋ค. ๋ ์ฝ๋ ๋ ์ด์์์ด ๋จ ํ๋๋ผ๋ ๋ณ๊ฒฝ๋์๋๋ฐ ํด๋น ๋ ์ฝ๋๋ฅผ ์ฝ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๋ฐ์๋์ง ์์ผ๋ฉด ๋ฐ์ดํฐ ์์์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ด๋ฌํ ์์์ ๊ท์ ๊ธฐ๊ด ๋ณด๊ณ ์๊ฐ ์คํ๋ ๋๊น์ง ๋๋ฌ๋์ง ์์ ์ ์์ต๋๋ค. ๋ณด๊ณ ์์์ ํด๋น ๋ฐ์ดํฐ๊ฐ ์๋น ํ๋ก๊ทธ๋จ์ด ์์ํ๋ ์๋ฏธ์ ๋ค๋ฅด๊ฒ ํด์๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
VSAM ๋ฐ์ดํฐ ํ๋ํ์ ์ฑ๊ณตํ๋ ์กฐ์ง์ ๋ชฉํ ์คํค๋ง๋ถํฐ ์์ํ๋ ์กฐ์ง์ด ์๋๋๋ค. VSAM ํ์ผ์ ๋ด์ฉ, ๊ตฌ์กฐ, ์ ๊ทผ ๋ฐฉ์, ์์ฐ์์ ์๋น์ ๊ฐ์ ์๋ฌต์ ์ธ ๊ณ์ฝ ๋ฑ VSAM ํ์ผ์ ๋ํ ์๋ฒฝํ๊ณ ์ฆ๊ฑฐ ๊ธฐ๋ฐ์ ์ดํด๋ฅผ ๋ฐํ์ผ๋ก ์์ํ๋ ์กฐ์ง์ ๋๋ค. ์ด๋ฌํ ์ดํด, ์ฆ VSAM ํ์ผ ๊ตฌ์กฐ ๋ถ์์ ์ดํ์ ๋ชจ๋ ๊ฒฐ์ , ์ฆ ์ด๋ค VSAM ๋ฐ์ดํฐ์ ์ ๊ด๊ณํ ํ ์ด๋ธ์ ๋งคํํ ์ง, ์ด๋ค ๋ฐ์ดํฐ์ ์ ๋ค๋ฅธ ๋ชฉํ ์ํคํ ์ฒ๊ฐ ํ์ํ์ง, ์ด๋ค ๋ ์ฝ๋ ๋ ์ด์์์ ์ ํ์ฑ์ ์ ์งํ๋ฉด์ ๋ฐ์ดํฐ ์ ํ์ ๋ณํํด์ผ ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๊ณต์ ๋ฐ์ดํฐ์ ์ ๊ฐ๋ณ์ ์ผ๋ก๊ฐ ์๋ ํ๋์ ํตํฉ๋ ๋จ์๋ก ๋ง์ด๊ทธ๋ ์ด์ ํด์ผ ํ๋์ง ๋ฑ์ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๋ฐ ํ์์ ์ธ ์ ์ ์กฐ๊ฑด์ ๋๋ค.
๊ณต์ ๋ฐ์ดํฐ ์ธํธ๋ ์ฒด๊ณ์ ์ธ ๋ง์ด๊ทธ๋ ์ด์ ์ด ํ์ํฉ๋๋ค.
SMART TS XL ๋์ ์คํค๋ง ์ค๊ณ์ ํ์ํ ๋ชจ๋ ๋ ์ฝ๋ ๋ ์ด์์ ์ธ๋ถ ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์ถ์ถํฉ๋๋ค.
์์ธํ ์์๋ณด์ธ์โฆVSAM ๊ธฐ๊ด ๋ค ๊ณณ๊ณผ ๊ฐ ๊ธฐ๊ด์ ์๊ตฌ ์ฌํญ
VSAM ๋ฐ์ดํฐ์ ์ ๋ค ๊ฐ์ง ์ ํ์ผ๋ก ๋ถ๋ฅ๋ฉ๋๋ค. ๊ฐ ์ ํ์ ๊ตฌ์กฐ์ ํน์ฑ, ์ผ๋ฐ์ ์ธ ์ ๊ทผ ํจํด, ๊ทธ๋ฆฌ๊ณ ์ต์ ๋์ ์ํคํ ์ฒ์์ ์์ฐ์ค๋ฌ์ด ๋งคํ ๋ฐฉ์์ด ์๋ก ๋ค๋ฆ ๋๋ค. ๋ชจ๋ VSAM ๋ฐ์ดํฐ์ ์ ๋์ผํ๊ฒ ์ทจ๊ธํ์ฌ ๊ด๊ณํ ํ ์ด๋ธ๋ก ์ผ๊ด ๋ณํํ๋ฉด, ์ผ๋ถ ๋ฐ์ดํฐ์ ์์๋ ์ ๋๋ก ์๋ํ์ง๋ง ๋ค๋ฅธ ๋ฐ์ดํฐ์ ์์๋ ์ฑ๋ฅ์ด ์ ํ๋๊ฑฐ๋ ๊ธฐ๋ฅ์ ์ผ๋ก ์คํจํ๋ ๋์์ด ์์ฑ๋ฉ๋๋ค.
KSDS(Key-Sequenced Data Set) ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ VSAM(Virtual Storage Asset Management) ๊ตฌ์ฑ ๋ฐฉ์์ ๋๋ค. ๋ ์ฝ๋๋ ๊ธฐ๋ณธ ํค(ํ๋ผ์ ํค)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ๋ ฌ๋์ด ์์ด ํค๋ฅผ ์ด์ฉํ ์ง์ ์ ๊ทผ๊ณผ ํค ์์๋๋ก์ ์์ฐจ์ ์ ๊ทผ์ด ๋ชจ๋ ๊ฐ๋ฅํฉ๋๋ค. KSDS ํ์ผ์ ์ ํ์ ์ผ๋ก ๋์ฒด ์ธ๋ฑ์ค, ์ฆ ๋ณด์กฐ ํค ๊ฒฝ๋ก๋ฅผ ํตํด ๊ธฐ๋ณธ ํค ์ด์ธ์ ํ๋๋ก๋ ๊ฒ์ํ ์ ์์ต๋๋ค. KSDS์ ๊ฐ์ฅ ์ด์์ ์ธ ๋์์ ๊ด๊ณํ ํ ์ด๋ธ์ด๋ฉฐ, ์ด ๊ฒฝ์ฐ ๊ธฐ๋ณธ ํค๋ ๊ธฐ๋ณธ ํค๊ฐ ๋๊ณ ๋์ฒด ์ธ๋ฑ์ค๋ SQL ์ธ๋ฑ์ค๊ฐ ๋ฉ๋๋ค.
ESDS(Entry-Sequenced Data Set)๋ ๋ ์ฝ๋๋ฅผ ๊ธฐ๋ก๋ ์์๋๋ก ์ ์ฅํฉ๋๋ค. ํค๊ฐ ์์ผ๋ฉฐ, ๋ ์ฝ๋๋ ๋ฌผ๋ฆฌ์ ๋ฐ์ดํธ ์คํ์ (RBA: ์๋ ๋ฐ์ดํธ ์ฃผ์)์ผ๋ก ์ฃผ์๊ฐ ์ง์ ๋ฉ๋๋ค. ESDS ํ์ผ์ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฌ ์ถ์ , ๊ฑฐ๋ ๊ธฐ๋ก, ์ด๋ฒคํธ ์คํธ๋ฆผ๊ณผ ๊ฐ์ ๋ก๊ทธ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ESDS๋ ์๋น ํ๋ก๊ทธ๋จ์ด ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๋ฐฉ์์ ๋ฐ๋ผ ์ถ๊ฐ ์ ์ฉ ๊ด๊ณํ ํ ์ด๋ธ, ์ด๋ฒคํธ ์คํธ๋ฆผ(Kafka ํ ํฝ) ๋๋ ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ๋ค์ํ ์ฉ๋๋ก ํ์ฉ๋ ์ ์์ต๋๋ค.
RRDS(Relative Record Data Set)๋ ์๋ ๋ ์ฝ๋ ๋ฒํธ๋ก ์ฃผ์๊ฐ ์ง์ ๋ ๊ณ ์ ๊ธธ์ด ๋ ์ฝ๋๋ฅผ ์ ์ฅํฉ๋๋ค. ํ์ผ์ ๊ฐ ์ฌ๋กฏ์ ๋ ์ฝ๋ ๋ฒํธ์ ํด๋นํ๋ฉฐ, ์ฌ๋กฏ์ ๋น์ด ์๊ฑฐ๋ ์ญ์ ๋ ์ ์์ต๋๋ค. RRDS ํ์ผ์ ๋ ์ฝ๋ ๋ฒํธ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฏธ ์๋ ์ง์ ์ก์ธ์ค ์๋๋ฆฌ์ค์ ์ฌ์ฉ๋๋ฉฐ, ๊ฐ๋จํ ์กฐํ ํ ์ด๋ธ์ด๋ ํด์ ๊ธฐ๋ฐ ์ ์ฅ์๋ก ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ์ดํฐ ์ธํธ๊ฐ ์๊ณ ์์ฃผ ์ก์ธ์ค๋๋ ๊ฒฝ์ฐ, RRDS ํ์ผ์ ์ฌ์ฉํ๋ ์ผ๋ฐ์ ์ธ ๋์์ ์ซ์ ์ํ์ค ์๋ณ์๋ฅผ ๊ฐ์ง ๊ด๊ณํ ํ ์ด๋ธ ๋๋ ๋ฉ๋ชจ๋ฆฌ ๋ด ์กฐํ ๊ตฌ์กฐ์ ๋๋ค.
LDS(Linear Data Set) ๋ VSAM์์ ๋ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ ์๋ ๋ฐ์ดํธ ๋จ์ ์ฃผ์ ์ง์ ๋ฐฉ์์ ์ ์ฅ์์ ๋๋ค. ์ด๋ VSAM ๋ฐ์ดํธ ๋ฒ์ ๋ด์์ ์์ฒด์ ์ธ ๋ด๋ถ ํ์์ ๊ด๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ (์ผ๋ฐ์ ์ผ๋ก DB2, Java ์ํฌ๋ก๋ ๋๋ ์ฌ์ฉ์ ์ ์ ํ๋ก๊ทธ๋จ)์์ ์ฌ์ฉ๋ฉ๋๋ค. LDS ํ์ผ์ ํ์ค COBOL ํจ์ ์ข ์์ฑ ํญ๋ชฉ์ ํตํด ๋ถ์ํ ์ ์์ผ๋ฉฐ, ํด๋น ๊ตฌ์กฐ๋ ํ์ผ์ ๊ธฐ๋กํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์๋ง ์กด์ฌํฉ๋๋ค.
๊ฐ ๋ฐ์ดํฐ ์ธํธ์ ๋ํ ๋ถ์ ๊ฒฐ๊ณผ์๋ ์ฌ์ฉ๋ ์กฐ์ง์ ๋ช ์ํด์ผ ํฉ๋๋ค. ์กฐ์ง์ ๋์ ์ํคํ ์ฒ, ์ก์ธ์ค ํจํด, ๊ตฌ์กฐ ์ดํด์ ํ์ํ ํน์ ๋ถ์ ๋ฑ ๋ชจ๋ ํ์ ์์ ์ ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ ์ฝ๋ ๋ ์ด์์ ๋ถ์ ๋ฌธ์
VSAM ๊ตฌ์กฐ ๋ถ์์์ ๊ฐ์ฅ ๋ถ์์ ์ผ๋ก ๋ณต์กํ ๋ถ๋ถ์ ๋ ์ฝ๋ ๋ ์ด์์์ ๋๋ค. ๋ชจ๋ ์ด์ ์ ์๋ ์ ํ, ์ด๋ฆ, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ์ํด ์ ์ฉ๋๋ ์ ์ฝ ์กฐ๊ฑด์ด ์๋ ๊ด๊ณํ ์คํค๋ง์ ๋ฌ๋ฆฌ, VSAM ๋ ์ฝ๋๋ ์์ฒด์ ์ผ๋ก ๊ตฌ์กฐ๋ฅผ ์ค๋ช ํ์ง ์์ต๋๋ค. ๋ ์ด์์์ ์ ์ ์ผ๋ก COBOL ํจ์ ์ข ์์ฑ(FD) ํญ๋ชฉ์ ์กด์ฌํ๋ฉฐ, FD ํญ๋ชฉ์ ๊ฑฐ์ ๋จ์ํ์ง ์์ต๋๋ค.
FD ํญ๋ชฉ ๋ฐ COPY ํ์
VSAM ๋ฐ์ดํฐ์ ์ ๋ ์ฝ๋ ๊ตฌ์กฐ๋ COBOL DATA DIVISION์ FILE DESCRIPTION(FD) ํญ๋ชฉ์ ์ ์๋์ด ์์ต๋๋ค. ์ ๊ด๋ฆฌ๋ ์ฝ๋๋ฒ ์ด์ค์์๋ FD ํญ๋ชฉ์ด COPY ๋ฉค๋ฒ๋ฅผ ์ฐธ์กฐํ๋๋ฐ, ์ด ๋ฉค๋ฒ๋ ๋ ์ฝ๋ ๋ ์ด์์์ ์ ์ํ๋ ๊ณต์ ๋ณต์ฌ๋ณธ์ผ๋ก, ๋ฐ์ดํฐ์ ์ ์ ๊ทผํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์์ ํฌํจ๋ฉ๋๋ค.
์ฝ๋ณผ
FILE SECTION.
FD CUSTOMER-FILE
LABEL RECORDS ARE STANDARD
RECORD CONTAINS 250 CHARACTERS.
01 CUSTOMER-RECORD.
COPY CUSTMSTR.
COPY ๋ฉค๋ฒ CUSTMSTR ์ค์ ํ๋ ๋ ์ด์์์ ์ ์ํฉ๋๋ค. 47๊ฐ์ ํ๋ก๊ทธ๋จ์ด ํฌํจ๋ ๊ฒฝ์ฐ CUSTMSTR๊ทธ๋ฌ๋ฉด 47๊ฐ์ ํ๋ก๊ทธ๋จ์ด ํด๋น ํ๋ก๊ทธ๋จ์ด ์ ์ํ ๋ ์ฝ๋ ๋ ์ด์์์ ๋ํ ์์กด์ฑ์ ๊ณต์ ํฉ๋๋ค. ํ๋ ์ด๋ฆ ๋ณ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. CUSTMSTR 47๊ฐ ํญ๋ชฉ ๋ชจ๋์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ์ ์ ์ฉ๋ ์นดํผ๋ถ ๊ฒฐํฉ ๋ฌธ์ ์
๋๋ค. VSAM ๋ ์ฝ๋ ๋ ์ด์์์ ๊ณต์ ์ข
์์ฑ์ด๋ฏ๋ก ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ์กฐ์ ์ ๊ฑฐ์น์ง ์๊ณ ๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋ง์ด๊ทธ๋ ์ด์ ๋ถ์์ ์ํด์๋ ๋ชจ๋ ํจ์ ์ข ์์ฑ(FD) ํญ๋ชฉ์ ํด๋น ์นดํผ๋ถ์ผ๋ก ์ถ์ ํด์ผ ํ๋ฉฐ, ๋ชจ๋ ์นดํผ๋ถ์ ํฌํจํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๋งคํํด์ผ ํฉ๋๋ค. ๊ณต์ ๋ ์ด์์ ์ข ์์ฑ ๊ทธ๋ํ๋ ๋ง์ด๊ทธ๋ ์ด์ ๋ฒ์๋ฅผ ์ดํดํ๋ ๋ฐ ๊ธฐ๋ฐ์ด ๋ฉ๋๋ค.
์ฌ์ ์: ์ฌ๋ฌ ๋ ์ด์์, ํ๋์ ๋ ์ฝ๋
The REDEFINES VSAM ๋ ์ฝ๋ ๋ถ์์ด ์ง์ ์ผ๋ก ๋ณต์กํด์ง๋ ๋ถ๋ถ์ ๋ฐ๋ก REDEFINES ์ ์
๋๋ค. REDEFINES ์ ์ ์ฌ์ฉํ๋ฉด ๋์ผํ ๋ฌผ๋ฆฌ์ ์ ์ฅ์์ ๋ํด ์๋ก ๋ค๋ฅธ ํ๋ ํด์์ด ์ ์ฉ๋ ์ ์์ต๋๋ค. ํธ๋์ญ์
์ ํ ์ฝ๋๋ฅผ ํฌํจํ๋ VSAM ๋ ์ฝ๋๋ ํด๋น ์ฝ๋์ ๋ฐ๋ผ ๋๋จธ์ง ๋ฐ์ดํธ๋ฅผ ๋ค๋ฅด๊ฒ ํด์ํ๊ธฐ ์ํด REDEFINES ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฝ๋ณผ
01 TRANSACTION-RECORD.
05 TXN-TYPE PIC X(2).
05 TXN-COMMON-DATA PIC X(48).
05 TXN-DETAIL REDEFINES TXN-COMMON-DATA.
10 TXN-PAYMENT.
15 PAY-AMOUNT PIC S9(11)V99 COMP-3.
15 PAY-CURRENCY PIC X(3).
15 PAY-METHOD PIC X(2).
15 FILLER PIC X(28).
05 TXN-WITHDRAWAL REDEFINES TXN-COMMON-DATA.
10 WDR-AMOUNT PIC S9(11)V99 COMP-3.
10 WDR-ACCOUNT PIC 9(12).
10 WDR-BRANCH PIC 9(5).
10 FILLER PIC X(18).
์ด ์๋ฐ์ ๋ ์ด์์์ด ํ๋๊ฐ ์๋๋ผ ์ธ ๊ฐ์ง์ด๋ฉฐ, ์ํฉ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. TXN-TYPE๋์ ๊ด๊ณํ ์คํค๋ง์์ ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ๋คํ์ฑ ํ
์ด๋ธ ์ค๊ณ(๊ฐ ๋ณํ์ ๋ํด null ํ์ฉ ์ด์ ๊ฐ์ง ๋จ์ผ ๋๋น ํ
์ด๋ธ), ์ ๊ทํ๋ ์ค๊ณ(๋ถ๋ชจ ํ๊ณผ ์ ํ๋ณ ์์ ํ), ๋๋ ๋ณํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ JSON ์ด ์ค ํ๋๋ฅผ ํ์๋ก ํฉ๋๋ค. ์ด๋ฌํ ๊ฒฐ์ ์ ๋ฌด์์ ๋ถ์ํ์ง ์๊ณ ๋ ๋ด๋ฆด ์ ์์ต๋๋ค. TXN-TYPE ๋ฐ์ดํฐ์ ์กด์ฌํ๋ ๊ฐ๊ณผ ์ค์ ๋ก ์ฌ์ฉ๋๋ REDEFINES ๋ณํ์ด ์์ต๋๋ค.
์์ ํ ๋ ์ฝ๋ ๋ ์ด์์ ๋ถ์์๋ ๋ค์ ์ฌํญ์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค.
- ๋ชจ๋ FD ํญ๋ชฉ์์ ๋ชจ๋ REDEFINES ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์๋ณํฉ๋๋ค.
- ์ด๋ค ์กฐ๊ฑด์์ ์ด๋ค REDEFINES ๋ณํ์ด ํ์ฑํ๋๋์ง ํ๋จํฉ๋๋ค(๋จ์ ํจ์ ์ ์ ๋ถ์์ด ์๋ ํ๋ก๊ทธ๋จ ๋ ผ๋ฆฌ ๋ถ์์ด ํ์ํฉ๋๋ค).
- ๊ฐ ๋ณํ์ ๋ํ ํ๋ ์ ํ, ๊ธธ์ด ๋ฐ ํฉํฐ๋ ์ญ์ง์ ์ ๋ฐ๋๋ฅผ ๋ฌธ์ํํ์ญ์์ค.
- ๋์ ์คํค๋ง์ ์ ํฉํ ์ ๊ทํ ์ ๋ต์ ์ถ์ฒํ์ญ์์ค.
COMP-3 ๋ฐ ์์น ์ ๋ฐ๋
์ฝ๋ณผ์ PIC S9(11)V99 COMP-3 ํฉํ ์ญ์ง์(packed decimal)๋ SQL ํ์ค ๋ฐ์ดํฐ ํ์์๋ ์ง์ ์ ์ผ๋ก ๋์ํ๋ ํ์์ด ์๋ ํน์ ํ ์ ๋ฐ๋ ๋ฐ ์ค์ผ์ผ ํน์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. V ์์์ ์ด ์์์ ์ผ๋ก ํ์๋์ด ์๋ ๊ฒฝ์ฐ, ๊ฐ์ ์์์ ์ดํ ๋ ์๋ฆฌ๊น์ง ํ์๋๋ ์ ์๋ก ์ ์ฅ๋ฉ๋๋ค. COMP-3 ๋ฐ์ดํธ๋น ๋ ์๋ฆฌ ์ญ์ง์๋ฅผ ์ ์ฅํ๋ฉฐ, ๋ง์ง๋ง ๋ฐ ๋ฐ์ดํธ์๋ ๋ถํธ๊ฐ ์ ์ฅ๋ฉ๋๋ค.
์ด ํ๋๋ฅผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ ๋ ์ฌ๋ฐ๋ฅธ SQL ๋์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. DECIMAL(13, 2)๊ฐ ์๋ FLOAT์ด๋ ๋ฐ์ฌ๋ฆผ ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ ๊ฒ์ด๋ฉฐ, ๊ทธ๋ ์ง ์์ ๊ฒ์ด๋ค. INTEGER์ด๋ ์์์ ์ดํ ์๋ฆฟ์๋ฅผ ์๊ฒ ๋ง๋ญ๋๋ค. COMP-3 ํ๋์ ๊ธ์ก์ด ์ ์ฅ๋๋ ๊ธ์ต ์์คํ
์ ๊ฒฝ์ฐ, ์ ๋ฐ๋ ์๊ตฌ ์ฌํญ์ ํ์์ ์
๋๋ค. ์ด๋ฅผ ๋ณํํ๋ ๋ง์ด๊ทธ๋ ์ด์
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. PIC S9(11)V99 COMP-3 ๋์ ์คํค๋ง์ ๋ถ๋ ์์์ ์ ํ์ผ๋ก ๋ณํํ๋ฉด ๋ฐฐ์น ์คํ ์ ๋ฐ์ ๊ฑธ์ณ ๋์ ๋๋ ๋ฐ์ฌ๋ฆผ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ๊ท์ ๋ณด๊ณ ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
๋์ ์คํค๋ง ์ค๊ณ๊ฐ ์์๋๊ธฐ ์ ์ ๋ชจ๋ ํจ์ ์ข ์์ฑ(FD) ํญ๋ชฉ์ ๋ชจ๋ COMP-3 ํ๋๋ ์ ํํ ์ ๋ฐ๋, ์ฒ๋ ๋ฐ ๋ถํธ ๊ท์น๊ณผ ํจ๊ป ๋ฌธ์ํ๋์ด์ผ ํฉ๋๋ค.
COBOL ์์ค ์ฝ๋์์ VSAM ์ก์ธ์ค ํจํด ๋ถ์
ํ์ผ ๋์คํฌ๋ฆฝํฐ(FD) ํญ๋ชฉ์ ๋ ์ฝ๋์ ํฌํจ๋ ๋ด์ฉ์ ์ค๋ช ํฉ๋๋ค. COBOL ํ๋ก์์ ๋๋น์ (COBOL PROCEDURE DIVISION)์ ํ๋ก๊ทธ๋จ์ด ํด๋น ๋ ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์ค๋ช ํฉ๋๋ค. ์์ ํ ๊ตฌ์กฐ ๋ถ์์ ์ํด์๋ ์ด ๋ ๊ฐ์ง ๋ชจ๋ ํ์ํฉ๋๋ค. ์ ๊ทผ ํจํด ๋ถ์์ ๋ฐ์ดํฐ์ ์ ์ ๊ทผํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ํ์ผ ์ ๊ทผ ๋์ฌ๋ฅผ ๊ฒ์ฌํฉ๋๋ค.
SELECT ์ : ์ฒซ ๋ฒ์งธ ์ ํธ
ENVIRONMENT DIVISION ์ ์ SELECT ์ ์ COBOL ํ๋ก๊ทธ๋จ์ด VSAM ํ์ผ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ง์ ํฉ๋๋ค.
์ฝ๋ณผ
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT CUSTOMER-FILE
ASSIGN TO CUSTFILE
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS CUST-PRIME-KEY
ALTERNATE RECORD KEY IS CUST-ALT-KEY
WITH DUPLICATES
FILE STATUS IS WS-CUST-STATUS.
์ด SELECT ์ ์ ๋ค์์ ๋ณด์ฌ์ค๋๋ค.
ORGANIZATION IS INDEXEDโ KSDSACCESS MODE IS DYNAMICโ ํ๋ก๊ทธ๋จ์ ์์ฐจ ์ ๊ทผ๊ณผ ์์ ์ ๊ทผ์ ๋ชจ๋ ์ฌ์ฉํฉ๋๋ค.ALTERNATE RECORD KEY IS CUST-ALT-KEY WITH DUPLICATESโ ๋์ฒด ์ธ๋ฑ์ค๊ฐ ์กด์ฌํ๋ฉฐ ์ด ํ๋ก๊ทธ๋จ์ ํด๋น ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋์ ์ ๊ทผ ๋ชจ๋๋ ํนํ ์ค์ํฉ๋๋ค. ๋์ ๋ชจ๋๋ก KSDS์ ์ ๊ทผํ๋ ํ๋ก๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. READ ์ง์ ์ ๊ทผ์ ์ํ ์ด์ ์ ํจ๊ป READ NEXT ์ง์ ๋ ์์น์์ ์์ฐจ์ ์ผ๋ก ์ค์บํ๋ ๊ฒฝ์ฐ์
๋๋ค. ๋ ๊ฐ์ง ์ก์ธ์ค ํจํด ๋ชจ๋ ๋์์ ๋ณต์ ๋์ด์ผ ํ๋ฉฐ, ์ด๋ฅผ ์ํด์๋ ๊ด๊ณํ ์คํค๋ง์์ ์ง์ ์กฐํ(๊ธฐ๋ณธ ํค ์ฟผ๋ฆฌ)์ ๋ฒ์ ์ค์บ(์์ ์ํ)์ ๋ชจ๋ ์ง์ํด์ผ ํ ์ ์์ต๋๋ค.
์ ๊ทผ ๋์ฌ์ ๊ทธ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ํ ํจ์
๊ฐ ํ์ผ ์ ๊ทผ ๋์ฌ๋ ํ๋ก๊ทธ๋จ์ด VSAM ๋ฐ์ดํฐ ์ธํธ์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ์๋ก ๋ค๋ฅธ ์ธก๋ฉด์ ๋ณด์ฌ์ค๋๋ค.
์ฝ๊ธฐ(์ง์ ): READ CUSTOMER-FILE KEY IS WS-CUST-KEY์ง์ ํค ์กฐํ. ๋ค์ ํญ๋ชฉ์ ๋งคํ๋ฉ๋๋ค. SELECT ... WHERE primary_key = ?๋๋ถ๋ถ์ KSDS ํ๋ก๊ทธ๋จ์ ์ด ํจํด์ ์ฌ์ฉํ๋ฉฐ, ์ด๋ ๊ด๊ณํ ์ธ๋ฑ์ค ์กฐํ๋ก ์ง์ ๋ณํ๋ฉ๋๋ค.
์ฝ๊ธฐ(์์ฐจ์ ): READ CUSTOMER-FILE NEXT RECORDํ์ฌ ์์น์์ ์์ฐจ์ ์ผ๋ก ์ค์บํฉ๋๋ค. ์ง๋์ ํ์๋ฉ๋๋ค. SELECT ... ORDER BY primary_key ์ปค์ ์์น ์ง์ ๊ณผ ๊ด๋ จ๋ฉ๋๋ค. VSAM์ ์์ฐจ ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ธฐ๋ณธ ํค ์์์ ์์กดํ๋ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ, ์๋ฌต์ ์ธ ์์ ์ข
์์ฑ์ ์ ์งํ๊ธฐ ์ํด ๋์ ์์คํ
์์ ํด๋น ์์๋ฅผ ๋ช
์์ ์ผ๋ก ์ ์งํด์ผ ํฉ๋๋ค.
์คํํธ: START CUSTOMER-FILE KEY >= WS-SEARCH-KEY ๋ค์ READ NEXT๋ถ๋ถ ํค ์์น์์ ๋ฒ์ ์ค์บ์ ์ํํฉ๋๋ค. ๋ฒ์ ์ฟผ๋ฆฌ์ ํด๋นํฉ๋๋ค. SELECT ... WHERE primary_key >= ? ORDER BY primary_keySTART๋ฅผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ ์์ฐจ ์ค์บ์ ๋ํ ํํ๊ฐ์ ์ค์ ํฉ๋๋ค. ์ด๋ KSDS ํ์ผ์ ๋ํ ์ค์ํ ์ก์ธ์ค ํจํด์ด๋ฉฐ, ๋์ ํ
์ด๋ธ์ ํค ์์๊ฐ ๋์ผํ์ง ์์ผ๋ฉด ๊ฐ๋จํ ๋์ ๋ฐฉ์์ด ์์ต๋๋ค.
์ฐ๋ค: ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ์ฝ๋๋ฅผ ์ฝ์
ํฉ๋๋ค. ๋ค์ ํญ๋ชฉ์ ๋งคํ๋ฉ๋๋ค. INSERT INTOVSAM ํ์ผ์ ๋์ฒด ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฒฝ์ฐ ์ฐ๊ธฐ ์์
์ ํด๋น ์ธ๋ฑ์ค์์ ์ผ๊ด์ฑ์ ์ ์งํด์ผ ํฉ๋๋ค. VSAM์์๋ ์ด๊ฒ์ด ์๋์ผ๋ก ์ด๋ฃจ์ด์ง์ง๋ง, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ๋๋ฑํ ๋ณด์กฐ ์ธ๋ฑ์ค ํ
์ด๋ธ์ ์ ์งํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ๋ฆฌ๊ฑฐ ๋๋ ์ ํ๋ฆฌ์ผ์ด์
์์ค ์ฝ๋๊ฐ ํ์ํฉ๋๋ค.
๊ณ ์ณ ์ฐ๊ธฐ: ๋ ์ฝ๋๋ฅผ ์ ์๋ฆฌ์์ ์
๋ฐ์ดํธํฉ๋๋ค. ๋ ์ฝ๋๋ ํ์ฌ ๋ณด์กด ์ํ์ฌ์ผ ํฉ๋๋ค(๋ณด๋ฅ ์๋๊ฐ ์๋ ์ฝ๊ธฐ ์์
ํ). ๋งคํ ๋์ UPDATE ... WHERE primary_key = ?REWRITE๋ ์ฝ๊ธฐ-์์ -์ฐ๊ธฐ ํจํด์
๋๋ค. ๋ง์ด๊ทธ๋ ์ด์
์ ์ฝ๊ธฐ์ ์ฐ๊ธฐ ๊ณผ์ ์ ๋ฐ์ ๊ฑธ์ณ ํธ๋์ญ์
๋ฌด๊ฒฐ์ฑ์ ์ ์งํด์ผ ํฉ๋๋ค.
์ญ์ : ํค๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํฉ๋๋ค. KSDS ํ์ผ์์ ์ญ์ ๋ ๋ฌผ๋ฆฌ์ ์ญ์ ์ ๋๋ค. ์ญ์ ๋ ์ฌ๋กฏ์ด ํฅํ ์์ฐจ ์ค์บ์ ์ฌ์ฉํ ์ ์๊ฒ ๋ ๊ฒ์ผ๋ก ์์ํ๋ ํ๋ก๊ทธ๋จ์ ์ด๋ฌํ ๋ฌผ๋ฆฌ์ ์ญ์ ๋์์ ์์กดํฉ๋๋ค. ๋์์ ์ํํธ ์ญ์ (๋ ผ๋ฆฌ์ ์ญ์ ํ๋๊ทธ)๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ด ๋ ผ๋ฆฌ์ ์ผ๋ก ์ญ์ ๋ ๋ ์ฝ๋๋ฅผ ํํฐ๋งํ๋๋ก ์ ๋ฐ์ดํธํ์ง ์๋ ํ ๋์ผํ ๋์์ ์ ๊ณตํ์ง ์์ต๋๋ค.
๋์ฒด ์ธ๋ฑ์ค ์ฌ์ฉ: ์จ๊ฒจ์ง ์ข ์์ฑ
KSDS ํ์ผ์ ๋์ฒด ์ธ๋ฑ์ค๋ VSAM ๋ง์ด๊ทธ๋ ์ด์ ์์ ๊ฐ์ฅ ์์ฃผ ๊ฐ๊ณผ๋๋ ์์ ์ค ํ๋์ ๋๋ค. ๋์ฒด ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ก๊ทธ๋จ์ด ๊ธฐ๋ณธ ํค๊ฐ ์๋ ๋ค๋ฅธ ํ๋๋ฅผ ํตํด KSDS ํ์ผ์ ์ ๊ทผํ ์ ์์ต๋๋ค. ๋์ฒด ์ธ๋ฑ์ค ์์ฒด๋ ๋ณ๋์ VSAM ๋ฐ์ดํฐ์ (PATH)์ด๋ฉฐ, ๊ธฐ๋ณธ ํด๋ฌ์คํฐ์ ๋๊ธฐํ ์ํ๋ฅผ ์ ์งํด์ผ ํฉ๋๋ค.
์ ๊ทผํ๋ ํ๋ก๊ทธ๋จ CUSTOMER-FILE ๋ค๋ฅธ ํค๋ฅผ ํตํด CUST-ALT-KEY ๊ธฐ๋ณธ ํด๋ฌ์คํฐ FD ํญ๋ชฉ๋ง ๋ถ์ํ ๊ฒฝ์ฐ ๋ณด์ด์ง ์๋ ์ข
์์ฑ์ด ์์ต๋๋ค. ๋ง์ด๊ทธ๋ ์ด์
์ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
- ์ด๋ค ํ๋ก๊ทธ๋จ์ด ์ด๋ค ๋์ฒด ํค๋ฅผ ์ฌ์ฉํ๋์ง ์๋ณํฉ๋๋ค(SELECT ์ ์ ํ์๋จ).
ALTERNATE RECORD KEY(์ ์ธ) - ๊ฐ ๋์ฒด ํค๋ฅผ ๋์ ํ ์ด๋ธ์ ํด๋น SQL ์ธ๋ฑ์ค์ ๋งคํํฉ๋๋ค.
- ๋์ ํ ์ด๋ธ์ ๋ํ INSERT ๋ฐ DELETE ์์ ์ด ๋์ฒด ์ธ๋ฑ์ค์ ๋์ผํ ๊ธฐ๋ฅ์ ์๋์ผ๋ก ์ ์งํ๋๋ก ํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ด ํฌ๋ช ํ๊ฒ ์ ์ง ๊ด๋ฆฌํ๋ SQL ๊ณ ์ ๋๋ ๋น๊ณ ์ ์ธ๋ฑ์ค๋ฅผ ํตํด ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค.
๋ถ์์์๋ ๋ชจ๋ KSDS ๋ฐ์ดํฐ ์ธํธ์ ๋ํ ๋ชจ๋ ๋์ฒด ์ธ๋ฑ์ค๋ฅผ ์ด๊ฑฐํ๊ณ ๊ฐ๊ฐ์ ํด๋น ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ ๋งคํํด์ผ ํฉ๋๋ค.
๊ณต์ ๋ฐ์ดํฐ์ ๋ฌธ์ : ์๋ฌต์ ๋ฐ์ดํฐ ๊ณ์ฝ
VSAM ํ์ผ์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ๊ณผ ์ฌ๋ฌ JCL ์์ ๋จ๊ณ์์ ์์ฃผ ๊ณต์ ๋ฉ๋๋ค. ์ด๋ฌํ ๊ณต์ ๋ ํ๋ก๊ทธ๋จ ๊ฐ์ ๋ ์ฝ๋ ๋ ์ด์์, ํค ๋ฒ์ ๋ฐ ์ก์ธ์ค ํจํด์ ๋ํ ์๋ฌต์ ์ธ ๋ฐ์ดํฐ ๊ณ์ฝ, ์ฆ ์ฝ๋ ์์ฒด์๋ง ์กด์ฌํ๋ ํฉ์๋ฅผ ์์ฑํฉ๋๋ค.
๊ณต์ ๋ฐ์ดํฐ์ ์ข ์์ฑ์ ๋ ๊ฐ์ง ์ฐจ์์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์์ฐ์-์๋น์ ๊ด๊ณ์์ ํ๋ก๊ทธ๋จ A๋ ๋ ์ฝ๋๋ฅผ ๊ธฐ๋กํ๊ณ ํ๋ก๊ทธ๋จ B๋ ์ด๋ฅผ ์ฝ์ต๋๋ค. ํ๋ก๊ทธ๋จ A๊ฐ ์์ฑํ๋ ๋ ์ฝ๋ ๋ ์ด์์, ํค ๊ฐ ๋ฐ ์์๋ ํ๋ก๊ทธ๋จ B๊ฐ ์๋นํ๋ ค๋ ๊ฒ๊ณผ ์ ํํ ์ผ์นํด์ผ ํฉ๋๋ค. ๊ณต์ ๋ฐ์ดํฐ ๊ณ์ฝ์ ์กฐ์ ํ์ง ์๊ณ A์ B๋ฅผ ์๋ก ๋ค๋ฅธ ๋์ ์คํค๋ง๋ก ๋ ๋ฆฝ์ ์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ฉด ๋ฐ์ดํฐ ์์์ด ๋ฐ์ํฉ๋๋ค. ์ฆ, B์ ์ฝ๊ธฐ ์์ ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฑ๊ณตํ์ง๋ง B์ ๋ก์ง์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐํํฉ๋๋ค.
์์ ๋จ๊ณ ๊ฐ ๋์ ์ ๊ทผ. JCL ์์ ์คํธ๋ฆผ์ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ํฌํจํ ์ ์์ผ๋ฉฐ, ๊ฐ ๋จ๊ณ๋ ๋์ผํ VSAM ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ์์ฐจ์ ์ผ๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์คํํฉ๋๋ค. 1๋จ๊ณ๋ ์ฐ๊ธฐ ์์ ์ ์ํํ๊ณ , 2๋จ๊ณ๋ ์ฝ๊ธฐ ๋ฐ ๋ณํ ์์ ์ ์ํํ๋ฉฐ, 3๋จ๊ณ๋ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ์ ์ด๋ฌํ ์์ฐจ์ ์ข ์์ฑ์ ์ ์งํด์ผ ํ๋ฉฐ, ํ๋ก๊ทธ๋จ์ด ๊ณต์ ๋ฐ์ดํฐ ์ธํธ์ ์ ๊ทผํ๊ณ ์์ ํ๋ ์์๋ ์์คํ ๋์ ์ฌ์์ ์ผ๋ถ์ ๋๋ค.
์์ ํ ๊ณต์ ๋ฐ์ดํฐ์ ๋ถ์์ ๋ค์์ ํฌํจํด์ผ ํฉ๋๋ค.
- VSAM ๋ฐ์ดํฐ์ ๊ณผ ํด๋น ๋ฐ์ดํฐ์ ์ ์ ๊ทผํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ์ด๊ฑฐํ์ญ์์ค.
- ๊ฐ ํ๋ก๊ทธ๋จ์ ์ ๊ทผ ๊ถํ์ ์์ฐ์(์ฐ๊ธฐ/์ฌ์ฐ๊ธฐ/์ญ์ ), ์๋น์(์ฝ๊ธฐ) ๋๋ ๋ ๋ค๋ก ๋ถ๋ฅํ์ญ์์ค.
- ๊ฐ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ JCL ์์ ์ปจํ ์คํธ, ๋จ๊ณ, ์์ , ์ค์ผ์ค๋ฌ ์ข ์์ฑ ์ฒด์ธ์ ๋ฌธ์ํํ์ญ์์ค.
- ์์ฐ์์ ์ถ๋ ฅ ํ์์ด ์๋น์์ ์์ ์ ๋ ฅ ํ์๊ณผ ์ ํํ ์ผ์นํด์ผ ํ๋ ์์ฐ์-์๋น์ ์์ ์๋ณํ์ญ์์ค.
์ด ๋ถ์์ ๊ฐ๋ณ ํ๋ก๊ทธ๋จ๋ง ๋ฐ๋ก ๊ฒํ ํ๋ ๋ฐฉ์์ผ๋ก ์ํํ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋จ ๊ฐ, JCL ์ ์ฒด์ ๊ฑธ์น ๊ตฌ์กฐ์ ๋ถ์์ด ํ์ํฉ๋๋ค.
๋ง์ด๊ทธ๋ ์ด์ ์ ํ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฌผ: ๋ถ์์ ํตํด ๋์ถํด์ผ ํ ์ฌํญ
๋ฐ์ดํฐ ํ๋ํ ๊ณํ์ ์ถฉ๋ถํ VSAM ๊ตฌ์กฐ ๋ถ์์ ๋ค์๊ณผ ๊ฐ์ 6๊ฐ์ง ๊ฒฐ๊ณผ๋ฌผ์ ๋์ถํฉ๋๋ค.
๊ฒฐ๊ณผ๋ฌผ 1: VSAM ๋ฐ์ดํฐ์ ๋ชฉ๋ก
ํ๊ฒฝ ๋ด ๋ชจ๋ VSAM ๋ฐ์ดํฐ ์ธํธ์๋ ๋ฐ์ดํฐ ์ธํธ ๊ตฌ์ฑ(KSDS/ESDS/RRDS/LDS), ํ๊ท ๋ฐ ์ต๋ ๋ ์ฝ๋ ๊ธธ์ด, ์์ ๋ ์ฝ๋ ์(JCL SPACE ๋งค๊ฐ๋ณ์ ๋๋ ์นดํ๋ก๊ทธ ํญ๋ชฉ ๊ธฐ์ค), ํค ๊ตฌ์กฐ(๊ธฐ๋ณธ ํค ์คํ์ , ๊ธธ์ด, ๋์ฒด ํค ๊ตฌ์กฐ) ๋ฐ ๋ฐ์ดํฐ ์ธํธ์ ๋์ฒด ์ธ๋ฑ์ค๊ฐ ์๋์ง ์ฌ๋ถ๊ฐ ํฌํจ๋ฉ๋๋ค.
์ฐ์ถ๋ฌผ 2: ๋ ์ฝ๋ ๋ ์ด์์ ์นดํ๋ก๊ทธ
๊ฐ ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ๋ชจ๋ FD ํญ๋ชฉ๊ณผ ํด๋น ํญ๋ชฉ์ด ์ฐธ์กฐํ๋ ์นดํผ๋ถ์ด ํฌํจ๋๋ฉฐ, ์ฌ๊ธฐ์๋ REDEFINES ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํฌํจํ ๋ชจ๋ ํ๋ ์ ์, ์ ํํ ์ ๋ฐ๋์ ์ค์ผ์ผ์ ๊ฐ์ง ๋ชจ๋ COMP-3 ํ๋, ๋ฐ์ดํธ ๊ธธ์ด๋ฅผ ๊ฐ์ง ๋ชจ๋ ๋ฐ์ด๋๋ฆฌ(COMP/COMP-5) ํ๋, ๋ชจ๋ ๊ฐ๋ณ ๊ธธ์ด ์์(์ ์ด ํ๋์ ํจ๊ป OCCURS DEPENDING ON์ผ๋ก ๋ฐ์), ๊ทธ๋ฆฌ๊ณ REDEFINES์ ์ํด ์์๋๋ ๋ชจ๋ ์กฐ๊ฑด๋ถ ๋๋ ๋ ์ด์์ ๋ณํ์ด ํฌํจ๋ฉ๋๋ค.
๊ฒฐ๊ณผ๋ฌผ 3: ํ๋ก๊ทธ๋จ๋ณ ์ ๊ทผ ํจํด ๋ถ๋ฅ
๊ฐ ๋ฐ์ดํฐ ์ธํธ์ ์ ๊ทผํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๋ํด ๋ค์ ์ ๋ณด๋ฅผ ์์งํฉ๋๋ค. SELECT ์ ์ ํน์ฑ(๊ตฌ์ฑ, ์ ๊ทผ ๋ชจ๋, ๋์ฒด ํค ์ฌ์ฉ ์ฌ๋ถ), ์ฌ์ฉ๋๋ ๋ชจ๋ ์ ๊ทผ ๋์ฌ(READ/START/WRITE/REWRITE/DELETE), ์์ฐจ์ ์ ๊ทผ์ ์ฌ์ฉํ๋์ง ์ฌ๋ถ ๋ฐ ํค ์์์ ์์กดํ๋์ง ์ฌ๋ถ, ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋ ๋์ฒด ์ธ๋ฑ์ค, ๊ทธ๋ฆฌ๊ณ ์ฝ๊ธฐ-์์ -์ฐ๊ธฐ ํจํด(์๋ฌต์ ์ธ ํธ๋์ญ์ ์๊ตฌ ์ฌํญ)์ ์ฌ์ฉํ๋์ง ์ฌ๋ถ.
๊ฒฐ๊ณผ๋ฌผ 4: ๊ณต์ ๋ฐ์ดํฐ์ ์ง๋
VSAM ๋ฐ์ดํฐ์ ๊ณผ ํ๋ก๊ทธ๋จ์ ๋ ธ๋๋ก ํ๊ณ , ์ฝ๊ธฐ/์ฐ๊ธฐ ์ ํ๊ณผ ๊ฐ์ ์ ๊ทผ ๊ด๊ณ๋ฅผ ์ฃ์ง๋ก ๋ํ๋ด๋ ๋ฐฉํฅ ๊ทธ๋ํ์ ๋๋ค. ์ด ๊ทธ๋ํ๋ ๋ชจ๋ ํ๋ก๋์, ๋ชจ๋ ์ปจ์๋จธ, ํ๋ก๋์-์ปจ์๋จธ ์, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์ ๊ทผ์ ๋ํ JCL ์์ ์ํ์ค ์ปจํ ์คํธ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
๊ฒฐ๊ณผ๋ฌผ 5: ๋์ ์คํค๋ง ๊ถ์ฅ ์ฌํญ
๊ฐ VSAM ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ๊ตฌ์ฑ ๋ฐ ์ก์ธ์ค ํจํด์ ๊ธฐ๋ฐ์ผ๋ก ๊ถ์ฅ๋๋ ๋์ ์ํคํ ์ฒ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
| VSAM ์ ํ | ๊ธฐ๋ณธ ์ก์ธ์ค ํจํด | ์ถ์ฒ ๋์ |
|---|---|---|
| KSDS, ์ง์ ํค ์ ๊ทผ ๋ฐฉ์๋ง ๊ฐ๋ฅ | ๊ธฐ๋ณธ ํค๋ฅผ ์ด์ฉํ ํฌ์ธํธ ์กฐํ | ๊ด๊ณํ ํ ์ด๋ธ, ์ธ๋ฑ์ฑ๋จ |
| KSDS, ์์/๋ค์ ์ฝ๊ธฐ ๊ธฐ๋ฅ ํฌํจ | ์ฃผ์ ์์๋๋ก ๋ฒ์ ์ค์บ | ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค๊ฐ ์๋ ๊ด๊ณํ ํ ์ด๋ธ |
| ๋์ฒด ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ KSDS | ๋ค์ค ๊ฒฝ๋ก ํค ์ก์ธ์ค | ์ฌ๋ฌ ๊ฐ์ ์ธ๋ฑ์ค๊ฐ ์๋ ๊ด๊ณํ ํ ์ด๋ธ |
| ESDS, ์ถ๊ฐ ์ ์ฉ | ์์ฐจ ์ถ๊ฐ, ํค ์์ | ์ถ๊ฐ ์ ์ฉ ํ ์ด๋ธ, ์ด๋ฒคํธ ์คํธ๋ฆผ ๋๋ ๋ก๊ทธ |
| RBA ์ ๊ทผ ๊ถํ์ด ์๋ ESDS | ๋ฐ์ดํธ ์คํ์ ์์น ์ง์ | ๋ฉํ๋ฐ์ดํฐ ์ธ๋ฑ์ค๊ฐ ํฌํจ๋ ๊ฐ์ฒด ์ ์ฅ์ |
| RRDS | ๊ธฐ๋ก ๋ฒํธ ์ ๊ทผ | ์์ ์ด์ด ์๋ ๊ด๊ณํ ํ ์ด๋ธ |
| ๋๊ท๋ชจ KSDS(๋ฒํฌ, ๋ถ์) | ์ ์ฒด ์์ฐจ ์ค์บ | ์ปฌ๋ผํ ์คํ ๋ฆฌ์ง ๋๋ ๋ฐ์ดํฐ ๋ ์ดํฌ |
| ์ ๋ถ์ฆ | ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ด๋ฆฌํ๋ ๋ด๋ถ ํ์ | ์์ฉ ํ๋ก๊ทธ๋จ ๊ณ์ธต ๋ถ์์ด ํ์ํฉ๋๋ค. |
๊ฒฐ๊ณผ๋ฌผ 6: ์ ๋ฐ๋ ๋ฏผ๊ฐํ ํ๋ ๋ ์ง์คํธ๋ฆฌ
๋ชจ๋ ๋ฐ์ดํฐ ์ธํธ์ ๋ชจ๋ COMP-3, COMP, COMP-5 ๋ฐ ๋ถ๋ ์์์ ํ๋์ ํด๋น COBOL ์ ์, ์ฌ๋ฐ๋ฅธ SQL ๋ฐ์ดํฐ ์ ํ ๋งคํ, ๊ทธ๋ฆฌ๊ณ ๋ง์ด๊ทธ๋ ์ด์ ์ ํ์ ์ ๋ฐ๋ ๊ฒ์ฆ์ด ํ์ํ ํ๋์ ๋ํ ํ๋๊ทธ๊ฐ ํฌํจ๋ฉ๋๋ค.
VSAM ๋ถ์๊ณผ ๊ด๊ณํ ์คํค๋ง ๋ถ์์ ์ฐจ์ด์ ์ ๋ฌด์์ผ๊น์?
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ ๋ง์ด๊ทธ๋ ์ด์ ๊ฒฝํ์ด ์๋ ํ์ ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ํ ์ฌ๊ณ ๋ฐฉ์, ์ฆ DDL ์ถ์ถ, ์คํค๋ง ์ฌ์ค๊ณ, ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ๋ฐฉ์์ ์ ์ฉํ๊ธฐ ๋๋ฌธ์ VSAM ๋ถ์์ ๊ณผ์ํ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ํ์ง๋ง VSAM์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐจ์์ DDL์ด ์์ต๋๋ค. ์คํค๋ง๋ ์์ค ์ฝ๋, ํจ์ ์ข ์์ฑ(FD) ํญ๋ชฉ, ์นดํผ๋ถ, SELECT ์ , ๊ทธ๋ฆฌ๊ณ ํน์ ๋ ์ฝ๋์ ๋ํด ์ด๋ค REDEFINES ๋ณํ์ด ํ์ฑํ๋ ์ง๋ฅผ ๊ฒฐ์ ํ๋ PROCEDURE DIVISION ๋ก์ง์ ๋ถ์ฐ๋์ด ์์ต๋๋ค.
VSAM ๋ถ์์ ๊ตฌ์กฐ์ ์ผ๋ก ๋ค๋ฅด๊ฒ ๋ง๋๋ ์ธ ๊ฐ์ง ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์คํค๋ง๋ ์ฝ๋ ์์ ์กด์ฌํฉ๋๋ค. VSAM ๋ฐ์ดํฐ์ ์ ๋ ์ฝ๋ ๋ ์ด์์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์นดํ๋ก๊ทธ๊ฐ ์๋ COBOL ์์ค ์ฝ๋์ ์ ์๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ์คํค๋ง๋ฅผ ์ฐพ์ผ๋ ค๋ฉด ์์ค ์ฝ๋๋ฅผ ๋ถ์ํด์ผ ํฉ๋๋ค. ๋ณ๊ฒฝํ๋ ค๋ฉด ๋์ผํ ์นดํผ๋ถ์ ๊ณต์ ํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ์กฐ์จํด์ผ ํฉ๋๋ค. ๋ชจ๋ ๋ณํ์ ์ดํดํ๋ ค๋ฉด ํจ์ ์ข ์์ฑ(FD) ํญ๋ชฉ๋ฟ๋ง ์๋๋ผ ํ๋ก๊ทธ๋จ ๋ก์ง๊น์ง ๋ถ์ํด์ผ ํฉ๋๋ค.
์ ๊ทผ ํจํด์ ํ๋ก๊ทธ๋จ ๋์์ ๋ด์ฌ๋์ด ์์ต๋๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ EXPLAIN ์คํ ๊ณํ๊ณผ ์ฟผ๋ฆฌ ๋ก๊ทธ๋ฅผ ํตํด ์ฟผ๋ฆฌ ํจํด์ ๋๋ฌ๋ ๋๋ค. VSAM์ ์ ๊ทผ ํจํด์ ํ์ผ์ ์ ๊ทผํ๋ ํ๋ก๊ทธ๋จ์ ํ๋ก์์ ๋ถ๋ถ์์๋ง ํ์ธํ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋จ์ด ํค ์์ ์ง์ , ๋์ฒด ์ธ๋ฑ์ค ์ ๊ทผ ๋๋ ๋ฒ์ ์ค์บ์ ์์กดํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ ํ๋ ค๋ฉด ์ฝ๋ ๋ถ์์ด ํ์ํฉ๋๋ค.
๊ณต์ ๋ฐ์ดํฐ ์ธํธ๋ ์จ๊ฒจ์ง ๊ณ์ฝ์ ๋ง๋ค์ด๋ ๋๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์คํค๋ง๋ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๊ณต์ ํ๊ณ ๋ณผ ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ค์ ์ํฐํฉํธ์ ๋๋ค. VSAM์์๋ ๋ ์ฝ๋ ๋ ์ด์์์ด ๊ฐ ํ๋ก๊ทธ๋จ์ ์นดํผ๋ถ์ ๋ด์ฅ๋์ด ์์ต๋๋ค. ๋ ํ๋ก๊ทธ๋จ์ด ๋ช ๋ชฉ์ ๋์ผํ ๋ ์ฝ๋ ๋ ์ด์์์ ๋ณต์ฌ๋ณธ์ ๋ค๋ฅด๊ฒ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ์ด๋ฌํ ์ฐจ์ด๋ฅผ ๋ฐ๊ฒฌํ๋ ค๋ฉด ๋จ์ผ ์คํค๋ง ์ ์๋ฅผ ๊ฒ์ฌํ๋ ๊ฒ์ด ์๋๋ผ ํ๋ก๊ทธ๋จ ๊ฐ์ ์นดํผ๋ถ ์ ์๋ฅผ ๋น๊ตํด์ผ ํฉ๋๋ค.
๋ฐฉ๋ฒ SMART TS XL VSAM ๊ตฌ์กฐ ๋ถ์์ ์ํํฉ๋๋ค.
SMART TS XL์ ์ ์ ์ฝ๋ ๋ถ์ ์ด ๋๊ตฌ๋ COBOL ์์ค ์ฝ๋์ ์กด์ฌํ๋ VSAM ๊ตฌ์กฐ์ ๋ชจ๋ ์์(FD ํญ๋ชฉ, COPY ๋ฉค๋ฒ ํ์ฅ, SELECT ์ ์ ์ธ(๊ตฌ์ฑ, ์ก์ธ์ค ๋ชจ๋, ๊ธฐ๋ณธ ๋ฐ ๋์ฒด ํค ์ง์ ), PROCEDURE DIVISION์ ๋ชจ๋ ํ์ผ ์ก์ธ์ค ๋์ฌ)๋ฅผ ๋ถ์ํฉ๋๋ค. ๊ฐ VSAM ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ์ก์ธ์ค ํจํด ๋ถ๋ฅ, REDEFINES ํด์๋๊ฐ ์๋ฒฝํ ๋ ์ฝ๋ ๋ ์ด์์, ๊ทธ๋ฆฌ๊ณ ์ ํํ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ COMP-3 ํ๋ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ข ์์ฑ ๋งคํ์ ๊ณต์ ๋ฐ์ดํฐ์ ๋งต์ ๊ตฌ์ถํฉ๋๋ค. ์ด ๋งต์๋ ๊ฐ VSAM ๋ฐ์ดํฐ์ ์ ์ ๊ทผํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ด ์ ๊ทผ ์ ํ๋ณ๋ก ๋ถ๋ฅ๋๊ณ , ์์ฐ์-์๋น์ ๊ด๊ณ๊ฐ ์๋ณ๋๋ฉฐ, ์นดํผ๋ถ ๊ณต์ ๊ทธ๋ํ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด 47๊ฐ์ ํ๋ก๊ทธ๋จ์ด VSAM ๋ ์ฝ๋ ๋ ์ด์์์ ์ ์ํ๋ ์นดํผ๋ถ์ ๊ณต์ ํ๋ ๊ฒฝ์ฐ, ์ข ์์ฑ ๋งต์ ํตํด ๋ง์ด๊ทธ๋ ์ด์ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ ์ 47๊ฐ ํ๋ก๊ทธ๋จ ๋ชจ๋๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ๋ ์ด์์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด 47๊ฐ ํ๋ก๊ทธ๋จ์ด ์์์น ๋ชปํ ๋ฐฉ์์ผ๋ก ์๋์ ๋ฉ์ถ๋ ์ฌํ๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
JCL ํ์ฅ ๊ธฐ๋ฅ์ ์ด์ ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฆ, ์ด๋ค JCL ์์ ๋จ๊ณ๊ฐ DD ๋ฌธ์์ ์ด๋ค VSAM ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ด๋ค ์์๋ก, ์ด๋ค ์์ ์คํธ๋ฆผ์์ ์ฐธ์กฐํ๋์ง ์ ์ ์์ต๋๋ค. 1๋จ๊ณ์์ VSAM ๋ฐ์ดํฐ ์ธํธ์ ์ฐ๊ณ 3๋จ๊ณ์์ ์ฝ๋ ๊ฒ๊ณผ ๊ฐ์ JCL ์์ ์์ค์ ์์ฐ์-์๋น์ ๊ด๊ณ๋ JCL ์ข ์์ฑ ๋ถ์์์ ํ์ธํ ์ ์์ผ๋ฏ๋ก ๋ฐฐ์น ์ค์ผ์ค์์ ์ ์ฉํ๋ ์ด์ ์์ ์ข ์์ฑ์ ์ ์งํ๋ ๋ง์ด๊ทธ๋ ์ด์ ์์๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์ํฅ ๋ถ์ ๊ธฐ๋ฅ์ ๋ชจ๋ VSAM ๋ง์ด๊ทธ๋ ์ด์ ๊ฒฐ์ ์ ์์ ์ ๊ธฐ๋๋ ์ง๋ฌธ, ์ฆ ๋ฐ์ดํฐ์ ๋ ์ด์์์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ์ด๋ค ํ๋ก๊ทธ๋จ์ ์ํฅ์ ๋ฏธ์น๋์ง์ ๋ํ ํด๋ต์ ์ ๊ณตํฉ๋๋ค. ์ํฅ ๋ฒ์, ๊ด๋ จ ์นดํผ๋ถ์ ๊ณต์ ํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ, ๋ฐ์ดํฐ์ ์ ์ฐธ์กฐํ๋ ๋ชจ๋ JCL ๋จ๊ณ๊ฐ ๋ง์ด๊ทธ๋ ์ด์ ์์ ์์ ์ ์ ์ด๊ฑฐ๋๋ฏ๋ก, ์ํฅ์ ๋ฐ๋ ํ๋ก๊ทธ๋จ์ ํ๋์ฉ ๋ฐ๊ฒฌํ๋ ๋ฐฉ์์ด ์๋ ์ฒด๊ณ์ ์ธ ๋ง์ด๊ทธ๋ ์ด์ ๊ณํ์ ์๋ฆฝํ ์ ์์ต๋๋ค.
์ํฐํ๋ผ์ด์ฆ ๊ฒ์ ๊ธฐ๋ฅ์ ํตํด ํ๋ํ ํ๋ก๊ทธ๋จ ์ ๋ฐ์ ๊ฑธ์ณ ์ ์ฒด VSAM ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค. ํน์ VSAM ๋ฐ์ดํฐ ์ธํธ์ ์ก์ธ์คํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ, ํน์ ๋ ์ฝ๋ ๋ ์ด์์์ ์ ์ํ๋ ๋ชจ๋ ์นดํผ๋ถ, START/READ NEXT ํจํด(์์ ์ข ์์ฑ ํ์)์ ์ฌ์ฉํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ, COMP-3(์ ๋ฐ๋ ์ธ์ ๋์ ๋งคํ โโํ์)์ผ๋ก ์ ์๋ ๋ชจ๋ ํ๋๋ฅผ ์๋ฐฑ๋ง ์ค์ COBOL ์ฝ๋์์ ๋จ ๋ช ์ด ๋ง์ ์ฐพ์ ์ ์์ต๋๋ค.
๋งฅ๋ฝ์์ ์ค๋ช ๋ ๋ฐ์ ๊ฐ์ด COBOL ํ๋ก๊ทธ๋จ๊ณผ ํจ๊ป IMS ๋ฐ VSAM ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํฉ๋๋ค.๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ๊ณผ ์ฝ๋ ๋ถ์์ ๋์์ ์งํ๋์ด์ผ ํฉ๋๋ค. SMART TS XLVSAM์ ๊ตฌ์กฐ์ ๋ถ์์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ธ๋ฒคํ ๋ฆฌ, ๊ณต์ ๋ ์ฝ๋ ๋ ์ด์์, ์ก์ธ์ค ํจํด, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์งํ๋ ์ ์๋์ง ๋๋ ํ๋ก๊ทธ๋จ ๋ณ๊ฒฝ๊ณผ ์กฐ์ ๋์ด์ผ ํ๋์ง๋ฅผ ๊ฒฐ์ ํ๋ ์์ฐ์-์๋น์ ๊ด๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋น์ ์ด ์ดํดํ๋ ๊ตฌ์กฐ๊ฐ ๋ฐ๋ก ๋น์ ์ด ์ด์ ํ ์ ์๋ ๊ตฌ์กฐ์ ๋๋ค.
VSAM ํ์ผ ๊ตฌ์กฐ ๋ถ์์ ํ๋ํ ํ๋ก๊ทธ๋จ์์ ์ถ๊ฐ์ ์ธ ๋ถ๋ด์ด ์๋๋๋ค. ์คํ๋ ค ์์ฌ ๊ฒฐ์ ์ ๊ธฐ๋ฐ์ด ๋ฉ๋๋ค. ๋ ์ฝ๋ ๋ ์ด์์ ๋ณํ์ ์์ง ๋ชปํ๋ฉด ๋์ ์คํค๋ง๋ฅผ ์ค๊ณํ ์ ์์ต๋๋ค. ์์ฐ์์ ์๋น์์ ๊ด๊ณ๋ฅผ ์์ง ๋ชปํ๋ฉด ๋ง์ด๊ทธ๋ ์ด์ ์์๋ฅผ ์ ํ ์ ์์ต๋๋ค. ์์์ ์ ์ธ์ํ๋ ๋์ ์ ํ์ด ํ์ํ ํ๋๋ฅผ ์์ง ๋ชปํ๋ฉด COMP-3 ํ๋์ ์ ๋ฐ๋๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ถ์์ ์๋ตํ๋ ๋ชจ๋ ํ๋ํ ํ๋ก๊ทธ๋จ์ ๋ง์ด๊ทธ๋ ์ด์ ์คํ ์ค์ ๋์น ๋ถ๋ถ์ ๋ฐ๊ฒฌํ๊ฒ ๋ฉ๋๋ค. ๋ถ์๋์ง ์์ REDEFINES ๋ณํ์ด ๋์์ ์๋ชป๋ ํ์์ ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ฑฐ๋, ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์กฐ์ ํ์ง ์์ ๊ณต์ ๋ฐ์ดํฐ ์ธํธ๊ฐ ๋ง์ด๊ทธ๋ ์ด์ ๋๊ฑฐ๋, VSAM์ ํค ์์์ ์์กดํ๋ ๋ฒ์ ์ค์บ์ด ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค๋ก ์ค๊ณ๋์ง ์์ ๋์ ํ ์ด๋ธ์์ ์ ์๋์ง ์์ ์์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ ๋ฑ์ด ๊ทธ ์์ ๋๋ค. ์ด๋ฌํ ์คํ ์ค ๋ฐ๊ฒฌ์ผ๋ก ์ธํ ๋น์ฉ์ ๊ณํ ๋จ๊ณ์์ ๋ถ์์ ์ํํ์ ๋๋ณด๋ค ํจ์ฌ ๋ ๋ง์ด ์์๋ฉ๋๋ค.
๋จผ์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ , ๊ทธ ๋ค์์ ๋ฐ์ดํฐ๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ์ญ์์ค. ์ด ์์๋ ๋จ์ํ ํ์์ ์ธ ์ ์ฐจ๊ฐ ์๋๋๋ค. ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ ๋ง์ด๊ทธ๋ ์ด์ ๊ณผ ์ฒซ ๋ฒ์งธ ๊ท์ ๊ฐ์ฌ ์คํ ์ ๊น์ง๋ ๊ทธ๋ด๋ฏํด ๋ณด์ด๋ ๋ฐ์ดํฐ๋ง ์์ฑํ๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ฐจ์ด๋ฅผ ๊ฒฐ์ ์ง๋ ์์์ ๋๋ค.


