책 내용 질문하기
질문이요
도서
2020 시나공 정보처리기사 필기 : NCS 기반 전면 개편 [기본서]
페이지
503
조회수
381
작성일
2020-02-25
작성자
탈퇴*원
첨부파일
503쪽 10번 문제 사용자 정의 함수를 실행하는 방법으로 옳지 않은 것은? 여기서 정답은 3번 ‘사용자 정의 함수는 UPDATE 문의 속성명과 속성이 변경될 값의 자리에 위치할 수 있다’입니다. 그리고 해설을 보면 UPDATE문의 속성이 변경될 자리에는 위치할 수 있지만 속성명 자리에는 위치할 수 없다라고 설명되어있습니다. 그런데 사용자 정의 함수는 DML에서 속성명이나 값이 놓일 자리를 대체하여 사용하는 것으로 압니다. 그럼 UPDATE만 예외적으로 속성명에 사용자 정의 함수가 위치하지 못하는 건가요?
답변
2020-02-26 09:48:42

안녕하세요 길벗수험서 운영팀입니다.

 

말씀하시는 것처럼 사용자 정의 함수는 일반적으로 DML에서 속성명이 오는 자리에 올 수 있으나, 구체적으로 들어가면 모든 속성이 오는 자리에 위치할 수는 없습니다. '값'으로 대용될 수 있는 속성의 자리.. 에 사용자 정의 함수가 위치할 수 있다고 설명할 수 있겠네요.

 

예를 들어보죠.

 

insert into 테이블명(속성1, 속성2) values (값1, 값2...);

위의 문장에서 속성은 테이블에 속한 속성을 지정하기 때문에 속성 대신 사용자 정의함수가 들어갈 수 없습니다.

 

delete from 테이블명 where 속성 = 값;

위의 문장에서 속성은 삭제할 튜플의 속성 또는 속성을 이용한 식을 지정해주어야 합니다. 그렇지 않으면 어떤 튜플을 삭제할지 구체화시킬 수 없기 때문이죠.

 

update 테이블명 set 속성 = 값;

위의 문장은 테이블에서 특정 속성의 값을 변경하는 문장인데 속성 요소가 삭제된다면 update문 자체가 의미가 없어지게 됩니다.

 

위의 모든 DML 문장의 '값'에는 속성이 올 수도 있기 때문에 앞에서 '값'으로 대용될 수 있는 속성의 자리라고 설명드린 것입니다.

 

각 DML 문의 정확한 용도와 문장 작성법을 정확하게 이해하신다면 사용자 정의 함수가 올 수 있는 위치를 예상하기가 좀 더 쉬워지실 것입니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-02-26 09:48:42

    안녕하세요 길벗수험서 운영팀입니다.

     

    말씀하시는 것처럼 사용자 정의 함수는 일반적으로 DML에서 속성명이 오는 자리에 올 수 있으나, 구체적으로 들어가면 모든 속성이 오는 자리에 위치할 수는 없습니다. '값'으로 대용될 수 있는 속성의 자리.. 에 사용자 정의 함수가 위치할 수 있다고 설명할 수 있겠네요.

     

    예를 들어보죠.

     

    insert into 테이블명(속성1, 속성2) values (값1, 값2...);

    위의 문장에서 속성은 테이블에 속한 속성을 지정하기 때문에 속성 대신 사용자 정의함수가 들어갈 수 없습니다.

     

    delete from 테이블명 where 속성 = 값;

    위의 문장에서 속성은 삭제할 튜플의 속성 또는 속성을 이용한 식을 지정해주어야 합니다. 그렇지 않으면 어떤 튜플을 삭제할지 구체화시킬 수 없기 때문이죠.

     

    update 테이블명 set 속성 = 값;

    위의 문장은 테이블에서 특정 속성의 값을 변경하는 문장인데 속성 요소가 삭제된다면 update문 자체가 의미가 없어지게 됩니다.

     

    위의 모든 DML 문장의 '값'에는 속성이 올 수도 있기 때문에 앞에서 '값'으로 대용될 수 있는 속성의 자리라고 설명드린 것입니다.

     

    각 DML 문의 정확한 용도와 문장 작성법을 정확하게 이해하신다면 사용자 정의 함수가 올 수 있는 위치를 예상하기가 좀 더 쉬워지실 것입니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.