실행결과 관련 질문과 모델링 기본 개념관련한 문제 질문이요 0 1 695

by 찐감자 [2016.09.14 20:24:38]


 
1.create table hoho(
 col1 number,
 col2 varchar(5)
 );
 insert into hoho values(1,'가');
 
 select * from hoho 
 where col2=1;
 
 select * from hoho 
 where col1='가';
 
이 sql문에 관련한 실행결과를 묻는 문제고,
1. 두개다 실행 오류가 난다
2. col1은 실행, col2는 오류가 난다
3. col1은 오류, col1은 오류가 난다.
4. 둘다 정상적으로 실행된다.
로 기억합니다.. 저는 두 구문 다 공집합이 발생되어 실행 오류가 난다고 생각해서 1번 찍었는데
어떤 분들은 한 컬럼은 형변환이 발생해서 한 칼럼은 실행되고 나머지는 오류가 발생한다 하시더라고요;
22회 sqld 문젠데 계속 이 문제가 생각나 다른 일에 집중이 안됩니다 ㅜㅜ. 자세한 설명 부탁드려요
 
두번째 문제는 테이블 반정규화 중 테이블 분할에 관련된 문젠데
11.테이블 분할을 고려해야할 상황이 아닌것? (아마도 수직분할)
   1) 특정 컬럼에 insert/update가 몰린다
   2) 특정 컬럼이 매우 크다
   3) 특정 컬럼이 자주 조회된다
   4) 특정 블럭 단위로 보안을 적용해야 한다.
이중에 답이 무엇일까여.. 4번 했는데 저와 다른 답들도 많이 보여서 ㅜㅜ..
답변 부탁드릴께요
by 마농 [2016.09.19 08:46:06]

1. 잘 찍으셨습니다.
이유는 틀렸지만 답은 맞았네요.
공집합이 발생하는 것은 에러가 아닙니다. 그냥 실행 결과가 없는거죠.
두 조건 모두 문자를 숫자로 형변환 시도하면서 에러가 나게 됩니다.
숫자와 문자를 비교하게 되면 문자가 숫자로 형변환 됩니다.


2. 저도 4번 찍을 듯.
1,2,3번 보기는 다 맞는 말인 듯 하구요.
4번에서 블럭은 물리적 단위이므로 논리적인 테이블 분할과 연관지어 설명하는게 이상하네요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입