안녕하세요.
sql문 해설에 대한 질문입니다.
113p에 있는 3번 해설인데요,
CREATE TABLE patient
( id CHAR(5) PRIMARY KEY,
name CHAR(10),
sex CHAR(1),
phone CHAR(20),
CONSTRAINT sex_ck CHECK (sex='f' or sex='m'),
CONSTRAINT id_fk FOREIGN KEY(id) REFERENCES dcotor(doc_id) );
에서
CONSTRAINT sex_ck CHECK (sex='f' or sex='m'), 이 문장을,
↓
CONSTRAINT sex_ck CHECK (VALUE IN ('f', 'm'), 으로 하거나
CONSTRAINT VAILD-sex_ck CHECK (VALUE IN ('f', 'm'), 으로 해도 괜찮나요?
-----------
추가질문)
참조하는 테이블이 삭제되면 속성의 값은 null 값으로 변경된다
참조하는 테이블의 속성이 변경되면 관련된 모든 속성값도 같이 변경된다 라는 지시가 있을 때
ON DELETE SET NULL 이 아닌 ON DELETE NULL
ON UPDATE CASCADE 가 아닌 ON UPDATE SET CASCADE 가 될 수는 없나요?
안녕하세요 길벗수험서 운영팀입니다.
예, 제약조건명이 언급되지 않았으므로 제약조건명은 어떻게 작성해도 상관 없으며(sex_ck, valid-sex_ck),
or의 경우도 in으로 바꿔 작성하셔도 정답입니다.
[추가질문]
될 수 없습니다.
문법의 경우 임의로 변경되기 어렵다는 점 기억해두세요.
DBMS 마다 작성 방식이 조금씩 달라 기존에 쓰시던 분들은 혼동되실 수 있겠으나, 교재의 문법은 국제 표준(ISO/IEC 9075)에 따른 작성법이오니 가능한 이에 따라주시기 바랍니다.
행복한 하루되세요 :)
-
관리자2021-04-05 15:11:31
안녕하세요 길벗수험서 운영팀입니다.
예, 제약조건명이 언급되지 않았으므로 제약조건명은 어떻게 작성해도 상관 없으며(sex_ck, valid-sex_ck),
or의 경우도 in으로 바꿔 작성하셔도 정답입니다.
[추가질문]
될 수 없습니다.
문법의 경우 임의로 변경되기 어렵다는 점 기억해두세요.
DBMS 마다 작성 방식이 조금씩 달라 기존에 쓰시던 분들은 혼동되실 수 있겠으나, 교재의 문법은 국제 표준(ISO/IEC 9075)에 따른 작성법이오니 가능한 이에 따라주시기 바랍니다.
행복한 하루되세요 :)