안녕하세요, 실기 2권에서 질문 두 가지 드립니다.
1.
p.12 문제 3번에서
‘sex’속성은 ‘f’ 또는 ‘m’값만 갖도록 한다.
라고 되어 있어서 p.7번 예제 참고해
CHECK(VALUE IN (‘f’, ‘m’))
라고 답을 적었는데요.
해설지에는 CHECK(sex=‘f’ or sex=‘m’)
라고 적혀있어요. 동일한 의미이고, value in 으로 적어도 맞는 건가요?
2.
p. 13 문제 7번에서
근무지 테이블에서 ‘근무지번호’가 삭제되면 <사원> 테이블의 ‘근무지번호도’ 삭제된다.
라고 되어 있어 저는 답을
SET NULL이라고 했는데요,
정답은 CASCADE더라고요.
SET NULL로 적어도 정답인가요? 아니면 이건 분명한 오답인가요?
만약 오답이라면
SET NULL은 지문에서 ~할 경우 NULL로 설정한다 라고 했을 때만 적을 수 있는 걸까요?
답변 기다리겠습니다. 감사합니다.
그리고 비전공자에 지식이 없는 상태에서 공부하다보니…
1번에서 만약 value in 으로 적어도 정답이라면 해설지에 이런 정답 경우의 수도
자세히 써있었으면 좋겠어요..! 예제와 다른 부분이 있으면 혼돈이 많아서요!
안녕하세요 길벗수험서 운영팀입니다.
[1]
오답입니다.
value in 은 속성을 특정할 수 없는 도메인 생성 시에만 사용하는 예약어로,
테이블 생성 시에는 value 대신 속성명을 넣어 check(sex in('f', 'm'))으로 적어주셔야 합니다.
[2]
오답입니다.
set null과 cascade의 구분을 확실히 기억해 두세요.
지웠을 때 null(비어있음)로 표현할 때는 set null을,
지웠을 때 해당 속성을 참조 중인 다른 속성까지 함께 지워버려야 할 때는 cascade를 사용합니다.
행복한 하루되세요 :)
-
관리자2022-06-27 09:15:49
안녕하세요 길벗수험서 운영팀입니다.
[1]
오답입니다.
value in 은 속성을 특정할 수 없는 도메인 생성 시에만 사용하는 예약어로,
테이블 생성 시에는 value 대신 속성명을 넣어 check(sex in('f', 'm'))으로 적어주셔야 합니다.
[2]
오답입니다.
set null과 cascade의 구분을 확실히 기억해 두세요.
지웠을 때 null(비어있음)로 표현할 때는 set null을,
지웠을 때 해당 속성을 참조 중인 다른 속성까지 함께 지워버려야 할 때는 cascade를 사용합니다.
행복한 하루되세요 :)