책 내용 질문하기
데이터베이스 DDL, DML 질문
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
79,109
조회수
588
작성일
2019-03-14
작성자
탈퇴*원
첨부파일
1. 79p 마지막에 있는 CREATE TRIGGER 예제에서 BEFORE -> AFTER로 바꾸고 NEW -> OLD로 바꾼다면 같은 결과가 나오나요? 2. 109p 문제4번 SELECT문으로 INSERT할 때도 순서랑 데이터타입이 같다면 INSERT문에 속성 이름 생략해도 되나요? 3. 109p 문제5번 UPDATE문의 WHERE절에도 AND를 쓸 수 있나요? UPDATE 사원 SET 부서='편집' WHERE 성명='장발장' AND 성명='홍길동'; 이렇게요. 답변 항상 감사합니다ㅎㅎ
답변
2019-03-15 14:30:22

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

 

1. [답변]

경우에 따라 다릅니다.

예를 들어 before, after가 백업 트리거가 있는 테이블에 입력하는 작업을 수행한다고 가정하죠.

before로 수행하게 되면 데이터가 입력전에 백업이 되겠고,

after로 수행하게 되면 데이터가 입력된 후의 데이터가 백업이 되겠죠.

 

new와 old의 경우, new의 경우 새로 입력될 데이터(가상의 테이블)에 트리거가 적용되는 것

old의 경우 데이터가 모두 입력된 후의 테이블에 트리거가 적용되는 것이 되겠습니다.

 

 

2. [답변]

생각해보지도 못한 질문입니다.

하지만 직접 수행해보니 가능했습니다.

동일한 속성의 순서와 자료형을 가진 테이블 두개 test10, test11을 만든 후 test10에만 데이터를 insert 하여

"insert into test11 select * from test10;"를 수행하니, 정상적으로 값이 전달되는 것을 확인하였습니다.

 

 

3. [답변]

AND절은 사용이 가능하지만 예시로 든 것은 존재할 수 없는 조건문으로 컴파일러에 따라 실행조차 되지 않을 수 있습니다.

 

같은 필드에서 and절은 쓴다는 것은 한 튜플, 한 속성에 값이 2개 존재해야 한다는 것을 의미하므로 존재하 수 없는 튜플을 특정하고 있기 때문입니다.

같은 속성, 성명에 '장발장', '홍길동' 두개가 and가 될 수는 없으나

다른 속성, 성명에 '장발장', 지역에 '서울' 이렇게는 and가 될 수 있겠죠.

 

행복한 하루되세요 :)

  • 관리자
    2019-03-15 14:30:22

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

     

    1. [답변]

    경우에 따라 다릅니다.

    예를 들어 before, after가 백업 트리거가 있는 테이블에 입력하는 작업을 수행한다고 가정하죠.

    before로 수행하게 되면 데이터가 입력전에 백업이 되겠고,

    after로 수행하게 되면 데이터가 입력된 후의 데이터가 백업이 되겠죠.

     

    new와 old의 경우, new의 경우 새로 입력될 데이터(가상의 테이블)에 트리거가 적용되는 것

    old의 경우 데이터가 모두 입력된 후의 테이블에 트리거가 적용되는 것이 되겠습니다.

     

     

    2. [답변]

    생각해보지도 못한 질문입니다.

    하지만 직접 수행해보니 가능했습니다.

    동일한 속성의 순서와 자료형을 가진 테이블 두개 test10, test11을 만든 후 test10에만 데이터를 insert 하여

    "insert into test11 select * from test10;"를 수행하니, 정상적으로 값이 전달되는 것을 확인하였습니다.

     

     

    3. [답변]

    AND절은 사용이 가능하지만 예시로 든 것은 존재할 수 없는 조건문으로 컴파일러에 따라 실행조차 되지 않을 수 있습니다.

     

    같은 필드에서 and절은 쓴다는 것은 한 튜플, 한 속성에 값이 2개 존재해야 한다는 것을 의미하므로 존재하 수 없는 튜플을 특정하고 있기 때문입니다.

    같은 속성, 성명에 '장발장', '홍길동' 두개가 and가 될 수는 없으나

    다른 속성, 성명에 '장발장', 지역에 '서울' 이렇게는 and가 될 수 있겠죠.

     

    행복한 하루되세요 :)

  • 관리자
    2019-03-18 14:10:46

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

     

    예, where in을 사용한 것과 동일한 결과를 나타내므로 정답으로 인정됩니다.

     

    where in 자체가 or문을 간략하게 사용하기 위해 사용하는 예약어니까요.

     

    행복한 하루되세요 :)

  • *
    2019-03-17 15:20:16

     3. 109p 문제5번

    UPDATE 사원 SET 부서='편집' WHERE 성명='장발장' OR 성명='홍길동';

    이렇게 하면 정답이 되나요?

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