IITA-0157.hwp

Size: px
Start display at page:

Download "IITA-0157.hwp"

Transcription

1 제 1장서론 네트워크의발달로정보시스템내의다양한하드웨어, 소프트웨어, 데이타베이스가연결되어상호운용될수있는환경이조성되고있는바사용자들이여러원격지에산재되어있는데이타베이스를지역사이트에있는데이타베이스처럼사용하기를원하는것은성숙해가는정보화사회의당연한귀결이라할수있다. 국가기간전산망에서도다양한플랫폼또는데이타베이스시스템간의데이타호환에대한요구가끊이지않고있다. 국가기간전산망의환경은크게두가지로분류될수있는데, C-ISAM 을사용하는환경과데이타베이스시스템을사용하는환경이다. 각환경하에서데이타호환을위하여표준을제작함은전산망에있는시스템들의효율을향상시키는데필수적이라할수있다. 국가기간전산망의데이타베이스들을연계하기위한표준들이작성되었거나또는작성이진행중이다. 본연구는국가기간전산망에사용되거나사용될표준들을설명하고비교하여국가기간전산망의데이터베이스연계를위한표준들을이해하는데도움이될수있는지침서를작성하는것이목적이다. C-ISAM은세계적으론별로사용되지않고있는화일관리시스템이지만우리나라에서는 주민, 부동산, 자동차 관리 시스템 등에서 사용되고 있어 우리나라의 중요한 정보들이 C-ISAM 에의해관리되고있다. 이러한 C-ISAM 의표준화를위하여이미 주전산기파일 시스템표준 을개발한바있다. 현재행정전산망에서사용되고있는시스템들은운영에있 어서별문제가없다. 그러나이들시스템들이서로데이타를교환해야할경우통신시스 템이기본적으로제공해주는유틸리티를사용하여각사안별로처리되고있다. 그러므로 데이타교환을위하여구현하는방법이각시스템마다다른실정이다. 이는유지보수측면 에서문제점들이도출되는바이를해결하기위해표준화된방법인 원격지데이타베이스 접근: C-ISAM" 을개발하였다. 이방법은 SQL환경에서사용될수있는원격지데이타베이 스접근(Remote Database Access: RDA) 을위한국제표준을 C-ISAM 환경에사용될수 있도록수정하였으며 l995 년에정식표준으로제출될예정이다. -1-

2 국가기간전산망내에서 C-ISAM을쓰지않는환경을데이타베이스시스템환경이라고할수 있다. 데이타베이스의역사를볼때 1960 년대, 1970 년대를계층형데이타베이스, 네트워크 형데이타베이스시대라고한다면 1980 년대를관계형데이타베이스시대라고할수있다. 1980년대가관계형데이타베이스가시작된시기라고한다면 1990년대는관계형데이타베 이스가성숙된시기라고할수있다. 상품화된객체지향데이타베이스가시장에나오기시 작한시기이지만아직시장점유율은아직미비한상태에있다. 관계형데이타베이스시대 에있어그언어의통일은관계형데이타베이스가널리사용되는데막대한역활을하였다. 이러한추세에맞추어 관계형데이타베이스언어표준 을제작한바있다. 국제표준에기 반을두고국내데이타베이스사용자들과제공자들의의견을수렴하여작성하였다. 이러한언어의표준은국가기간전산망에서권해지는규격을정하는것으로이기종데이타베 이스간의연계방법에도영향을미치고있다. 이기종데이타베이스를연계하기위한방법으 로데이타베이스게이트웨이방법이제안되고있다. 국가기간전산망에사용될데이타베이스 게이트웨이표준을작성함에있어서, 기존에작성된 관계형데이타베이스언어표준" 의규 격을참조하였고, 데이타베이스시스템을공급하는업체들의데이타베이스게이트웨이상품 규격들을참조하였다. 이기종데이터베이스간을연계시키는방법은크게두가지로나뉠수 있는데, 클라이언트에서두개이상의서버를접근하여데이타를호환하는방법이첫번째 방법이고, 서버시스템에서다른서버를직접접근하는방법이두번째방법이다. 두가지 방법모두현실적으로가능하나후자는기존프로그램을전부수정해야하고비용이많이 든다는문제가제기되어첫번째방법이표준으로채택되었다. 작성된표준은 데이타베이스 게이트웨이표준 이며 1995 년에표준으로정식제출될예정이다. 앞에서서술한내용을다음에있는그림 1-1 로요약할수있다. C-ISAM을사용하는환경 에서 주전산기파일시스템표준 은 원격지데이타베이스접근: C-ISAM 1) 을작성하는데 사용하였고, 관계형데이타베이스언어표준 은 데이타베이스게이트웨이표준 을작성하 는데이용하였다. 1) 본연구에서는용어사용시편의를위하여약어를사용할수있다. 원격지데이터베이 스접근: C-ISAM" 은 RDA C-ISAM" 으로, 원격지데이터베이스접근: SQL" 은 RDA SQL" 로표기한다. -2-

3 이러한표준들은국가기간전산망의데이타베이스시스템을구매하는데사용한다. 원격지데이타베이스접근: SQL" 은전기통신표준제정이추진중이며. " 원격지데이타베이스접근: C-ISAM 을작성하는데기반을제공한다. 그림1-1 데이터베이스표준구조 -3-

4 제 2 장전산망데이타베이스표준 제 l 절 C-ISAM 본절에서는 1단계행정전산망구축에서데이타를저장하고관리하기위하여채용한주전산기 I의 TX C-ISAM과전산망표준으로제정된 C-ISAM ( 주전산기파일시스템) 표준을분석한다. 1. C-ISAM 개요표준 C-ISAM은색인파일을생성하고관리하는 C 언어함수들을규정한다. 이함수들은다음과같은기능을지원한다. - 파일을생성하고이파일에대한기본색인(primary index) 을생성 - 추가로색인을생성하거나기본색인이아닌다른색인을삭제하는기능 - 생성된파일을열거나닫는기능, 그리고이파일을삭제하는기능 - 디스크에있는데이타베이스에서레코드를읽거나쓸때이용할색인을선택하는기능, 그리고파일의시작위치를알아내는기능 - 데이타레코드를읽고쓰고갱신하는기능 - 파일및레코드에로크(lock) 를잠그거나푸는기능 파일이생성될때, 데이타레코드가들어갈저장공간과기본색인이만들어진다. 프로그래 머는각레코드에서기본키(primary key) 로사용할하나혹은두개이상의필드를명시 할수있는데, 이기본키는파일내에서레코드들을구분하는데사용된다. 하나의레코드 가파일에기록되면이에대한색인엔트리(index entry) 하나가만들어지며, 각색인엔트 리는색인의키값과파일내데이타레코드의위치로구성된다. 이후파일을읽을때는필요 한키의색인을찾고여기에들어있는위치정보를이용함으로써바로데이타레코드를찾아 읽을수있다. 파일에대한접근방법으로는순차(sequential) 방법과직접(random) 방법이 가능하다. 기본색인이외에추가로색인들을만들수있다. 이들색인의키에다른필드들을명시함 으로써같은데이타레코드에대해별개의접근경로(access path) 가지원된다. 하나의파 일에생성될수있는색인의수에대한제한은없다. -4-

5 추가색인에서는서로다른레코드가같은키값을갖는것( 중복, duplicates) 이허용되며, 특정파일에대해서는이를제한할수도있다. C-ISAM에서는기본키에대해중복이허용 된다. C-ISAM 에서는색인키의압축(compression) 에대해서도규정되어있다. 이기능을이용하 면색인에서키저장공간의밀도를높일수가있으며, 여기에사용되는기법으로키의시 작과끝부분에중복되는빈칸(white space) 들을삭제하거나중복되는엔트리들을제거하 는방법등이있다. No compression 및 maximum compression에대해서만완전히정의되 어있다. 그러나특정시스템에대해중간수준의지원이가능하며, 이를위해모드(mode) 값이정의되어있다. X/OPEN의규약을따르는모든시스템에서는응용프로그램의이식성 을위하여이모드값을수용한다. 다만그결과압축의정도는차이가있을수있다. 다수사용자환경에서수정이나접근의신뢰성을보장하기위해파일과레코드에로크를거 는기능이정의되어있다. 파일잠금은파일전체에로크를건다. 여기에는해당파일에접 근하고자하는모든다른트랜잭션의행위가금지되는배타적(exclusive) 형태와다른트랜 잭션의읽기행위는허용되는읽기전용(read-only) 형태가있다. 레코드단위의잠금은자 동으로수행될수있다. 이경우파일을여는시점에이사항이명시되고, 레코드가읽히기 전에자동적으로잠금이이루어지며, 이잠금은그다음함수호출(ISKEEPLOCK 옵션의 isstart 함수는제외) 이성공적으로수행이끝날때까지유지된다. 함수의수행중오류가발 생한경우잠금을해제할지의여부는구현하는사람이결정한다. 수동으로레코드단위의 잠금을수행할수도있는데, 이경우는읽기함수의파라미터에의해동작한다. 2. 표준화현황 C-ISAM에대한표준화활동은필요성이크게대두되지않고있어현재는활발하지않으나, 일부관련업체및기관에서초창기에수행한결과물이존재한다. 그내용을보면, 산업체표준인 X/Open ISAM, 현재주전산기 I에서사용하고있는 TX C-ISAM, 그리고 Informix사에서소유하고있는 ISAM 등이있다. 또한국가기간전산망표준으로제정한 C-ISM 표준이있으며, 이표준은 X/Open의 ISAM, TX C-ISAM, Informix의 ISAM 등을모두고려하여작성하였다. -5-

6 3. 표준화범위 C-ISAM은색인화된순차접근방법으로화일을만들고조작하는 C 언어용함수들의라이브러리로제공된다. TX C-ISAM은 Informix에서개발한 Basic C-ISAM Release3.00을주전산기 I의운영체제인 TX 환경하에서운용되도록수정한것으로, TX에서제공하는여러가지기능이추가되었다. Informix C-ISAM은 X/Open의 C-ISAM표준을그대로수용하고있다. X/Open C-ISAM 의사용자인터페이스라이브러리의정의는다음과같다. - 화일구축 : isbuild, iserase, isrename - 색인관리 : isaddindex, isdelindex, isindexinfo - 화일열기 : isopen, isclose, isstart - 레코드읽기 : isread - 레코드추가 : iswrite, iswrcurr - 레코드변경 : isdelete, isrewrec, isrewcurr - 레코드삭제 : isdelete, isdelrec, isdelcurr - 잠금기능 : islock, isunlock, isrelease 응용프로그래머에게제공되는 C-ISAM 라이브러리함수들을살펴보면다음과같다. 응용프로그래머는화일의접근에관한모든기능을여기에나타난함수를이용하여작성하여야한다. isbuild : TX C-ISAM 화일의구축, 제거및인덱스첨가, 삭제 iserase : 파일삭제 isrename : 화일이름변경 isaddindex : 인덱스추가 isdelindex : 인덱스삭제 isindexinfo : 화일의인덱스정보를가져옴 iststindex : 키의존재여부를조사 isopen : 화일의열기 iscleanup : 열려있는모든화일을닫기 -6-

7 isclose : 화일의닫기 isbegin : 트랜잭션시작 iscommit : 트랜잭션완료 isrollback : 트랜잭션철회 isrecover : 트랜잭션 id로분류되는 logical로그를모아서 roll forward isstart : 현재사용중인 key description을변경하여이후의 isread시에적용될 index와 그의시작위치를선택 isread : 화일에서레코드읽기 읽기모드에따라서다음이지원된다. isfirst : 가장작은 key 값을갖는레코드읽음 islast : 가장큰 key 값을갖는레코드읽음 isequal : 탐색값과일치하는레코드읽음 isgreat : 탐색값보다큰레코드들중제일처음레코드읽음 isgteq : 탐색값과같거나큰레코드들중제일처음레코드읽음 iscurr : 트리포지션에저장중인현재레코드읽음 isprev : 트리포지션에저장중인현재레코드바로전의레코드읽음 isnext : 트리포지션에저장중인현재레코드바로뒤의레코드읽음 iswrite : 화일에레코드를저장하고인덱스재구성트리포지션에있는현행레코드포인 터(treeitem) 를변경시키지않음 iswrcurr : 화일에레코드저장 treeitem이새로추가된레코드를가리킴 isrewrite : 기본키를제외한레코드변경 isrewrec : 주어진레코드번호에해당하는레코드를삭제하고새로운레코드를저장 -7-

8 isrewcurr : 가리킴 현재레코드를주어진새로운레코드로변경 isdelete : 기본키를이용하여레코드를찾아서제거( 인덱스포함) isdelcurr : 현재레코드를제거( 인덱스포함) isdelrec : 주어진레코드번호에해당하는레코드제거 islock : 화일의잠금 isunlock : 화일의잠금을품 isrelease : 화일에대한잠금을해제 isremlock : semaphore 잠금화일삭제 islogopen : 로그화일열기 islogclose : 로그화일닫기 isflush : 화일에관련된모든버퍼를디스크로보냄 isbatch : 변수 batchflag를초기화하고 semaphore 잠금을해제 isaudit : 감사화일에대한정보를얻는다. iscluster : 화일의물리적인순서를키의순서로정렬 isuniqueid : 유일식별자변경 issetunique : 유일식별자를주어진인수값으로지정 ispartition : 큰화일을분할( 화일이름자동) ispartname : 큰화일을분할( 화일이름사용자지정) ispartinfo : 분할화일에대한정보얻음 treeitem이새로변경된레코드를 기본적으로화일을관리하기위한데이타구조로는디스크의데이타를읽고쓰는데좋은성능을내는 B+ 트리구조를이용하고있다. 그리고화일을열고닫는기능, 레코드를읽거나 쓰고변경하는기능이지원되며, 잠금기능, 트랜잭션기능이지원된다. -8-

9 제 2절 RDA C-ISAM 표준 본절에서는 원격지데이타베이스접근 : C-ISAM 표준( 안) 을요약하며, 정리하였다. 본절은모델, 서비스, 규약, 응용- 문맥순으로구성되어있다. 1. 모델가. 서비스일반모델 RDA 클라이언트에서는데이타베이스자원을개방함으로써 RDA 서버에있는 C-ISM 데이타자원을접근한다. 그런다음, 데이타언어서비스에대한요청으로사용이가능하다. RDA C-ISAM 특수표준에서는 Nested C-ISAM 데이타자원을지원하지않는다. C-ISAM의데이타자원을폐쇄하면 RDA 클라이언트는이에대한접근이불가능하다. 즉, 데이타언어서비스요청에대한후속사용이불가능하다. 구현자는 RDA 서버에서하나혹은여러개의 C-ISAM 데이타자원을사용할수있도록구현해야한다. 나. 데이타언어개념 C-ISAM 과같은화일시스템의경우화일을생성/ 삭제하는데이타질의어는 RDA에서제외 하고데이타를조작하는 C-ISAM 호출을중심으로구성한다. RDA C-ISAM 특수표준에서는저장실행의의미가없다. 왜냐하면, C-ISAM의경우다른 데이타베이스언어와는달리문장하나만으로는의미단위를형성할수없다. 따라서원하는 일을수행할수있는의미단위를구성하기위해서는, 다수의 C-ISAM 함수를이용하여프 로시쥬어를구성하고, 그프로시쥬어를호출해야한다. 그러나 RDA 일반표준에는프로시쥬 어호출기능이없기때문에, 의미단위를형성할수없게되고, 따라서저장실행은무의미해 진다. C-ISAM 데이타베이스를접근하는 RDA 의실행구조를보면다음 < 그림 2-1> 과같 다. -9-

10 그림 2-1. C-ISAM을접근하는 RDA의실행구조 2. 서비스가.RDAC-ISAM특수표준서비스 1) R-Initialize 서비스신규 RDA 대화설정을요청하는서비스로서다음과같은매개변수를정의한다. ㆍ요청매개변수 ISInitializeArgument : RDA 클라이언트가원하는레벨을정의한다. ISConfomanceLevelDefault : 클라이언트에서정의한 C-ISM 레벨을정의한다. userdata : RDA 서버구축자가정의하여사용한다. ㆍ결과매개변수 ISInitializeResult : RDA 서버에서반환되는정보를정의한다. userdata : RDA 서버구축자가정의하여사용한다. 2) R-Open 서비스현재개방된대화에서사용하고자하는데이타자원의취득을요청하는서비스로서다음과같은매개변수를정의한다. ㆍ요청매개변수 ISAccessControlData : C-ISAM 데이타개방권한을검증하는매개변수이다. ISUsageMode : 지정된 C-ISAM 데이타자원으로의접근모드를나타낸다. 로크모드와접근모드및트랜잭션모드로구성되며이들을조합하여사용한다. -10-

11 ISLockMode : C-ISAM 데이타( 화일및레코드) 의로크상태를나타낸다. ISAccessMode : 개방하고자아는데이타( 화일) 의입출력형태를나타낸다. ISTransMode : C-ISAM 에서제공하는트랜잭션처리기능을정의한다. ISOpenArgument : 클라이언트에의하여요구되는정보를정의한다. charset : 코드화된문자집합을정의한다. ISConformanceLevel : 클라이언트에서표현한 C-ISAM 의특성을정의한다. ISDiagnosticsRequested : 클라이언트에서요구하는진단정보를서술한다. ㆍ결과매개변수 ISOpenResult : 서버에의하여반환되는정보를정의한다. charset : 코드화된문자집합을정의한다. ISConformanceLevel : 클라이언트에서표현한 C-ISAM 의특성을정의한다. charsetnotsupported : 클라이언트에의하여선언된문자집합이 RDA 서버에서의지원을 정의한다. ㆍ오류변수 ISOpenError : RDA 서버에서오류를알리기위해정의한다. invalidisconformancelevel : ISConformanceLevel 값이허락되지않았다. rdatransactionopen : C-ISAM 데이타베이스자원개방이허락되지않는다. ISAccessControlViolation : 클라이언트는요청한 C-ISAM 데이타를개방할권한이없다. ISDataResourceAlreadyOpen : 접근하고자하는 C-ISAM 데이타는이미사용중이다. ISDatabaseTooManyOpen : 개방할수있는 C-ISAM 데이타자원의최대수를초과하였다. 3) R-Close 서비스데이타자원의사용을종료하는서비스로서다음과같은매개변수를정의한다. ㆍ오류변수 ISCloseError : 서버에서오류를알리기위해사용한다. -11-

12 rdatransactionopen : C-ISAM 데이타자원의폐쇄가허락되지않는다. 4) R-Execute DBL 서비스클라이언트가데이타베이스서버에게하나의데이타베이스문장의즉시수행을요청하는서비스로서다음과같은매개변수를정의한다. ㆍ요청매개변수 ISDBLStatement : 서버에서수행될 RDA C-ISAM 문을나타낸다. ISDBLArgumentSpecification : C-ISAM 데이타타입의서술목록을' 정의한다. ISDBLResultSpecification : 결과에대한 C-ISAM 데이타타입의서술목록을정의한다. dblarguments : ISDBLStatement 의수행횟수를정의한다. singleargument : ISDBLStatement의수행을 ISDBLArgumentValues를이용하여 repetitioncount 만큼수행할것을정의한다. ISDBLArgumentValues : ISDBLArgumentSpecification에정의된인수매개변수값의목록을정의한다. multipleargument : ISDBLStatement를 n개의 listofisdblargumentvalues를이용하여 repetitioncount 만큼수행할것을정의한다. listofisdblargumentvalues : ISDBLArgumentSpecification에정의된다수의인수매개변수값의목록을정의한다. returnisdiagnostics : 클라이언트의진단정보요청을정의한다. ㆍ결과매개변수 ISDBLResultSpecification : C-ISAM 데이타타입서술자의목록을정의한다. listofresultvalues : 클라이언트에서요청한각 DBL 명령어의수행결과를정의한다. ISDBLException : RDA C-ISAM 문의실행에대한완성코드를정의한다. ISSTATE : KIS : 1994( 주전산기파일시스템표준) 에서정의한코드값을나타낸다. ISCODE : 이매개변수는명세에정의한코드값을나타낸다. ISErrorText : ISSTATE 값에대응하는경고및오류를정의한다. -12-

13 ISDiagnostics : 클라이언트에서요청한진단정보를결과로반환한다. ISDBLResultValues : ISDBLResultSpecification에서정의된결과매개변수들의값의목록을정의한다. ㆍ오류매개변수 ISExecuteDBLError : RDA 서버에서오류를알리기위하여사용된다. hostidentifiererror : Host Identifier 지정의잘못을정의한다. rdatransactionnotopen : 트랜잭션을개방하지않고, RDA C-ISAM문을포함하는연산을 수행하려했다. ISDBLArgumentCountMismatch : ISDBLArgumentValues의 개체수와 ISDBLArgument Specification 개체수가동일하지않다. ISDBLArgumentTypeMismatch : ISDBLArgumentValues의 개체 타입 한개 이상과 ISDBLArgumentSpecification 개체타입이동일하지않다. ISDBLNoCharSet : C-ISAM 데이타자원에대한문자집합이없다. ISDBLStatementNotAllowed : ISDBLStatement의내용이 RDA C-ISAM 특수표준에정의 되지않은 C-ISAM 문이다. ISUsageModeViolation : C-ISAM 데이타베이스자원의요청에대한사용모드가서술된 RDA C-ISAM 문의규칙과일치하지않는다. 나. 명령문, 인수, 결과 1) ISDBLStatement statementtext : C-ISAM 문을갖는코드화된문장이다. charset : 코드화된문자집합의명세를정의한다. 2) ISDBLArgumentSpecification과 ISDBLResultSpecification ListOfISDataTypeDescriptor : 각항목은 ISDBLStatement내의개별적인입출력의발생을 정의한다. nullable : 서버에서반환하는결과목록의공백을정의한다. colname : 결과 Column 의이름을서술한다. TypeDescriptor : 대응되는항목에대한데이타타입을정의한다. -13-

14 charactertype : C-ISAM 문에서문자데이타항목을정의한다. charset : 코드화된문자집합을정의한다. length : 문자데이타항목에대한문자의최대수를정의한다. HcharacterType : C-ISAM 문에서한글문자데이타항목을정의한다. charset : 코드화된한글문자집합을정의한다. length : 문자데이타항목에대한문자의최대수를정의한다. decimaltype : 기계무관한십진데이타항목을정의한다. precision : 전송되는값을표현하는데필요한십진베이스의숫자의갯수를정의한다. scale : decimaltype 에서비음수정수를정의한다. integertype : 부호를갖는 2 바이트이진정수데이타를정의한다. precision : precisionbase 매개변수에서정의한베이스(Base) 를사용해숫자의갯수를서술한다. precisionbase : 사용되는숫자의베이스(Base) 를서술한다. longtype : 부호를갖는 4 바이트이진정수데이타를정의한다. precision : precisionbase 매개변수에서정의한베이스(Base) 를사용해숫자의갯수를서술한다. precisionbase : 사용되는숫자의베이스(Base) 를서술한다. floattype : C-ISM 의부동소수점데이타항목을서술한다. mantissaprecision : 가수(Mantissa) 에서유효이진수갯수를서술하는양의정수를정의한다. maxexponent : 지수의최대절대값을서술하는비음수정수를정의한다. doubletype : 배정도부동소수점데이타항목을정의한다. mantissaprecision : 가수(Mantissa) 에서유효이진수갯수를서술하는양의정수를정의한다. maxexponent : 지수의최대절대값을서술하는비음수정수를정의한다. 3) ISDBLArgumentValues와 ISDBLResultValues listofisvalue : C-ISAM 문에서의개별적인 <Variable Specification> 값을갖는항목을정의한다. -14-

15 dataitem : Data Variable 값을정의한다. characteritem : 문자 Data Variable 값을정의한다. HcharacterItem : 한글문자 Data Variable 값을정의한다. decimalitem : 십진 Data Variable 값을정의한다. integeritem : 2 바이트이진정수Data Variable 값을정의한다. longitem : 4 바이트이진경수Data Variable 값을정의한다. floatitem : 부동소수점 Data Variable 값을정의한다. doubleitem : 배정도부동소수점 Data Variable 값을정의한다. indicator : <indicator variable> 값을정의한다. 다. 순차규칙 RDA C-ISAM 에서는서버에대한순차규칙은정의하지않으나, 클라이언트에대한순차규칙은다음과같이정의한다. ISO/IEC (RDA 일반표준) 에정의된순차규칙에추가하여다음과같은순차규칙을적용한다. a) 만일 RDA 클라이언트가 C-ISAM 데이타베이스자원을성공적으로개방할경우에는, RDA 클라이언트는 RDA 대화에서다른 R-Open 요청을발생하기전에, RDA C-ISAM 데이타베이스자원을폐쇄하여야한다. b) 만일 RDA 클라이언트가 RDA C-ISAM 문의실행을요청한다면, RDA 대화에 RDA트랜잭션의개방이있어야한다. 3. 규약 가. 서버실행규칙 1) 대화-상태모델가)RDA대화개체 ISConformanceLevelDefault: RDA 대화문맥에서사용될수있는 DBL문에대한 C-ISAM 표준을식별하기위하여사용된다. userdata : 속성은 RDA 서버구현자에의하여정의된다. -15-

16 나) 개방된데이타자원개체 ISConformanceLevel: RDA 대화문맥에서사용될수있는 DBL문에대한 C-ISAM 표준을 식별하기위하여사용된다. ISLockMode: C-ISAM 데이타자원의로크를정의한다. ISEXCLLOCK: C-ISAM 데이타자원( 파일) 을배타적으로로크한다. ISMANULOCK: C-ISAM 데이타자원( 파일및레코드) 을수동으로로크한다. ISAUTOLOCK: C-ISAM 데이타자원( 레코드) 을자동으로로크한다. ISAccessMode: 개방하는데이타자원의입출력모드를나타낸다. ISINPUT: C-ISAM 데이타자원( 파일) 을입력모드로개방한다. ISOUTPUT: C-ISAM 데이타자원( 파일) 을출력모드로개방한다. ISINOUT: C-ISAM 데이타자원( 파일) 을입출력모드로개방한다. ISTransMode: C-ISAM에서제공하는두가지트랜잭션처리기능을정의한다 ISOCONTROL: TX 커널에서제공하는, 로크를이용하여트랜잭션을처리한다. ISTRANS: C-ISAM 에서기본적으로제공되는기능으로트랜잭션을처리한다. ISDiagnosticsRequested: 클라이언트에서요청하는진단정보요구를서술한다. always: R-ExecuteDBL 결과에진단정보가항상포함될것을나타낸다. onrequest: 요구가있을경우에만 R-ExecuteDBL의실행결과에진단정보가포함될것을 나타낸다. never: 진단정보가포함되지않는것을나타낸다. clientdefcharset: 클라이언트에서사용가능한 default 문자집합을서술한다. serverdefcharset: 서버에서사용되는 default 문자집합을서술한다. 다) 정의된 DBL 개체 ISDBLArgumentSpecification: RDA C-ISAM문인수의 C-ISAM 데이타타입이다. ISDBLResultSpecification: RDA C-ISAM문의결과의 C-ISAM 데이터타입이다. ISDBLStatement: RDA에서정의된 C-ISAM 문이다. 2) R-Initialize ㆍ개체조작규칙 서비스 ISConformanceLevelDefault: R-Initialize 지시프리미티브에서정의한값이다. -16-

17 userdata: RDA 서버에의해처리되는 userdata 속성값이다. ㆍ결과규칙 userdata: 대화개체에서처리된 userdata 속성값이다. 3) R-Open 서비스 ㆍ개체조작규칙 다음은개방된데이타자원개체에관하여추가된속성들의초기값에대한제한을정의한 다. ISConformanceLevel: R-Open 지시프리미티브, C-ISM 의레벨을식별한다. ISDiagnosticsRequested: R-Open 지시프리미티브의 ISDiagnosticsRequested 매개변수 값혹은 default 값인 never 를갖는다. ISLockMode: 배타적로크인 ISEXCLLOCK, 수동적로크인 ISMANULOCK, 자동적로크인 ISAUTOLOCK 을갖는다. ISAccessMode: 사용하고자하는용도에따라입력모드(ISINPUT), 출력모드(OUTPUT), 입출력모드(ISINOUT) 중하나를갖는다. ISTransMode: 트랜잭션사용을전제로한 ISOCONTROL 모드와일괄업무처리시단일사 용자환경을제공하는 ISEXCLLOCK 모드중하나를갖는다. clientdefcharset: 초기값은 R-Open 지시프리미티브에서제공하는 charset 혹은 null" 이 다. serverdefcharset: 매개변수의값에의하여식별되는문자집합결과, 혹은문자집합을식 별하는객체식별자, 혹은 null" 을갖는다. ㆍ결과규칙 다음은어떤결과가반환될때, 그결과매개변수의제한들을정의한다. ISConformanceLevel: 개방된자원개체에서의속성값, 혹은개방된자원개체에서의속성 값, 혹은생략된다. charsetnotsupported: RDA 서버에서 charset 매개변수에의해식별된문자집합을제공할 수없으면 true 이고, 그렇지않으면 false 이다. charset: RDA dialogueid 속성이현재 RDA 대화를식별하면 dataresourcehandle은속 성값이다. -17-

18 ㆍ오류규칙 invalidisconformancelevel: ISConformanceLevel 매개변수의값이 C-ISAM 전산망표준 객체식별자중하나로확인하지않았다. rdatransactionopen: 대화개체의 rdatransactionstatus 속성이 rdatransactionopen 값을갖는다. ISAccessControlViolation: R-Open 지시프리미티브의 ISAccessControlData 매개변수는 RDA 클라이언트에게권한을주지못한다. ISDataResourceAlreadyOpen: 접근하고자하는데이타자원이사용중이다. ISDatabaseTooManyOpen: 개방하고자하는데이타자원이시스템에서허용하는최대치를 초과하였다. 4) Close 서비스 ㆍ오류규칙 rdatransactionopen: RDA 대화개체의 rdatransactionstatus이 rdatransaction-open 값을가지고있다. 5) R-ExecuteDBL 서비스 ㆍ개체조작규칙 RDA SQL 특수표준및 C-ISAM 은없다. 특수표준에서개체조작규칙에대하여추가되는요구사항 ㆍ결과규칙다음은어떤결과가반환될때, 그결과매개변수의제한들을정의한다. charset: listofisdatadestriptor 의대응되는객체식별자가동반된다. ISDBLException: 개방된데이타자원개체의 ISDiagnosticsRequested에따라서버에의해 ISDiagnostics 를반환한다. colname: ISDBLResultSpecification의부분인 listofisdatadescriptor를각항목에서서술한다. < 표 2-1> 에는 C-ISAM 인수와결과매개변수를사용하는 R-ExecuteDBL 을정의한다. -18-

19 < 표 2-1> C-ISAM 인수와결과매개변수를사용하는 R-ExecuteDBL C-ISAM 인수와결과매개변수를사용하는 R-ExecuteDBL 실행될 RDA C-ISAM문 ArgSpec ArgVal ResSpec ResVal isabortcleanup isaddindex C->S (H) C->S (H) isaudit C->S (H) C->S (H) isbegin isbuild C->S (H) C->S (H) C<-S (H) C<-S (H) isclose C->S (H) C->S (H) iscluster C->S (H) C->S (H) C<-S (H) C<-S (H) iscommit isdelcurr C->S (H) C->S (H) isdelete C->S (H) C->S (H) isdelindex C->S (H) C->S (H) isdelrec C->S (H) C->S (H) iserase C->S (H) C->S (H) isextents isflush C->S (H) C->S (H) isindexinfo C->S (H) C->S (H) islock C->S (H) C->S (H) islogclose islogopen C->S (H) C->S (H) isopen C->S (H) C->S (H) C<-S (H) C<-S (H) ispartinfo ispartition C->S (H) C->S (H) ispartname isread C->S (H) C->S (H) isrecover isrelease C->S (H) C->S (H) isrename C->S (H) C->S (H) isrewcurr C->S (H) C->S (H) isrewrec C->S (H) C->S (H) isrewrite C->S (H) C->S (H) isrollback issetunique C->S (H) C->S (H) isstart C->S (H) C->S (H) isuniqueid C->S (H) C->S (H) isunlock C->S (H) C->S (H) -19-

20 iswrcurr C->S (H) C->S (H) iswrite C->S (H) C->S (H) 범례 ArgSpec ArgVal ResSpec ResVal C->S C<-S ISDBLArgumentSpecification 매개변수 ISDBLArgumentValues 매개변수 ISDBLResultSpecification 매개변수 ISDBLResultValues 매개변수 RDA 클라이언트에서제공하는매개변수 RDA 서버에서반환되는매개변수 (H) RDA C-ISAM문에서호스트변수를포함하면 RDA 클라이언트는 blank 이매개변수를설정한다. 서술하지않음 ㆍ오류규칙 hostidentifiererror: Host Identifier 의지정이잘못되었다. rdatransactionnotopen: rdatransactionstatus 속성은을갖는다. rdatransactionnotopen의값 ISDBLArgumentCountMismatch: listofisvalue의항목수와 1istOfISDataType-Descriptor 의항목수가동일하지않다. ISDBLArgumentTypeMismatch: listofisvalue의항목에대한타입이 1istOfIS-DataTypeDescriptor 에대응되는항목과같지않다. ISDBLNoCharSet: ISDBLArgumentSpecification 혹은 ISDBLResultSpecification 은문자집합에대한명확한명세없이문자데이타에대한서술자를포함하거나, ISDBLStatement 는문자집합의명확한서술을갖지않는다. ISDBLStatementNotAllowed: RDA 클라이언트가 RDA C-ISAM 문을실행시켰으나, RDA C-ISAM 특수표준에서적합하지않아되지않는다. ISUsageModeViolation: dataresourcehandle 에의해정의된개방된데이터자원개체의 ISUsageMode 속성에사용된모드의조합이부적절하다. -20-

21 나. 적합성 본절은 RDA C-ISAM 특수표준에대한적합성요구사항을정의한다. " 클라이언트역할" 이 란용어는 RDA 요청을시작하는능력을의미하고, " 서버의역할" 이란용어는그러한 RDA 요청에응답하는능력을의미한다. 본표준의적합성을주장하는구현은다음을준수하여야 한다. ㆍISO/IEC : 1993에서술한 RDA 일반모델, 서비스, 규약서버실행규칙과상태테 이블에대한적합성은 RDA APDU의순서와 RDA APDU의내용에미치는이들의영향에 대해서만시험된다. 1) 정적적합성본표준의적합성을주장하는구현은다음을제공하여야한다. ㆍ클라이언트의역할, 서버의역할, 또는이둘의역할ㆍ 데이타베이스언어서비스 에명시된기능단위 2) 동적적합성본표준의적합성을주장하는구현은다음과같은외부동작을보여야한다. ㆍ서버역할을제공한다면, 데이타베이스언어인 C-ISAM 문을실행할수있는접근(RDA에대한적합성주장은 C-ISAM 에대한적합성주장과별개이다.) ㆍ서버역할을제공한다면, "RDA C-ISAM 특수표준 에명시된 RDA 서버실행규칙ㆍRDA C-ISM APDU 의구조및코드화에명시돤규약-데이타-단위에대한구조및코드화 4. 응용-문맥 RDA C-ISAM에서는 TP 응용-문맥을정의하지않고기본응용- 문맥만을정의한다. 가. 기본응용-문맥객체식별자본절은 ANS.1 객체식별자값인 {C-ISAM standard rda part-1(1) basic-ac(l)version-l(1)} 과 객체 서술자 값인 RDA-C-ISAM-BAS1C-APPL-CONTEXT-V1 을 RDA C-ISAM 기본응용-문맥으로할 당한다. -21-

22 나. 적합성요구사항본절은 RDA C-ISAM 특수표준의기본응용-문맥에대하여추가적인적합성요구사항을정의한다. RDA C-ISAM 에서는동적적합성을정의하지않고정적적합성만을정의한다. 국제표준의정적적합성에 C-ISAM 특수표준부분의기본응용-문맥에대하여적합성을요구하는구현은다음과같은기능을제공해야한다. ㆍRDA 트랜잭션관리기능단위 -22-

23 제 3절 KSQL1 1. KSQLI 의개요 SQL(Structured Query Language) 은관계형데이타베이스시스렘의데이타베이스언어국제표준으로서, 관계형데이타베이스시스템인 System R의데이타베이스언어인 SEQUEL(Structured English QUEry Language) 로부터발전했다. SQL에대한최초의표준화작업은 ANSI(American National Standard Institute) 에의해수행되었고, ISO(International Standard Organization) 에의해 1987년에국제표준 ISO IS9075:1987 로채택되었다. 그후데이타베이스응용분야의확장에따라사용자의요구사항을만족시킬수있도록 ISO IS 9075:1987 에기본적인참조무결성(referentialintegrity) 에대한내용을추가시켜 ISO IS 9075:1989 가완성되었다. 이것이우리가흔히 SQLl이라부르는것이다. 그후 SQL1에대한확장이계속진행되어 1991년 4월에 SQL2의 DIS(Draft International Standard) 판이만들어졌고, 각국가대표들의투표를거쳐국제표준인 ISO IS 9075:1992 가최근에제정되었다. 그리고다른한편으로, 더욱새로운데이타베이스기술을수용할수있는데이타베이스언어를만들고자객체지향개념등을수용할수있는 SQL3에대한표준화작업이계속이루어지고있어 1995 년에표준안이확정될예정이다. 현재진행중인 SQL3의객체지향개념을기념을기반으로하여특정응용에적합한데이타베이스언어기능을표준화하는새로운항목이제안되었으며, 이를지원하는언어를 SQL/MM(SQL Multimedia and applicationpackages) 으로명명하였다. 위에서살펴본것처럼최근몇년사이관계데이타베이스관리시스템 (Relational Database Management System) 의데이타베이스언어로서 SQL은매우빠른속도로국제표준으로정착되고있다. 이런상황에서우리나라의실정을살펴보면, 1989년에공업진흥청에서 ISO IS9075:1987에기반을두어 KS(Korean Standard) 를만들기위해표준안연구를수행하여, 1990 년에 데이타베이스언어 SQL(KSC )" 를제정하였고같은해에 SQL 의키워드를한글화한 " 한글관계형데이터베이스언어(HSQL)(KSC )" 를표준화하였다. 그러나, KSC 은현재 SQL2 가세계표준으로제정된상황에서볼때, 이미효용성이없는구표준이며, 더우기 ISO IS 9075:1989가 ISO IS 9075:1987을대체한상황에서과거표준을기반으로했다는문제점을가지고있다. -23-

24 또한 HSQL(KSC ) 에서는키워드만을한글화하였고, 실제이표준을따르는어떤한글관계 DBMS 상품도없다는점을볼때, 사장된표준이라고생각된다. 근래의소프트웨어개발환경에있어서데이타베이스시스템의역할은각시스템간의상호데이타를공유하게하고통합하는가장기본적인시스템소프트웨어로서자리를굳히고있으며, 더우기각기간분야의전산망을구축하여정보및컴퓨터자원의효율적인공유를목적으로하고있는국가기간전산망사업에서의데이타베이스시스템은각기관의데이타를유지관리하고공유하게하여정보자원을효율적으로활용하게하는중요한역할을담당하고있다. 이와같은데이타베이스시스템의중요성을고려해볼때, 국내상황을반영하는적절한데이타베이스언어의표준이제시되지않으면여러가지형태의 DBMS가난립하여데이타의공유, 통합및시스템간의상호연동성을더욱어렵게만들위기에처해져있다. 따라서, 본연구는앞으로국가기간전산망및국내기타전산망에주요하게사용될관계형데이타베이스관리시스템의환경에적합한데이타베이스언어의고려사항을파악하여이를반영하며, ISO의국제표준을준수하는수준의국내데이타베이스언어표준안을개발하는것을그목적으로하고있다. 2. 표준화현황본표준에서는국내데이타베이스언어표준( 가칭 KSQL1) 을개발하는데있어서다음과같은방향을설정하였고, 이를표준안에반영하였다. 첫째,KSQL1은가급적국제표준인 ISO 표준을준수하도록하였다. 둘째, 현재상용관계 DBMS는기본적으로 ISO SQLl(9075:1989) 을거의만족한다. 만약 SQL1 을기반으로하게된다면, SQLl에정의된기능이현재상용화되어있는관계 DBMS 제품들이제공하는기능에비해너무빈약하기때문에제품마다추가로제공되는기능이다양해질것이며이기능들을사용하는응용프로그램들의호환성에문제가있게된다. 또한 SQL1에는많은오류가있음이 SQL2 작업중에밝혀져, SQL2 에이를개선하였다. -24-

25 셋째, KSQL1은 ISO 9075:1992 를기반으로한다. ISO 9075:1992는기능들을 3 레벨로 구분한다. 레벨 1은데이타베이스시스템이갖추어야할가장기본적인기능만표준으로제 안한다. 레벨 2는일반적으로데이타베이스시스템이사용하는많은기능들을표준으로정 의한다. 레벨 3는분산환경및서로다른문자를사용하는데이타베이스시스템간에필요 한기능들을표준으로정의한다. 넷째, 현재 SQL2 레벨 3의기능을모두만족하는 DBMS 제품은전세계에하나도없다. 또 한레벨 2의기능에있어서는 SQL2가 1992년에제정되었으므로각상용 DBMS는현재 레벨 2 기능에대해각기상이한형식을제공하고있다. 따라서 KSQL1은 SQL2 레벨 1에 기반을두고, 레벨 2 에서필요한기능은적극수용하였다. 그러나, 앞에서언급했듯이레벨 1은가장기본적인기능만표준으로제정하고있고현재응용환경에서사용되고있는기 능들은이보다훨씬많다. 사용자의요구가더높고제정된표준안이이요구를만족시키지 못하면, 그기능들을지원하기위해각 DBMS마다별도의 specification 을사용할것이다. 이는응용프로그램의호환성문제발생과함께 DBMS 개발자에게는 specification 만드는 데추가적인노력을요구한다. 다섯째, KSQL1 표준은그대상을국가기간전산망을포함하는국내전산망에서운영되는 데이타베이스시스템에적용시키는것을목표로한다. 따라서, 국내전산망사용자들의요구 사항수용및각전산망응용시스템들사이의호환성의확보가가장시급한문제이다. 특히 여기서중요한것은국제표준을그대로수용하는것도중요하지만이표준이적용될대상 에대한고려가중요하다. KSQL1 은국가표준이아닌정부표준이다. 미국의 FIPS나캐나 다와같은경우에도국제표준중반드시필요한부분을정부표준으로만들어정부관련기 관이 DBMS 를도입할때이를따르도록하고있다. 여섯째, 특정 DBMS의독점을없애고경쟁을유발시켜 DBMS 시장을확대시켜국내산업 발전및기술개발을유도한다. 일곱째,KSQL1 에서고려한전산망에서의사용자요구사항은다음과같다. 한글지원 : ISO의 SQL1에는 ASCII 문자만고려하고다른문자집합에대한고려가없 었으므로, 설령어떤 DBMS가 SQL1의표준을만족한다고하더라도데이타베이스시스템 개발자에따라한글을지원하는방법이상이하였다. -25-

26 따라서 KSQL1 에서는한글데이타, 한글리터럴, 한글식별자등의지원및처리방안에대하여통일성을기하도록하기위해문자집합에 KS5601 ( 한글, 한자) 를첨가확장하였고, 한글, 영문모두문자개념을지원하도록하였다. 스키마관리기능지원 : 하나의 DBMS에는여러종류의응용시스템들이존재할수있으며, 이들을각각지원하는스키마의관리기능이필요하다. 이를위해스키마의생성은물론삭제, 변경기능들을지원하는것은필수적이다. 다양한트랜잭션처리기능 : 전산망에서사용할주전산기의개발목표중가장큰하나는 OLTP(On-line Transaction Processing) 기능의효율적지원이다. 또한각응용의성격에따라다양한형태의트랜잭션처리기능을제공함으로써시스템의효율성을제고하는것이필수적이다. 동적데이타베이스언어의사용 : 관계 DBMS의대부분의응용은성능을위하여미리컴파일되어수행하는것이대부분이나, 대화식질의유틸리티나데이타베이스디자인도구등의범용응용시스템을개발할때는실행시에사용될 SQL문이결정되는것이바람직하다. 이런기능을지원하는것을동적 SQL 언어라하며, 특히여러형태의사용자인터페이스를개발, 제공하는데이기능은필수적이다. 오류관리기능의향상 : 사용자가오류발생의원인에대한자세한설명을제공받을수있다면응용시스템개발에매우용이할것이다. 또한일반사용자에게친숙하도록한글오류메세지가제공되어야하는데, 현재한글화된영문 DBMS에는자세한오류메세지기능도없을뿐더러그메세지형태도통일되어있지않다. 3. 표준범위 KSQL1의표준화범위는 ISO SQL2의레벨 1 을기반으로하고, 앞의표준화방향에서언급한바와같은필요한몇가지기능을추가하였다. SQL의문장별로정의한 KSQL1의표 준화범위는뒤에서술되어있는 < 표 2-2> 과같다. -26-

27 < 표 2-2> 에는 ISO SQL2의각레벨별표준화범위및 X/Open의표준화범위와 KSQL1의 표준화범위를비교해놓았다.< 표 2-2> 을구체적으로살펴보면다음과같다. 첫째, 스키마정의어의경우 ISO SQL2의레벨 l 은스키마, 테이블, 뷰의정의와권한을부 여하는기능만을제공한다. 이에비해 SQL2의레벨 2에서는도메인정의와문자집합정의 기능을추가하였다. 새로운객체개념인도메인은허용가능한값들의집합으로데이타베이 스에저장가능한유효한값들을제한할수있으며, 스키마로정의되는것이다. 도메인과 문자집합정의기능을추가한레벨 2에정의한문자집합에대한대조순서를결정하는 collation 정의와문자집합간의변환규칙정의도추가한것이 SQL2의레벨 3의표준화 범위이다. 한편, X/Open 표준안에서는테이블정의와뷰정의기능과권한부여기능만을 가지고있을뿐스키마정의기능이제외되어있다. KSQL1에서는 SQL2의레벨 1을그대 로수용하였다. 둘째, 스키마처리어는 SQL2의레벨 1을제외하고는각표준에서모두제공되고있는것으 로 SQL2의레벨 2, 레벨 3와 X/Open은스키마정의어에서정의했던개념들에대한삭제 및취소기능을가졌고, X/Open 의경우만스키마삭제기능이제외되어있다. SQL2의레벨 3 는그외에도메인갱신에대한기능이추가되어있다. 스키마관리어는레벨 2에서지원하는기능이지만일반적으로스키마정의어에의해생성 된객체들에대한삭제, 변경기능은필수적이다. 표준안이없는경우이기능들을수행하 기위한도구들을각자나름대로다양한방법으로지원할것이므로이를통일할필요성이 있다. 따라서, KSQL1 에서는스키마정의어에정한범위문장에맞추어, 정의되었던스키마, 테이 블, 뷰, 권한의삭제및취소를포함하고, 테이블구조의갱신을지원하도록표준범위를정 하였다. 셋째, 자료처리어는 SQL2의레벨 3 를제외하고각표준의표준화범위가같다. 자료처리 어는데이타베이스의자료를처리하기위해정의한문으로서검색, 추가, 삭제, 갱신하는명 령어로구성되어있고, SQL2의레벨 3에서추가되는기능은국지임시테이블을정의하는 DECLARE LOCAL TEMPORARY 문이다. 국지임시테이블은테이블이정의되는시점에 실제물리적인테이블을만드는것이아니고, SQL 세션내에서테이블을참조하는모듈마다 별개의실제테이블이만들어지며,SQL 세션이끝날때만들어진실제테이블은없어진다. -27-

28 국지임시테이블에들어있는자료는같은 SQL 세션내의모듈간에도공유가불가능하다. KSQL1에서는 SQL2의레벨 1 을그대로수용하였다. 넷째, 트랜잭션관리어는 SQL2의레벨 1과 X/Open 표준안은트랜잭션의종료와취소기능 만을제공하는데에반해서 SQL2의레벨 2는종료와취소기능외에트랜잭션의속성을정 의할수있도록 SET TRANSACTION 을추가하였다. 그리고, 레벨 3에서는트랜잭션의제 약조건모드에대한정의를추가하였다. KSQL1에서는 주전산기의 공동 시스템들의 주요한 요구 조건이 OLTP(On-Line Transaction Processing) 이므로, 이를효율적으로지원하기위해 SQL2의레벨 2를수용하 였다. SET TRANSACTION 문이란자료를검색시트랜잭션간에미치는영향의정도즉, isolation 레벨을여러단계로나누어사용자가선택할수있도록하는문이다. 즉, 트랜잭 션들의동시수행정도를결정하는인자가된다. 이는응용환경의특성에따라필요한경 우자료의일치성을일부포기하고라도동시성을높일수있도록허용한다. 예를들어, 통 계정보를처리하는응용이라면모든자료가꼭정확히, 일치해야하는것이아니므로이때 는가장낮은 isolation 레벨을사용하여일을처리하고동시에다른트랜잭션도수행할수 있게할수있다. 반대로주민등록업무나은행온라인시스템과같은응용업무에서는모든 자료의일치성이반드시보장되어야하므로가장늪은 isolation 레벨을사용하여정확한 자료처리를할수있다. 다섯째, 특정 SQL 환경( 같은장소또는다른장소에존재) 과의연결또는단절을관리하 는연결관리기능은 SQL2의레벨 3와 X/Open 에서만지원한다. 여섯째, 세션관리어는한사용자와특정 SQL 환경간의연결이설정된상태를말하는 SQL 세션내에서기본으로사용할수행환경을관리하는기능을정의하며 SQL2의레벨 2와레 벨 3 에서지원하며, 레벨 3는레벨 2에비해현 SQL 환경내의디폴트카탈로그명과디폴 트스키마명정의를추가하고, 식별자와문자열리터렬을위한디폴트문자집합명정의를 추가하였다.KSQL1 에서는이를지원하지않는다. 일곱째, 동적 SQL 관리어는 SQL2의레벨 1 에서는지원되지않는기능이며, SQL2의레벨 2와 X/Open의범위는 EXECUTE IMMEDIATE 문장만제외하고는동일하다. 여기서지원 되는기능은 SQL descriptor 관리, 동적자료처리, 동적커서정의및동적으로수행시킬 문의실행에대한기능이지원된다. -28-

29 여기에레벨 3 에서는동적으로수행시킬문의준비에대한기능을추가했다. KSQL1에서는 X/Open 수준의동적 SQL 관리어지원이적절하다고판단되어범위에포함되었다. 동적 SQL이란컴파일할때실행할 SQL문이결정되는것이아니라실행시 SQL문이결정되는것이므로응용프로그램에융통성을제공한다. 동적 SQL은레벨2로부터지원하는기능이지만대부분의상용 DBMS 는이를지원한다. 동적 SQL은데이타베이스시스템의사용자인터페이스로사용되는많은도구들이데이터베이스엔진과인터페이스시일반적으로채택하는방법이다. 여덟째, 오류를진단하는오류관리어는 SQL2의레벨 1을제외한각표준에서지원하고있다. SQL은비절차적언어이고문하나를처리하는과정이무척복잡하므로단순한오류코드로만으로는오류발생원인에대한이해가무척어렵다. 그러므로사용자가필요시에추가로오류에대한상세한설명을제공할수있도록오류관리어를추가한다. 또한기본적으로사용되는오류코드값을표준에서지정하므로써응용프로그램에서오류처리가용이하다. 응용프로그램은사용하고있는데이터베이스시스템과무관하게오류처리를수행할수있다. 마지막으로, 정보스키마는사용자가접근할수있는데이타베이스에대한스키마정보를제공하는스키마로서, SQL2의레벨 2 이상에서지원되는기능이다. 이정보스키마는현 SQL 환경내에있는모든스키마정보로부터특정사용자와관련된스키마정보만을뷰테이블로만들어저장한스키마이다. 정보스키마에속해있는뷰테이블에대해서는모든사용자가 SELECT 권한만보유하며, 이정보스키마의스키마이름은 INFORMATION_SCHEMA" 이다.KSQL1 에서는이를지원하지않는다. < 표 2-2> 표준화범위 문종류 SQL 레벨 1 레벨 2 레벨 3 X/OpenKSQL1 스키마 CREATE SCHEMA o o o x o 정의어 CREATE TABLE o o o o o -29-

30 문종류 SQL 레벨 1 레벨 2 레벨 3 X/OpenKSQL1 CREATE VIEW o o o o o GRANT o o o o o CREATE DOMAIN x o o x x CREATE ASSERTION x x o x x CREATE CHARACTER SET x o o x x CREATE COLLATION x x o x x CREATE TRANSLATION x x o x x 스키마 DROP SCHEMA x o o x o 처리어 DROP TABLE x o o o o ALTER TABLE x o o o o DROP VIEW x o o o o REVOKE x o o o o DROP DOMAIN x o o x x ALTER DOMAIN x x o x x DROP ASSERTION x x o x x DROP CHARACTER SET x o o x x DROP COLLATION x x o x x DROP TRANSLATION x x o x x 자료 DECLARE CURSOR o o o o o 처리어 OPEN o o o o o FETCH o o o o o CLOSE o o o o o SELECT:single row o o o o o -30-

31 문종류 SQL 레벨 1 레벨 2 레벨 3 X/OpenKSQL1 DELETE:positioned o o o o o DELETE:searched o o o o o INSERT o o o o o UPDATE:positioned o o o o o UPDATE:searched o o o o o DECLARE LOCAL TEMPORARY x x o x x 트랜잭션 SET TRANSACTION x o o x o 관리어 SET CONSTRAINT x x o x x COMMIT o o o o o ROLLBACK o o o o o 연결 CONNECT x x o o x 관리어 SET CONNECTION x x o o x DISCONNECT x x o o x 세션 SET CATALOG x x o x x 관리어 SET SCHEMA x x o x x SET NAMES x x o x x SET TIME ZONE TO x o o x x SET AUTHORIZATION SESSION x o o x x 동적 ALLOCATE DESCRIPTOR x o o o o SQL DEALLOCATE DESCRIPTOR x o o o o 관리어 GET DESCRIPTOR x o o o o -31-

32 문종류 SQL 레벨 1 레벨 2 레벨 3 X/OpenKSQL1 SET DESCRIPTOR x o o o o PREPARE x o o o o DEALLOCATE PREPARE x x o x x DESCRIBE INPUT x x o x x DESCRIBE OUTPUT x o o o o EXECUTE x o o o o 동적 EXECUTE IMMEDIATE x o o x x SQL dynamic DECLARE CURSOR x o o o o 관리어 ALLOCATE x o o x x < 계속> dynamic OPEN x o o o o dynamic FETCH x o o o o dynamic CLOSE x o o o o dynamic DELETE:positioned x o o o o dynamic UPDATE:positioned x o o o o preparable dynamic DELETE x x o x x preparable dynamic UPDATE x x o x x 오류관리어 GET DIAGNOSTICS x o o o o 정보스키마 INFORMATION SCHEMA x o o x x 기타문 CREATE INDEX x x x x x UPDATE STATISTICS x x x x x DROP INDEX x x x x x -32-

33 < 표 2-2> 에나타난것처럼 KSQL1은 SQL2의레벨 1 을 기반으로하고, 필요한기능을추 가한정도의범위를갖고있는데, 그이유는 첫째, 만약 SQL1 을기반으로하게 된다면, SQL1에정의된기능이현재상용되어있는관계 DBMS 제품들이제공하는기능에비해너무빈약하기때문에제품마다추가로제공되는기 능이다양해질것이며이기능들을사용하는응용프로그램들의호환성에문제가있게되 며, 둘째, 상용화되어있는관계 DBMS 제품들이 ISO IS 9075:1992의모든기능을만족시키 지못하기때문이다. 그리고, SQL2의레벨 l에비해 KSQL1에는동적 SQL 관리어, 스키마처리어, 오류관리어, 트랜잭션의속성을정의하는 SET TRANSATION 문이추가되었으며, 기본구성요소에한 글과한자를지원할수있도록 SQL character language 에 (KSC-5601 ( 완성형) letter> 을 추가하였다. -33-

34 제 4 절데이타베이스게이트웨이표준 데이타베이스게이트웨이란서로다른이기종데이타베이스를접근(access) 할수있도록개방된연결성을보장하는구조를말한다. 이는네트워크로연결된클라이언트/ 서버데이타베이스에서각각다른종류의데이타베이스정보를일관된형태로액세스할수있도록하는인터페이스를제공함으로써, 응용프로그램의개발환경을표준화하는것이다. 네트워크혹은대형컴퓨에서가능한모든업무를액세스하기위해알아야하는여러가지형식에대한지식이없어도게이트웨이의응용프로그램인터페이스 (Application Programming Interface, 이하 API) 의표준을따르기만하면다양한데이타소스(data source) 를접근할수있는응용프로그램을만들수있다. 따라서사용자는원하는데이타베이스관리시스템을선택하여해당드라이버와링크함으로써데이타베이스시스템의종류에관계없이응용프로그램을구동할수있다. 본게이트웨이표준방법에서는마이크로소프트사에서제공해주고, 많은 DBMS 제품들이지원해주는 ODBC(Open Database Connectivity) 를기본으로한표준에대하여설명한다. 1. 주요구성요소 데이타베이스게이트웨이는드라이버를통하여데이타소스로접속을요청하고, SQL을요 청하는역할을수행한다. 또한결과를받기위하여메모리할당및데이타형식을정의하 고, 필요에따라전송된결과를사용자에게출력하거나오류를처리하며, 작업이종료되면 접속해제를요구한다. ODBC는개념적으로크게다음의 4개의구성요소로이루어져있 다. 가. 응용(Application) 데이타자원(Data Source) 에접근하며 SQL 문장을보내고그결과를받기위하여 ODBC 함수를호출하는응용프로그램으로서, C 언어로작성되며, Microsoft Windows 운영체계 에서구동된다. -34-

35 나. 드라이버관리자(Driver Manager) 드라이버관리자는동적링크라이브러리(Dynamix Link Library, DLL) 이며, 어플리케이션에게접속가능한데이타자원에대한정보를제공해주고, 필요시동적으로해당드라이버를적재(1oad) 하는기능을담당한다. ODBC 어플리케이션은항상드라이버관리자를통하여통신을하며, 직접적으로드라이버와교신할수없다. 다. 드라이버(Driver) 드라이버관리자와네트워크사이에존재하며,ODBC 함수호출을처리하고, 어플리케이션과 특정 DBMS 사이의모든변환을수행한다. 표준 SQL 구문을목표로하는데이타자원이제 공하는 SQL 로변환하는기능도담당하고있다. 데이타베이스게이트웨이에서제공되는드 라이버는크게다음의두가지형태로나누어볼수있다. 1) 싱글타이어(single-tier) 드라이버 ANSI SQL 문장을지원하지않는 DBMS 를이용하기위한것으로, 드라이버는데이타소스 에포함되며그기능을부분적으로수행한다. 싱글타이어드라이버는 ODBC 호출과 SQL 문장을모두처리할수있다. 2) 멀티플타이어(multiple-tier) 드라이버 SQL 명령문처리시서버형관계 DBMS 에의존하는드라이버의형태로, 이방식은서버가 오직 SQL 명령문의기준에따른특정결과만을전달하기때문에네트워크트래픽을최소화 할수있다는장점이있다. 라. 데이타자원(Data Source) 사용자가접근을원하는데이타베이스와운영체제, DBMS, 네트워크기반환경을통틀어데이타자원이라한다. 어플리케이션은동시에여러데이타자원에연결될수있다. -35-

36 그림 2.2 ODBC의개념적구조 2. 지원레벨가. 지원함수목록데이타베이스게이트웨이에서는 ODBC 에서제공하는모든함수를제공해주도록하였으며, 제공함수중 ODBC 코어(core) 부분을본표준에서는레벨 1 로정하였고,ODBC의 Level 1 및 Level 2 부분을본표준에서는레벨 2 로정하였다. 레벨 1은표준함수중필수적으로제공이되어야하는부분이며, 레벨 2는필수기능은아니지만사용자의편의및시스템의효율성을위하여제공되는기능이다. 지원함수의목록은다음과같다. < 표2-3> 지원함수목록 분류함수이름목적레벨 데이타소스연결 SQLAllocEnv 환경핸들을얻으며, 하나의환경핸들은하나이상의연결을위하여사용될수있음 1 SQLAllocConnect 연결핸들을얻음 SQLConnect 데이터소스명, 사용자 ID, 패스워드에의하여특정드라이버에연결을수행 1-36-

37 분류함수이름목적레벨 SQLDriverConnect 드라이버관리자와드라이버가사용자에게연결대화를하도록연결요청에의해특정드라이버에연결됨 2 SQLBrowseConnect 다음레벨의애트리뷰트및적당한애트리뷰트값을리턴함. 값이각연결애트리뷰트에대해지정이되어있다면, 데이터소스에연결할것. 2 드라이버및데이터소스에대한정보확보 SQLDataSources 접근가능한데이터소스의리스트를리턴함 2 SQLGetInfo 특정드라이버와데이터소스에대한정보를리턴함 2 SQLGetFunctions 제공되는 드라이버 함수들을 리턴함 2 SQLGetTypeInfo 제공되는데이터타입에대한정보를리턴함 2 드라이버옵션설정및추출 SQLSetConnectOption 연결옵션을설정함 2 SQLGetConnectOption 연결옵션의값을리턴함 2 SQLSetStmtOption 문장옵션을설정함 2 SQLGetStmtOption 문장옵션의값을리턴함 2-37-

38 분류함수이름목적레벨 SQL 준비 요청 SQLAllocStmt 문장핸들을할당함 1 SQLPrepare 추후실행을위하여 SQL 문장을할당함 1 SQLSetParam SQLParamOption SQLGetCursorName SQL 문장내의파라미터에대한저장소를할당함 파라미터에대한다중값의사용을상술함 문장핸들과연관된커서이름을리턴함 SQLSetCursorName 커서이름을결정함 1 SQLSetScrollOptions 커서행위를컨트롤하는옵션을설정함 2 요청수락 SQLExecute 준비된문장을실행함 1 SQLExecDirect 문장을실행함 1 SQLNativeSql 드라이버에의하여번역된 SQL 분장의실제텍스트를리턴함 2 SQLDescribeParam 준비된문장에서특정파라미터에대한기술을리턴함 2 SQLNumParams 문장에서 파라미터의 개수를 리턴함 2-38-

39 분류함수이름목적레벨 SQLParamData SQLPutData 길이가긴데이터값의프로세싱을초기화컬럼에서길이가긴데이터값을저장함 2 2 결과및결과에대한정보추출 SQLRowCount 삽입, 변경, 삭제요청에의하여영향을받는행들의개수를리턴함 1 SQLNumResultCols 결과세트의컬럼의개수를리턴함 1 SQLDescribeCol 결과세트의컬럼을기술함 1 SQLColAttributes SQLBindCol 결과세트에서컬럼의추가적인속성을기술함 결과컬럼에대한저장영역을할당하고, 데이터타입을결정함 1 1 SQLFetch 결과행을리턴함 1 SQLExtendedFetch 결과의배열을리턴함 2 SQLGetData SQLSetPos 결과집합의한행의한컬럼을리턴함 데이터의검색블록내에커서를위치시킴

40 분류함수이름목적레벨 SQLMoreResults SQLError 가능한결과집합이더있는지결정하고, 만일그렇다면다음의결과집합을위하여프로세싱을초기화함 추가적인오류또는상태정보를리턴함 2 1 데이터 소스의 시스템 테이블 에 대한 정보 확보 SQLColumnPrivileges 컬럼리스트및접근권한 2 SQLColumns 컬럼이름리스트를리턴함을리턴함 2 SQLForeignKeys SQLPrimaryKeys SQLProcedureColumns SQLProcedures SQLSpecialColumn 외래키에서사용되는컬럼이름의리스트를리턴함 주키에사용되는컬럼이름리스트를리턴함 입출력파라미터및특정프로시쥬어에대한결과집합을구성하는컬럼을리턴함 특정데이터소스내에저장된 프로시쥬어 이름의 리스트를 리턴함 두가지컬럼세트에대한정보를리턴함 : 유일행식별에대한최적세트또는행의어떤값이변경될경우자동적으로변경되는컬럼의세트

41 분류함수이름목적레벨 SQLStatistics SQLTablePrivileges 테이블및인덱스에대한통계를리턴함 테이블리스트및접근권한을리턴함 2 2 SQLTables 테이블리스트를리턴함 2 문장종료 SQLFreeStmt 문장처리를종료하고관련커 서를닫거나문장핸들을제거 시킴 1 SQLCancel SQL 문장을취소함 1 SQLTransact 트랜잭션을완료또는롤백시 1 킴 연결종료 SQLDisconnect 연결을닫음 1 SQLFreeConnect 연결핸들을릴리즈함 1 SQLFreeEnv 환경핸들을릴리즈함 1 나. 지원 SQL 문장 데이타베이스게이트웨이에서는 ODBC에서제공하는모든 SQL 문장을제공해주도록하였 으며, 제공 SQL 문장중최소(0) 및코어(1) 부분을레벨 1 로정하였고, 확장(2) 부분을레 벨 2 로정하였다. 레벨 1은 SQL 문장중필수적으로제공이되어야하는부분이며, 레벨 2 는필수문장은아니지만사용자의편의성울위하여제공이되는문장이다. 지원 SQL 문장 의목록은다음과같다. -41-

42 < 표2-4> 지원 SQL 문장 종류 SQL 문장레벨 스키마 CREATE TABLE 1 정의어 CREATE VIEW 1 GRANT 1 스키마 DROP TABLE 1 처리어 ALTER TABLE 1 DROP VIEW 1 REVOKE 1 자료 SELECT: single row 1 처리어 DELETE: positioned 1 DELETE: searched 1 INSERT 1 UPDATE: positioned 1 OUTER JOIN 2 기타문 CREATE INDEX 2 DROP INDEX 2 다. 지원자료형태데이타베이스게이트웨이에서는 ODBC에서제공하는모든자료형태를제공해주도록하였 으며, 제공자료형태중 ODBC의지원 Leve1이 0 또는 1 이거나, KSQL1에서제공되는자료형태일경우레벨 1 로정하였고, 그이외의부분은레벨 2 로정하였다. 레벨 1은자료형태중필수적으로제공이되어야하는부분이며, 레벨 2는필수자료형태는아니지만사용자의편의성을위하여제공이되는문장이다. 지원자료형태의목록은다음과같다. -42-

43 < 표2-5> 지원자료형태 자료형태레벨비고 CHAR 1 KSQL1 제공 DATE 2 DECIMAL 1 KSQL1 제공 DOUBLE 1 KSQL1 제공 FLOAT 1 KSQL1 제공 BINARY 2 INTEGER 1 KSQL1 제공 LONGVARCHAR 2 LONGVARBINARY 2 NUMERIC 1 KSQL1 제공 REAL 1 KSQL1 제공 SMALLINT 1 KSQL1 제공 TIME 2 TIMESTAMP 2 VARCHAR 1 VARBINARY 2 BIT 2-43-

44 제 3장연계방법비교 많은조직이다양한플래폼을사용하여데이타베이스관리시스템을사용하고있다. 그런 경우사용자는원하는데이타를어려움없이접근함을요구한다. 이러한요구에부응하여데 이타베이스벤더들이자사에고유한프로토콜을가진게이트웨이를개발하여공급하게되었 다. 그러나이러한해결책은데이타베이스벤더들로하여금다중의데이타접근을위한프 로토콜을개발하게하였고, 사용자는많은프로토콜을설치하고관리하게되었다. 이러한 해결책은공급자뿐만아니라사용자에게도복잡하고비싼결과를가져왔다. 가장간단하고가장비용이적게드는방법은모든공급자들이제공하는하나의잘정리된 데이타접근프로토콜을사용하는것이다. 이러한가능성을가지고출발한것이 ODBC와 RDA SQL 이다. 제 1절 RDA C-ISAM과 RDA SQL RDA C-ISM은 RDA SQL 표준을참조하여작성하였다. 이들표준의공통점과차이점을서술하여이해를돕고자한다. 1. 공통점 RDA SQL과 RDA C-ISAM 은모두특수표준으로서,ISD 9579-l RDA-Generic에기반을두고있다. 즉, RDA 특수표준은 RDA 일반표준에각환경을반영하여보완적인내용만을추가한것이다. 따라서 SQL 환경에서 RDA SQL 표준을적용하거나, C-ISAM 환경에서 RDA C-ISAM 표준을적용하고자할경우 RDA 일반표준인 ISO 9579-l RDA-Generic을같이참고하여야한다. 2. 차이점 RDA SQL 표준은 ISO 9075: 1992 (SQL Database Language) 이표준의대상이고,RDA C-ISAM 표준에서는 KIS : l994 ( 전산망표준 C-ISAM) 과 TX C-ISAM이대상이 다. -44-

45 RDA SQL 표준의 ConformanceLeve1은그해당범위에따라서국제표준전체를대상으로 하는 Ful1 SQL, Ful1 SQL의일부분을대상으로하는 Intermediate SQL,Intermediate SQL의일부분을대상으로하는 Entry SQL 등으로구분된다. RDA C-ISAM표준에서는전 산망표준인 KIS :1994와 TX C-ISAM 으로구분하였다. 자원개방서비스에서 RDA SQL 표준은 UsageMode를 update, retrieva1으로읽기전용 및수정으로구분하였고, RDA C-ISAM 표준에서는 LockMode, AccessMode,TransMode 으로구분하여각각 C-ISAM 의기능을반영하였다. 여기에서 LockMode는ISEXCLLOCK, ISMANULOCK, ISAUTOLOCK 으로, AccessMode는 ISINPUT, ISOUTPUT, ISINOUT으 로, TransMode는 ISOCONTROL, ISTRANS 으로구분한다. 자원개방서비스에서 RDA C-ISAM 표준은개방하고자하는자원의최대수가정해져있기 때문에 한정된 데이타 파일의 수를 초과하여 개방하고자 할 때 발생하는 오류로서 ISDataFileTooManyOpen 이라는매개변수를추가로사용한다. 명령어 직접수행 서비스인 R-Execute 에서, RDA SQL 표준은 오류를 전송하기 위하여 STATE, CODE 의조합으로사용하고, RDA C-ISAM 표준에서는 STATE 매개변수만을이 용하여오류를전송한다. RDA 표준에서 사용하는 데이타의 타입으로서, SQL 표준에서는 character, numeric decimal, interger, smallint, float, real, doubleprecision, datetime, Interval, varchar, bit, bitvarying 등이 있으며, C-ISAM 표준에서는 character, Hcharacter, decimal, interger, long, float, double 등이있다 RDA C-ISAM 표준에서는저장실행서비스가생략되었다. 왜냐하면, C-ISAM의경우다른 데이타베이스언어와는달리문장하나만으로는의미단위를형성할수없다. 따라서원하는 일을수행할수있는의미단위를구성하기위해서는, 다수의 C-ISAM 함수를이용하여프 로시쥬어를구성하고, 그프로시쥬어를호출해야한다. 그러나 RDA일반표준에는프로시쥬 어호출함수가없기때문에, 의미단의를형성할수없게되고, 따라서저장실행은무의미 해진다. RDA SQL 표준에서는 IS l RDA-Generic에서정의한응용-문맥에서기본응용-문 맥,TP응용- 문맥의모든형식을구성하고있다.RDAC-ISAM표준에서는 C-ISAM의 TP 처리를위한기능이부족하기때문에 TP 응용- 문맥의객체식별자, ASE 데이타타입, 순서 규칙및적합성요구사항등을추가로정의하지않는다. -45-

46 제 2절 RDA SQL과 DB 게이트웨이 RDA SQL은 ISO/IEC 의국제표준이고, ODBC는단체표준이지만산업체에서의실제표준이다. 이두가지표준의유사성과차이점을분석하여전산망에사용되는표준들에대한이해를돕고자한다. 1. 공통점여러벤더에의해공급되는하나이상의풀래폼위에있는다양한관계형데이타베이스시스템을접근하기위해서만들어졌다. 또한표준화된 API(Application Program Interface) 에근거를두고있다.ODBC는 X/Open의표준인 CLI(Call Level Interface) 를근거로 Microsoft 가주도하여만든표준이며, RDA SQL은 ISO 의표준이다. 그리고, 원격지데이타베이스를접근하기위해 SQL 접속문장을사용한다. 응용프로그램은현재의서버를선택하기위해다음과같은두가지방법을사용할수있다. ㆍ응용프로세스와데이타베이스서버를연결하기위한 SQL CONNECT ㆍ응용프로세스의현존하는접속중에서하나를인식함으로써현재의서버를선택하기위한 SQL SET C0NNECTION RDA SQL 은서버시스템의행태를정의한다. 데이타베이스서버는데이타베이스저장과데이타베이스프로세스서비스를 RDA 클라이언트에게제공한다. 더불어 RDA SQL은 RDA 클라이언트가 RDA 서버시스템의능력을사용할수있도록통신서비스와규약을상술하고있다.ODBC 경우도데이타베이스서버는데이타베이스저장과데이타베이스프로세스서비스를 RDA 클라이언트에게제공한다 또한대화형통신모델을사용한다. 클라이언트와서버간의교류가통신을위한논리적접속의문맥안에서일어난다. 2. 차이점분산데이타베이스를접근함에있어 RDA SQL 은두가지의일반적인유형을지원한다 한트랜잭션이단지하나의데이타베이스서버에접근하는 RDA 기본응용문맥(Basic Application Context) 과한트랜잭션이여러데이타베이스서버에동시에접근하는 RDA TP 응용문맥(Transaction Processing Application Context) 을지원하고있다. -46-

47 ODBC의경우는한트랜잭션이어느한시점에단지하나의데이타베이스서버에접근하는방법만을제공한다. 또한정보스키마테이블(Information Scheme Table) 의정보를접근하는데있어 ODBC 는이를위한서비스를, 제공하나, RDA SQL 은제공하지않는다. 정보스키마테이블은카타로그테이블(catalog table) 이라불리우는데특정한데이타베이스에대한서술적정보 (descriptive information) 를가지고있다. 그리고 ODBC와 RDA SQL이지원하는 SQL 의종류에있어상당한차이를보여주고있다. RDA SQL의경우지원되는 SQL 의수준을국제표준에준하여명시한다. 예를들면, ISO , ISO , IS ( 엔트리, 중간, 고급) RDA 클라이언트와서버는클라이언트가접근하고자하는자원을확인할때서버와타협을하게된다. 그러나, ODBC 경우는다소제한된 SQL 수준을제공하나그수준내에서는네트워크내에있는어떠한 SQL 변이(variants) 의사용도허용한다. RDA SQL표준은클라이언트에통신기능만을부가하여클라이언트는사용자로부터제출받은요청을그대로서버에보내고, 데이타베이스의실행은전적으로서버가실행한다. 반면에, ODBC에서는통신기능과 SQL 기능을갖춘 SQL드라이버가위치한클라이언트에서 SQL 구문처리등을수행하여이를각서버에대응하는동적함수호출형태로번역한다. 그다음번역된호출을서버에보낸다. -47-

48 제 4장결론 본보고서에서는국가기간전산망에데이타베이스연계표준기술을수용하기위하여관련표준들을서술하고비교하였다. 단기적으로는원격지데이타베이스접근이나 DB 게이트웨이등의기술을수용하고, 장기적으로는분산트랜잭션처리가가능한다중데이타베이스시스템을구축하는방향으로, 국가기간전산망을발전시키는것이바람직할것이다. 단기적으로는 " 원격지데이타베이스접근: C-ISAM" 이나 "DB 게이트웨이" 표준등을수용하는것이타당할것이다. 이는여러데이타베이스를하나의데이타베이스처럼사용하게하는다중데이타베이스시스템의전단계로서그림 4-1 과같은구성에적용할수있다. 그림 4-1. 원격지데이터베이스접근: C-ISAM 시스템구성예 그림 4-2 에서보이고있는것은 " 원격지데이타베이스접근: C-ISAM" 을이용하여호스트 A 를데이타베이스서버화하였을때의예이다. 다른호스트 B, C 등은각기자기가관리하 는데이타베이스를접근하는이외에, 클라이언트프로세스를갖춤으로써호스트 A의데이 타베이스를접근할수있다. 앞에서 기술하였듯이, 우리는 단기적으로 사용할 수 있는 " 원격지 데이터베이스 접근: C-ISAM" 과 DB 게이트웨이 의연관성을발견할수있다. -48-

49 두기술의기저를이루고있는기본개념은사실상동일하다고할수있다. 원격지데이타 베이스접근표준은네트워크상의원격지의데이타베이스를접근하기위한통신표준이다. 이원격지데이타베이스접근표준은특정데이타베이스를위한표준이아니다. 즉, 일반적 으로원격지의데이타베이스를접근할때는표준화된 13개의서비스호출을사용하도록권 고하는것이다. 한편 SQL 게이트웨이는데이타베이스가 SQL을지원하는제품일경우에원 격지에서이들데이타베이스를접근할수있도록하는기술이다. 따라서그기본개념이같 을수밖에없다. DB 게이트웨이의 표준의함수호출들과원격지데이타베이스접근서비 스호출을비교해보면이를쉽게알수있다. 접속의시작/ 종료, 데이타베이스언어의실 행, 상태정보등을얻기위한호출들로서비록그구문은다르지만의미적으로거의동일 한호출들로구성되어있다. 원격지데이타베이스접근표준과 DB 게이트웨이표준간의큰차이점은다음과같다. 원격 지데이타베이스접근표준은클라이언트에통신기능만을부가하여클라이언트는사용자로 부터제출받은요청을그대로서버에보내고, 데이타베이스언어의실행은전적으로서버가 실행한다. 반면에, DB 게이트웨이에서는통신기능과 SQL 기능을갖춘 SQL 드라이버가 위치한클라이언트에서 SQL 구문처리등을수행하여이를각서버에대응하는동적함수 호출형태로번역한다. 그다음번역된호출을서버에보낸다. 그러므로이두가지기술은 거의동일하며, 사용하는 SQL 표준만이두기술의상이점이라고봐도무방하다. 본연구에서는단기적으로비교적구현이쉽고비용이적게들것으로예상되는'' 원격지데이 타베이스접근: C-ISAM 표준 과 "DB 게이트웨이표준" 이사용된다. 그림4-2의예는 SQL 데이타베이스를관리하는서버 A와서버 B를클라이언트역활을하게되는 PC에서접 근하는예이다. 클라이언트의사용자응용은서버 A와서버 B를둘다원격접근하여결과 를얻은다음, 두결과를취합/ 비교하는응용이라고가정한다. 서버 A는 SQL을지원하므로 클라이언트는서버 A를접근하기위하여 DB 게이트웨이클라이언트프로세스를갖추어야 한다. 서버 B 역시 SQL을지원하므로클라이언트는서버 B를접근하기위하여 DB 게이트 웨이클라이언트프로세스를갖추어야한다. -49-

50 그림 4-2. DB 게이트웨이를사용한복수데이터베이스접근 단기적으로제안되는 C-ISAM의원격지데이타베이스접근방식또는 DB 게이트웨이방식 이성숙되어가는시점에서, 장기적으로국가기간전산망을연방데이터베이스또는다중데 이타베이스시스템으로통합하는방안을강구한다. 먼저둘이상의데이타베이스에대한전 역트랜잭션의수행에대한통신상의표준을정의하고있는 ISO/IEC의 DTP(Distributed Transaction Processing) 를수용하여분산트랜잭션의처리가가능하도록한다. DTP를완 벽하게수용한다고해서전역트랜잭션수행의완벽성을보장받지는못한다. 왜냐하면 DTP 는분산트랜잭션의처리중에통신상에서발생할수있는문제만을해결하므로, 각사이 트의데이타자원관리에서발생하는문제점은그사이트에서운영되는 DBMS 또는화일 시스템의기능에의하여좌우되기때문이다. 본연구에서설명된여러표준들은여러데이타베이스를상호연계하여사용하기위한기술 들이다. 또한현재의표준들도계속해서진화발전될것이므로이를예의주시하면서역동 적으로대처할수있는것이바람직하다. 본연구를바탕으로국가기간전산망의상호연계 및상호운용을위한표준의기반을마련하고, 단계적으로이를꾸준히실현하고발전시켜 나가는것이바람직하다. -50-

51 부록 1. RDA SQL 표준 -51-

52 부록 1. RDA SQL 표준 ISO/IEC RDA Part-2 를전기통신표준으로수용하고있다. 준에서사용될수있기때문에본부록에별도로소개한다. 이표준역시전산망표 1. 모델 가.RDA서비스일반모델 본 절은 ISO/IEC 의 모델에서 정의한 개념을 RDA SQL 표준으로 유도한다. ISO/IEC 에서정의한 ' 데이타자원' 이라는용어는 ISO/IEC 9075 SQL 에서의 데이 타베이스자원 과의미가동일하다. 본표준에서는이것을 SQL 데이타베이스자원" 이라한 다. RDA 클라이언트에서는데이타베이스자원을개방함으로써 RDA 서버에있는 SQL 데이타 베이스자원을접근한다. 그리고데이타베이스언어서비스에대한요청으로사용가능하다. RDA SQL 표준에서는 Nested SQL 데이타베이스자원을지원하지않는다. SQL의데이타베이스자원을폐쇄하면 RDA 클라이언트는이에대한접근이불가능하다. 즉, 데이타베이스언어서비스요청에대한후속사용이불가능하다. 구현자는 RDA 서버에 서하나혹은여러개의SQL 데이타베이스자원을사용할수있도록구현해야한다. 나.SQL데이타베이스 언어개념 본절은 ISO/IEC 9075 SQL에서정의한개념을 RDA 서버에있는데이타베이스모델로유 도한다. 비록 SQL 데이타베이스자원에지역적으로호스트프로그램에설정되어있다하더 라도 RDA SQL 문은데이타베이스서버에의해명확하게수행된다. 데이타베이스서버에서발생하는예외조건또는완료조건은 RDA 클라이언트에되돌아간다. 2. 서비스 가.RDA및 SQL서비스 1) R-Initialize 서비스 -52-

53 신규 RDA 대화설정을요청하는서비스로서다음과같은매개변수를정의한다. ㆍ요청매개변수 sqlinitializeargument: RDA 클라이언트가원하는 level 을정의한다. sqlconformanceleveldefault: 클라이언트에서정의한 SQL Level 을나타낸다. userdata: RDA 서버구축자가정의하여사용한다. ㆍ결과매개변수 sqlinitializeresult: RDA 서버에서반환되는정보를정의한다. userdata: RDA 서버구축자가정의하여사용한다. 2) R-Open 서비스현재개방된대화에서사용하고자하는데이타자원의취득을요청하는서비스로서다음과같은매개변수를정의한다. ㆍ요청매개변수 sqlaccesscontroldata: SQL 데이타베이스개방권한을검증하는매개변수이다. sqlusagemode: 지정된 SQL 데이타베이스자원으로의접근모드를나타낸다. SQLOpenArgument: 클라이언트에의하여요구되는정보를정의한다. charset: 코드화된문자집합을정의한다. sqlconformancelevel: 클라이언트에서표현한 SQL 의특성을정의한다. sqldiagnosticsrequested: 클라이언트에서요구하는진단정보를서술한다. ㆍ결과매개변수 sqlopenresult: 서버에의하여반환되는정보를정의한다. charset: 코드화된문자집합을정의한다. charsetnotsupported: 클라이언트에서표현한 SQL 의특성을정의한다. sqlconformancelevel: 클라이언트에서선언된문자집합에대한 RDA 서버의지원을정의 한다. ㆍ오류변수 sqlopenerror: RDA 서버에서오류를알리기위해정의한다. invalidsqlconformancelevel: sqlconformancelevel 값이허락되지않았다. rdatransactionopen: SQL 데이타베이스자원개방이허락되지않는다. -53-

54 sqlaccesscontrolviolation: 클라이언트는요청한 SQL 데이타베이스를개방할권한이없 다. sqldatabaseresourcealreadyopen: 접근하고자하는 SQL 데이타베이스는이미사용중이 다. 3) R-Close 서비스데이타자원의사용을종료하는서비스로서다음과같은매개변수를정의한다. ㆍ오류변수 sqlcloseerror: 서버에서오류를알리기위해사용한다. rdatransactionopen: SQL 데이타베이스자원의폐쇄가허락되지않는다. 4) R-Execute DBL 서비스 클라이언트가데이타베이스서버에게하나의데이타베이스문장의즉시수행을요청하는서 비스로서다음과같은매개변수를정의한다. ㆍ요청매개변수 sqldblstatement: 서버에서수행될 RDA SQL 문을나타낸다. sqldblargumentspecification: SQL 데이터베이스타임의서술목록을정의한다. sqldblresultspecification: 결과에대한 SQL 데이터베이스타입의서술목록을정의한 다. dblarguments: sqldblstatement 의수행횟수를정의한다. singleargument: sqldblstatement의 수행을 sqldblargumentvalues를 이용하여 repetitioncount 만큼수행할것을정의한다. sqldblargumentvalues: sqldblargumentspecification에정의된인수매개변수값의목록을정의한다. multipleargument: sqldblstatement를 n개의 listofsqldblargumentvalues를이용하여 repetitioncount 만큼수행할것을정의한다. listofsqldblargumentvalues: sqldblargumentspecification에정의된다수의인수매개변수값의목록을정의한다. returnsqldiagnostics: 클라이언트의진단정보요청을정의한다. ㆍ결과매개변수 -54-

55 sqldblresultspecification: SQL 데이터베이스타입서술자의목록을정의한다. listofresultvalues: 클라이언트에서요청한각 DBL 명령어의수행결과를정의한다. sqldblexception: RDA SQL 문의실행에대한완성코드를정의한다. sqlstate: "ISO/IEC 9075: l992" 에서정의한코드값을나타낸다. sqlcode: 이매개변수는명세에정의한코드값을나타낸다. sqlerrortext: sqlstate 값에대응하는경고및오류를정의한다. sqldiagnostics: 클라이언트에서요청한진단정보를결과로반환한다. sqldblresultvalues: sqldblresultspecification에서 정의된 결과 매개변수들의 값의 목록을정의한다. ㆍ오류매개변수 sqlexecutedblerror: RDA 서버에서오류를알리기위하여사용된다. hostidentifiererror: Host Identifier 지정의잘못을정의한다. rdatransactionnotopen: 트랜잭션을개방하지않고, RDA SQL문을포함하는연산을수행하려했다. sqldblargumentcountmismatch: sqldblargumentvalues의개체수와 sqldblargument Specification 개체수가동일하지않다. sqldblargumenttypemismatch: sqldblargumentvalues의 개체 타입 한개 이상과 sqldblargumentspecification 개체타입이동일하지않다. sqldblnochartset: SQL 데이터베이스자원에대한문자집합이없다. sqldblstatementnotallowed: sqldblstatement의내용이 RDA SQL 특수표준에정의 되지않은 SQL 문이다. sqlusagemodeviolation: SQL 데이타베이스자원의요청에대한사용모드가서술된 RDA SQL 문의규칙과일치하지않는다. 5) R-DefineDBL 서비스클라이언트가향후의사용을위하여데이타베이스문장을정의하는요청서비스로서다음과같은매개변수를정의한다. ㆍ요청매개변수 -55-

56 sqldblstatement: 서버에서수행될 RDA SQL 문을나타낸다. sqldblargumentspecification: SQL 데이터베이스타입의서술목록을정의한다. sqldblresultspecification: 결과에대한 SQL 데이타베이스타입의서술목록을정의한 다. ㆍ결과매개변수 sqldblresultspecification: SQL 데이터베이스타입서술자의목록을정의한다. sqldblexception: RDA SQL 문의실행에대한완성코드를정의한다. sqlstate: "ISO/IEC 9075: 1992" 에서정의한코드값을나타낸다. sqlcode: 이매개변수는명세에정의한코드값을나타낸다. sqlerrortext: sqlstate 값에대응하는경고및오류를정의한다. ㆍ오류매개변수 sqldefinedblerror: RDA 서버에서오류를알리기위하여사용한다. hostidentifiererror: Host Identifier 지정의잘못을정의한다. sqldblnocharset: SQL 데이타베이스자원에대한문자집합이없다. sqldblstatementnotallowed: sqldblstatement의내용이 RDA SQL 특수표준에정의 되지않은 SQL 문이다. sqlusagemodeviolation: SQL 데이터베이스자원의요청에대한사용모드가서술된 RDA SQL 문의규칙과일치하지않는다. 6) R-InvokeDBL 서비스저장된데이터베이스문장을인식자를이용하여정해진횟수만큼의실행을요청하는서비스로서다음과같은매개변수를정의한다. ㆍ요청매개변수 dblarguments: sqldblstatement 의수행횟수를정의한다. singleargument: sqldblstatement의수행을 sqldblargumentvalues를이용하여 repetitioncount 만큼수행할것을정의한다. sqldblargumentvalues: sqldblargumentspecification에정의된인수매개변수값의목록을정의한다. multipleargument: sqldblstatement를 n개의 listofsqldblargumentvalues를이용하여 repetitioncount 만큼수행할것을정의한다. -56-

57 listofsqldblargumentvalues: sqldblargumentspecification에정의된다수의인수매개변수값의목록을정의한다. returnsqldiagnostics: 클라이언트의진단정보요청을정의한다. ㆍ결과매개변수 sqldblresultspecification: SQL 데이터베이스타입서술자의목록을정의한다. listofresultvalues: 클라이언트에서요청한각 DBL 명령어의수행결과를정의한다. sqldblexception: RDA SQL 문의실행에대한완성코드를정의한다. sqlstate: "ISO/IEC 9075: 1992" 에서정의한코드값을나타낸다. sqlcode: 이매개변수는명세에정의한코드값을나타낸다. sqlerrortext: sqlstate 값에대응하는경고및오류를정의한다. sqldblresultvalues: sqldblresultspecification에서 정의된 결과 매개변수들의 값의 목록을정의한다. sqldiagnostics: 클라이언트에서요청한진단정보를결과로반환한다. ㆍ오류매개변수 sqlinvokedblerror: RDA 서버에서오류를알리기위하여사용된다. rdatransactionnotopen: 트랜잭션을개방하지않고, RDA SQL문을포함하는연산을수 행하려했다. sqldblargumentcountmismatch: sqldblargumentvalues의개체수와 sqldblargument Specification 개체수가동일하지않다. sqldblargumenttypemismatch: sqldblargumentvalues의 개체 타입 한개 이상과 sqldblargumentspecification 개체타입이동일하지않다. sqlusagemodeviolation: SQL 데이터베이스자원의요청에대한사용모드가서술된 RDA SQL 문의규칙과일치하지않는다. 나.SQL 문, 인수, 결과 1) sqldblstatement -57-

58 statementtext: SQL 문을갖는코드화된문장이다. charset: 코드화된문자집합의명세를정의한다. 2) sqldblargumentspecification과 sqldblresultspecification ListOfSQLDataTypeDescriptor: 각항목은 sqldblstatement내의개별적인입출력의발 생을정의한다. nullable: 서버에서반환하는결과목록의공백을정의한다. colname: 결과 Column 의이름을서술한다. TypeDescriptor: 대응되는항목에대한데이타베이스타입을정의한다. charactertype: SQL 문에서문자데이타베이스항목을정의한다. charset: 코드화된문자집합을정의한다. length: 문자데이타베이스항목에대한문자의최대수를정의한다. FixedLengthEncoding: charactertype의 sqlvalue 전송을하기위하여 SPACE를제거했 는지를정의한다. numerictype: 숫자데이타의타입을정의한다. precision: numerictype에서전송되는값을표현하는데필요한십진베이스의숫자의갯 수를정의한다. scale: numerictype 에서비음수정수를정의한다. decimaltype: 기계무관한십진데이타베이스항목을정의한다. precision: 전송되는값을표현하는데필요한십진베이스의숫자의갯수를정의한다. scale: decimaltype 에서비음수정수를정의한다. integertype: 부호를갖는 2 바이트이진정수데이타베이스를정의한다. precision: integertype에대한 precisionbase 매개변수에서정의한베이스(Base) 를서술 한다. precisionbase: integertype 에대한사용되는숫자의베이스(Base) 를서술한다. smallinttype: 소규모정수형타입을정의한다. precision: smallinttype에대한 precisionbase 매개변수에서정의한베이스(Base) 를사용 해숫자와갯수를서술한다. -58-

59 precisionbase: smallinttype 에대한사용되는숫자의베이스(Base) 를서술한다. floattype: SQL 의부동소수점데이타베이스항목을서술한다. mantissaprecision: 가수(Mantissa) 에서유효이진수갯수를서술하는양의정수를정의한다. maxexponent: 지수의최대절대값을서술하는비음수정수를정의한다. realtype: SQL 의실수형데이타항목을서술한다. mantissaprecision: realtype 에대하여가수(Mantissa) 에서유효이진수개수를서술하는양의정수를정의한다. maxexponent: realtype에대하여지수의최대절대값을서술하는비음수정수를정의한다. doubleprecisiontype: 배정도부동소수점데이타베이스항목을정의한다. mantissaprecision: doubleprecisiontype 에대하여가수(Mantissa) 에서유효이진수갯수를서술하는양의정수를정의한다. maxexponent: doubleprecisiontype에대하여지수의최대절대값을서술하는비음수정 수를정의한다. datetimetype: datetime 의타입을정의한다. datatimequalifier: 본 매개변수는 ISO/IEC 9057: 1992(SQL) 에서 정의한 DATETIME INTERVAL_CODE 와대응된다. fractionalsecondsprecision: datetimetype와 intervaltype에 대하여 ISO/IEC 9057:1992(SQL) 에서 정의한 <time fractional seconds precision> 혹은 <interval fractional seconds precision> 을정의한다. intervaltype: interval 의타입을정의한다. intervalqualifier: 본 매개변수는 ISO/IEC 9057: 1992(SQL) 에서 정의한 DATETIME_INTERVAL_CODE 와대응된다. leadingfieldprecision: ISO/IEC 9057:1992(SQL) 에서 정의한 <interval leading field precision> 을정의한다. -59-

60 fractionalsecondprecision: datetimetype와 intervaltype에대하여 ISO/IEC 9057:1992(SQL) 에서정의한 (time fractional seconds precision> 혹은 <interval fractional seconds precision> 을정의한다. varchartype: varchar 의타입을정의한다. charset: 코드화된문자집합을정의한다. length: 문자데이타베이스항목에대한문자의최대수를정의한다. bittype: bit 의타입을정의한다. length: 문자데이타베이스항목에대한문자의최대수를정의한다. bitvaryingtype: bitvarying 의타입을정의한다. length: 문자데이타베이스항목에대한문자의최대수를정의한다. 3) sqldblargumentvalues와 sqldblresultvalues listofsqlvalue: SQL 문에서의개별적인 <Variable Specification> 값을갖는항목을정의한 다. dataitem: Data Variable 값을정의한다. characteritem: 문자 Data Variable 값을정의한다. numericitem: 숫자 Data Variable 값을정의한다. decimalitem: 십진 Data Variable 값을정의한다. integeritem: 2 바이트이진정수Data Variable 값을정의한다. smallintitem: 소규모정수형 Data Variable 값을정의한다. floatitem: 부동소수점 Data Variable 값을정의한다. realitem: 실수형 Data Variable 값을정의한다. doubleprecisionitem: 배정도부동소수점 Data Variable 값을정의한다. datetimeitem: datetime의 Data Variable 값을정의한다. intervalitem: interval의 Data Variable 값을정의한다. varcharitem: varchar의 Data Variable 값을정의한다. bititem: bit의 Data Variable 값을정의한다. bitvaritem: bitvar의 Data Variable 값을정의한다. indicator: <indicator variable> 값을정의한다. -60-

61 다. 순차규칙 RDA SQL 에서는서버에대한순차규칙은정의하지않으나, 클라이언트에대한순차규칙은다음과같이정의한다. ISO/IEC (RDA 일반표준) 에정의된순차규칙에추가하여, 다음과같은순차규칙을적용한다. a) 만일 RDA 클라이언트가 SQL 데이타베이스자원을성공적으로개방할경우에는, RDA 클라이언트는 RDA 대화에서다른 R-Open 요청을발생하기전에 RDA SQL 데이타베이스자원을폐쇄하여야한다. b) 만일 RDA 클라이언트가 RDA SQL 문의실행을요청한다면, RDA 대화에 RDA 트랜잭션의개방이있어야한다. 3. 규약 가. 서버실행규칙 l) 대화-상태모델가)RDA대화개체 sqlconformanceleveldefault: RDA 대화문맥에서사용될수있는 DBL문에대한 SQL 표준을식별하기위하여사용된다. userdata: 숙성은 RDA 서버구현자에의하여정의된다. 나) 개방된데이타베이스자원개체 sqlconformancelevel: RDA 대화문맥에서사용될수있는 DBL문에대한 SQL 표준을 식별하기위하여사용된다. sqlusagemode: SQL 데이타베이스자원의사용모드를정의한다. retrieval: 데이타베이스의조회만가능하다. update: 데이타베이스의수정도가능하다. sqldiagnosticsrequested: 클라이언트에서요청하는진단정보를서술한다. always: R-ExecuteDBL 결과에진단정보가항상포함될것을나타낸다. onrequest: 요구가있을경우에만 R-ExecuteDBL의실행결과에진단정보가포함될것을 나타낸다. -61-

62 never: 진단정보가포함되지않는것을나타낸다. clientdefcharset: 클라이언트에서사용가능한 default 문자집합을서술한다. serverdefcharset: 서버에서사용되는 default 문자집합을서술한다. 다) 정의된 DBL 개체 sqldblargumentspecification: RDA SQL문인수의 SQL 데이타베이스타입이다. sqldblresultspecification: RDA SQL문의결과의 SQL 데이타베이스타입이다. sqldblstatement: RDA에서정의된 SQL 문이다. 2) R-Initialize 서비스 ㆍ개체조작규칙 sqlconformanceleveldefault: R-Initialize 지시프리미티브에서정의한값이다. userdata: RDA 서버에의해처리되는 userdata 속성값이다. ㆍ결과규칙 userdata: 대화개체에서처리된 userdata 속성값이다. 3) R-Open 서비스 다음은개방된데이타베이스자원개체에관하여추가된속성들의초기값에대한제한을정 의한다. ㆍ개체조작규칙 sqlconformancelevel: R-Open 지시프리미티브, SQL 의레벨을식별한다. sqldiagnosticsrequested: R-Open 지시프리미티브의 sqldiagnostics-requested 매개 변수값혹은 default 값인 "never" 를갖는다. sqlusagemode: SQL 의사용모드를정의한다. clientdefcharset: 초기값은 R-Open 지시프리미티브에서제공하는 charset 혹은 null" 이 다. serverdefcharset: 매개변수의값에의하여식별되는문자집합결과, 혹은문자집합을식 별하는객체식별자, 혹은 null 을갖는다. ㆍ결과규칙다음은어떤결과가반환될때, 그결과매개변수의제한들을정의한다. -62-

63 sqlconformancelevel: 개방된자원개체에서의속성값, 혹은개방된자원개체에서의속성 값, 혹은생략된다. charsetnotsupported: RDA 서버에서 charset 매개변수에의해식별된문자집합을제공할 수없으면 true 이고, 그렇지않으면 false" 이다. charset: RDA dialogueid 속성이현재 RDA 대화를식별하면 dataresource- Handle은 속성값이다. ㆍ오류규칙 invalidsqlconformancelevel: sqlconformancelevel 매개변수의값이 SQL 전산망표준 객체식별자중하나로확인하지않았다. rdatransactionopen: 대화개체의 rdatransactionstatus 속성이 rdatransactionopen 값을갖는다. sqlaccesscontrolviolation: R-Open 지시프리미티브의 sqlaccesscontroldata 매개변수 는 RDA 클라이언트에게권한을주지못한다. sqldatabaseresourcealreadyopen: 접근하고자하는데이타베이스자원이사용중이다. 4) R-Close 서비스 ㆍ오류규칙 rdatransactionopen: RDA 대화개체의 rdatransactionstatus이 rdatransaction-open 값을가지고있다. 5) R-ExecuteDBL 서비스 ㆍ결과규칙다음은어떤결과가반환될때, 그결과매개변수의제한들을정의한다. charset: listofsqldatadestriptor 의대응되는객체식별자가동반된다. sqldblexception: 개방된데이타베이스자원개체의 sqldiagnosticsrequested에따라서버에의해 sqldiagnostics 를반환한다. colname: sqldblresultspecification의부분인 listofsrldatadescriptor를각항목에서서술한다. < 표 l> 에서는 SQL 인수와결과매개변수를사용하는 R-ExecuteDBL 을정의한다. -63-

64 SQL 인수와결과매개변수를사용하는 R-ExecuteDBL 실행될 RDA SQL문 ArgSpec ArgVal ResSpec ResVal <close statement> <commit statement> <declare cursor> C->S (H) <delete statement: positioned> <delete statement: searched> C->S (H) C->S (H) <fetch statement> C<-S (H) C<-S (H) <insert statement> C->S (H) C->S (H) <open statement> C->S (H) C->S (H) C<-S (H) <rollback statement> <select statement: single row> C->S (H) C->S (H) C<-S (H) C<-S (H) <update statement: posioned) C->S (H) C->S (H) <update statement: searched> C->S (H) C->S (H) <schema definition> <table definition> <view definition> <grant statement> <allocate cursor statement> C->S (H) C->S (H) <allocate descriptor statement> <deallocate descriptor statement> <deallocate descriptor statement> C->S (H) C->S (H) <describe statement> C->S (H) C->S (H) C<-S (H) <dynamic close statement> C->S (H) C->S (H) <dynamic declare cursor> <dynamic delete statement: positioned> C->S (H) C->S (H) <dynamic fetch statement> C->S (H) C->S (H) C<-S (H) C<-S (H) <dynamic open statement> C->S (H) C->S (H) C<-S (H) <dynamic update statement: posioned> C->S (H) C->S (H) <execute statement> C->S (H) C->S (H) C<-S (H) C<-S (H) <execute immediate statement> C->S (H) C->S (H) <get descriptor statement> <preparable dynamic delete statement: positioned -64-

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

슬라이드 제목 없음

슬라이드 제목 없음 4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 2. 데이터베이스관리시스템 2013.03.11. 오병우 컴퓨터공학과 Inconsistency of file system File System Each application has its own private files Widely dispersed and difficult to control File 중심자료처리시스템의한계 i. 응용프로그램의논리적파일구조는직접물리적파일구조로구현

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Microsoft PowerPoint - QVIZMVUMWURI.pptx 데이타베이스시스템 2011.03 충북대학교경영정보학과조완섭 (wscho@chungbuk.ac.kr) Chap. 4 SQL 질의어 C4 2 목차 - SQL2에서데이터정의, 제약조건및스키마변경 - SQL에서의기본질의 - 더복잡한 SQL 질의들 - SQL에서삽입, 삭제, 갱신구문 - SQL 뷰 - 주장으로추가적인제약조건명시 - SQL의부가적인기능들 Ch4 3 SQL

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

6장. SQL

6장. SQL 학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8> 데이터베이스 (Database) ER- 관계사상에의한관계데이터베이스설계 문양세강원대학교 IT특성화대학컴퓨터과학전공 설계과정 [ 그림 3.1] 작은세계 요구사항들의수정과분석 Functional Requirements 데이타베이스요구사항들 FUNCTIONAL ANALYSIS 개념적설계 ERD 사용 High level ltransaction Specification

More information

untitled

untitled Oracle DBMS 로그인의접근제어우회 취약점분석 2006. 2. 9 인터넷침해사고대응지원센터 (KISC) 본보고서의전부나일부를인용시반드시 [ 자료 : 한국정보보호진흥원 (KISA)] 룰명시하여주시기바랍니다. 개요 o 2005년이후 Oracle Critical Patch Update(CPU) 는 Oracle사제품대상으로다수의보안패치및보안패치와관련된일반패치를발표하는주요수단임

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

FileMaker 15 ODBC 및 JDBC 설명서

FileMaker 15 ODBC 및 JDBC 설명서 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

슬라이드 제목 없음

슬라이드 제목 없음 뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서, 데이터독립성을높이기위해서사용됨 시스템카탈로그는시스템내의객체 ( 기본릴레이션, 뷰, 인덱스,

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

FileMaker ODBC 및 JDBC 가이드

FileMaker ODBC 및 JDBC 가이드 FileMaker ODBC JDBC 2004-2019 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, FileMaker Cloud, FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker,

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

슬라이드 제목 없음

슬라이드 제목 없음 5.2 ER 모델 ( 계속 ) 관계와관계타입 관계는엔티티들사이에존재하는연관이나연결로서두개이상의엔티티타입들사이의사상으로생각할수있음 관계집합은동질의관계들의집합 관계타입은동질의관계들의틀 관계집합과관계타입을엄격하게구분할필요는없음 요구사항명세에서흔히동사는 ER 다이어그램에서관계로표현됨 ER 다이어그램에서다이어몬드로표기 관계타입이서로연관시키는엔티티타입들을관계타입에실선으로연결함

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

Microsoft PowerPoint SQL 추가 기능

Microsoft PowerPoint SQL 추가 기능 데이터베이스 (Database) : 주장, 뷰, 프로그래밍기법 문양세강원대학교 IT특성화대학컴퓨터과학전공 강의내용 주장 (Assertions) 으로일반적인제약조건명시 SQL 에서뷰 ( 가상테이블 ) 데이터베이스프로그래밍 내포된 SQL (Embedded SQL) 함수호출, SQL/CLI [ 생략 ] 저장프로시저와 SQL/PSM [ 생략 ] 요약 Page 2 주장

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt 1. 데이터베이스정의 : 특정조직이업무수행하는데필요한관련성있는자료들의집합체 ( 통합, 저장, 운영, 공용 ) 2. 데이터베이스시스템도입배경 : 파일시스템의문제점을해결 응용프로그램 1 ( 인사 ) 응용프로그램 2 ( 급여 ) 응용프로그램 3 ( 자재 ) 응용프로그램 4 ( 마케팅 ) 파일 1 파일 2 파일 3 파일 4 * 독립된파일단위로업무와관련한데이터를저장하므로데이터중복성과데이터종속성발생

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드]

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드] 제 2 장 데이타베이스시스템개념과아키텍처 Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe Copyright 2002 황규영홍의경음두헌박영철김진호조완섭 목차 2.1 데이타모델, 스키마, 인스턴스 2.2 DBMS 아키텍처와데이타독립성 2.3 데이타베이스언어와인터페이스 2.4 데이타베이스시스템환경

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

<4D F736F F F696E74202D20BFC0B6F3C5AC2D31C0E52DB5A5C0CCC5CDBAA3C0CCBDBA20BDC3BDBAC5DB2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BFC0B6F3C5AC2D31C0E52DB5A5C0CCC5CDBAA3C0CCBDBA20BDC3BDBAC5DB2E BC8A3C8AF20B8F0B5E55D> 컴퓨터를사용하여정보를수집하고분석하는데데이터베이스기술이 활용되고있음 정보와데이터는서로다름 데이터베이스 (database) 의정의 데이터베이스는조직체의응용시스템들이공유해서사용하는운영데이터 (operational data) 들이구조적으로통합된모임이다. 데이터베이스의 구조는사용되는데이터모델에의해결정된다. 2 ( 계속 ) 데이터베이스의예 대학에서는데이터베이스에학생들에관하여신상정보,

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

H3250_Wi-Fi_E.book

H3250_Wi-Fi_E.book 무선 LAN 기능으로 할 수 있는 것 2 무선 LAN 기능으로 할 수 있는 것 z q l D w 3 Wi-Fi 기능 플로우차트 z q l D 4 Wi-Fi 기능 플로우차트 w 5 본 사용 설명서의 기호 설명 6 각 장별 목차 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 목차 1 2 3 4 8 목차 5 6 7 8 9 9 목차 10 11 12

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 getaddrinfo() 를활용한주소 범용 (Generic) 코드 주소범용 (Generic) 코드란? 주소버전

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

슬라이드 제목 없음

슬라이드 제목 없음 컴퓨터를사용하여정보를수집하고분석하는데데이터베이스기술이활용되고있음 정보와데이터는서로다름 데이터베이스 (database) 의정의 데이터베이스는조직체의응용시스템들이공유해서사용하는운영데이터 (operational data) 들이구조적으로통합된모임이다. 데이터베이스의구조는사용되는데이터모델에의해결정된다. 2 ( 계속 ) 데이터베이스의예 대학에서는데이터베이스에학생들에관하여신상정보,

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : ios 3.0 이상 - 콘텐츠형식 : MP4 (H264,AAC ), MP3 * 디바이스별해상도,

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

PowerPoint Presentation

PowerPoint Presentation Computer Science Suan Lee - Computer Science - 06 데이터베이스 1 06 데이터베이스 - Computer Science - 06 데이터베이스 2 목차 1. 데이터베이스의개요 2. 데이터모델 3. 관계형데이터베이스 4. SQL 5. 모바일데이터베이스 - Computer Science - 06 데이터베이스 3 데이터베이스의개념

More information

System Recovery 사용자 매뉴얼

System Recovery 사용자 매뉴얼 Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.

More information

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E > 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 소켓 (Socket) (1/2) Socket 이란? 서버와클라이언트가서로특정한규약을사용하여데이터를전송하기위한방식 서버와클라이언트는소켓연결을기다렸다가소켓이연결되면서로데이터를전송 현재네트워크상에서의모든통신의근간은 Socket 이라할수있음 Page 2 1 소켓 (Socket) (2/2)

More information

로거 자료실

로거 자료실 redirection 매뉴얼 ( 개발자용 ) V1.5 Copyright 2002-2014 BizSpring Inc. All Rights Reserved. 본문서에대한저작권은 비즈스프링 에있습니다. - 1 - 목차 01 HTTP 표준 redirect 사용... 3 1.1 HTTP 표준 redirect 예시... 3 1.2 redirect 현상이여러번일어날경우예시...

More information

Microsoft PowerPoint - chap06-5 [호환 모드]

Microsoft PowerPoint - chap06-5 [호환 모드] 2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA Spotlight on Oracle V10.x DELL SOFTWARE KOREA 2016-11-15 Spotlight on Oracle 목차 1. 시스템요구사항... 2 1.1 지원하는데이터베이스...2 1.2 사용자설치홖경...2 2. 프로그램설치... 3 2.1 설치프로그램실행...3 2.2 라이선스사용관련내용확인및사용동의...3 2.3 프로그램설치경로지정...4

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information

Windows 10 General Announcement v1.0-KO

Windows 10 General Announcement v1.0-KO Windows 10 Fuji Xerox 장비와의호환성 v1.0 7 July, 2015 머리말 Microsoft 는 Windows 10 이 Windows 자동업데이트기능을통해예약되어질수있다고 6 월 1 일발표했다. 고객들은 윈도우 10 공지알림을받기 를표시하는새로운아이콘을알아차릴수있습니다. Fuji Xerox 는 Microsoft 에서가장최신운영시스템인 Windows

More information

ESQL/C

ESQL/C 20 장. PL/SQL 커서 주요내용 암시적커서 명시적커서선언 명시적커서열기및닫기 명시적커서에서데이터 Fetch 커서의속성 (%ISOPEN, %ROWCOUNT, %FOUND, %NOTFOUND) 커서 FOR 루프 PL/SQL 의커서 (Cursor) 커서 SQL 문과프로그램실행과정에서결과를저장할수있는오라클메모리구조 ( 개별 SQL 작업영역 ) 암시적커서 (Implicit

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information