본문 바로가기
연습 문제

예제 따라가며 쉽게 배우는 오라클 연습 문제 p.178

by 알기 쉬운 코딩 사전 2023. 1. 2.
반응형

연습문제 sql은 모두 제가 직접 작성한 것이므로 오타, 오답이 존재할 수 있습니다.

궁금하신 점이 추가로 있을 시에는 문의하시면 최대한 답변드리겠습니다.

 

1. DEPT학번 C 테이블을 다음과 같이 변경하여라.

 

문제에서는 DEPT학번 C 테이블이라 했지만, 답안에서는 간단하게 DEPTC 테이블이라고 하겠습니다.
또한 D학번 테이블 역시 마찬가지로 D 테이블이라고 하겠습니다.

 

1) DEPT학번 C 테이블의 구조를 확인하여라.

 

[답]

DESC DEPTC

 

2) 테이블 이름을 D학번으로 변경하여라.

 

[답]

RENAME DEPTC TO D;

 

3) D학번 테이블의 구조를 확인하여라.

 

[답]

DESC D

 

4) (D학번 테이블의) NAME 칼럼에 NOT NULL 제약약조건을 추가하고 테이블의 구조를 확인하여라.

 

[답]

NAME 칼럼에 NOT NULL 제약약조건을 추가

ALTER TABLE D
MODIFY(name varchar2(25) CONSTRAINT d_name_nn Not Null);
테이블의 구조를 확인

DESC D

 

5) (D학번 테이블의) regionid 칼럼을 NUM(5)로 추가하고 테이블의 구조를 확인하여라.

 

[답]

regionid 칼럼을 NUM(5)로 추가

ALTER TABLE D
ADD(regionid NUMBER(5));
테이블의 구조를 확인

DESC D

 

6) D학번 테이블의 제약조건을 확인하여라.

 

[답]

데이터 사전에서 제약조건명을 확인하는 방법입니다.

SELECT CONSTRAINT_NAME
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'D';

 

+) D학번 테이블의 regionid 칼럼에 Unique제약조건을 추가하고 테이블의 구조를 확인하여라.

 

[답]

D학번 테이블의 regionid 칼럼에 Unique제약조건을 추가

ALTER TABLE d
ADD CONSTRAINT d_regiond_uk UNIQUE(regionid);
테이블의 구조를 확인

DESC D

 

+) D학번 테이블의 regionid 칼럼에 Unique제약조건을 삭제하고 테이블의 구조를 확인하여라.

 

[답]

D학번 테이블의 regionid 칼럼에 Unique제약조건을 삭제

ALTER TABLE d
DROP CONSTRAINT d_regiond_uk;
테이블의 구조를 확인

DESC D

 

2. EMP학번 C 테이블을 다음과 같이 변경하여라.

 

문제에서는 EMP학번 C 테이블이라 했지만, 답안에서는 간단하게 EMPC테이블이라고 하겠습니다.
또한 E학번 테이블 역시 마찬가지로 E 테이블이라고 하겠습니다.

 

1) DEPT학번 C 테이블의 구조를 확인하여라.

 

[답]

DESC DEPTC

 

+) EMP학번 C 테이블의 구조를 확인하여라.

 

[답]

DESC EMPC

 

2) 테이블 이름을 E학번으로 변경하여라.

 

[답]

RENAME EMPC TO E;

 

3) E학번 테이블의 구조를 확인하여라.

 

[답]

DESC E

 

4) (E학번 테이블의) managerid 칼럼을 NUM(7) NOT NULL 제약조건으로 추가하고 테이블의 구조를 확인하여라.

 

[답]

managerid 칼럼을 NUM(7) NOT NULL 제약조건으로 추가

ALTER TABLE E
ADD(managerid NUMBER(7) CONSTRAINT e_managerid_nn Not NULL);
테이블의 구조를 확인

DESC E

 

5) (E학번 테이블의) ID 칼럼의 길이를 NUM(10)으로 (변경)하고 테이블의 구조를 확인하여라.

 

[답]

ID 칼럼의 길이를 NUM(10)으로 변경

ALTER TABLE E
MODIFY(id NUMBER(10));
테이블의 구조를 확인

DESC E

 

6) (E학번 테이블의) LNAME 칼럼의 NOT NULL 제약조건을 삭제하고 테이블의 구조를 확인하여라.

 

[답]

LNAME 칼럼의 NOT NULL 제약조건을 삭제

ALTER TABLE E
DROP CONSTRAINT empc_lname_nn;
테이블의 구조를 확인

DESC E

 

7) E학번 테이블의 managerid 칼럼에 D학번 테이블의 no 칼럼을 참조하는 FOREIGN KEY 제약조건을 추가하여라. (그리고 테이블의 구조를 확인하여라.)

 

[답]

managerid 칼럼에 D학번 테이블의 no 칼럼을 참조하는 FOREIGN KEY 제약조건을 추가

ALTER TABLE E
ADD CONSTRAINT e_managerid_fk FOREIGN KEY (managerid) REFERENCES d(no);
테이블의 구조 확인

DESC E

 

8) E학번 테이블의 제약조건을 확인하여라.

 

[답]

데이터 사전에서 제약조건명을 확인하는 방법입니다.

SELECT CONSTRAINT_NAME
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'E';

 

궁금한 점이 있을 시 덧글 주시면 최대한 답글 드리겠습니다.

반응형

댓글