『 다양한 예제로 쉽게 배우는 오라클 SQL과 PL/SQL (개정 4판) 』
저자: 서진수, 김균도
사용 프로그램: sqlplus
※ 본 게시글에 작성된 문제는 책 본문과 일치하지 않는 부분이 존재하며, 풀이 또한 정확하지 않습니다.
1. 아래의 표를 보고 테이블을 생성하면서 제약조건을 설정하세요.
테이블 이름 | 컬럼 이름 | 데이터 타입 | 제약조건 종류 | 제약조건 이름 | 기타사항 |
tcons | no | NUMBER(5) | PRIMARY KEY | tcons_no_pk | |
name | VARCHAR2(20) | NOT NULL | tcons_name_nn | ||
jumin | VARCHAR2(13) | NOT NULL | tcons_jumin_nn | ||
jumin | VARCHAR2(13) | UNIQUE | tcons_jumin_uk | ||
area | NUMBER(1) | CHECK | tcons_area_ck | 1~4까지의 숫자 | |
deptno | VARCHAR2(6) | FOREIGN KEY | tcons_deptno_fk | dept2(dcode) |
문제풀이
CREATE TABLE tcons (
no NUMBER(5)
CONSTRAINT tcons_no_pk PRIMARY KEY,
name VARCHAR2(20)
CONSTRAINT tcones_name_nn NOT NULL,
jumin VARCHAR2(13)
CONSTRAINT tcons_jumin_nn NOT NULL
CONSTRAINT tcons_jumin_uk UNIQUE,
area NUMBER(11)
CONSTRAINT tcons_area_ck CHECK(1 <= area AND area <= 4),
deptno VARCHAR2(6)
CONSTRAINT tcons_deptno_fk REFERENCES dept2(dcode)
);
실행결과
2.
tcons 테이블의 name 컬럼이 emp2 테이블의 name 컬럼의 값을 참조하도록 참조키 제약조건을 추가 설정하는 쿼리를 쓰세요. (tcons 테이블이 자식테이블입니다)
문제풀이
ALTER TABLE tcons
ADD CONSTRAINT tcons_name_fk FOREIGN KEY(name)
REFERENCES emp2(name);
실행결과
3.
tcons 테이블의 name 컬럼에 만들어져 있는 unique 제약조건을 "사용안함"으로 변경하되해당 테이블의 데이터에 DML 까지 안되도록 변경하는 쿼리를 쓰세요.
(제약조건 이름은 tcons_name_uk 입니다)
문제풀이
ALTER TABLE tcons DISABLE VALIDATE CONSTRAINT tcons_jumin_uk;
실행결과
4.
위 3번 문제에서 "사용안함"으로 설정한 제약조건 tcons_name_uk 을 사용함으로 변경하되 기존에 있던 내용과 새로 들어올 내용 모두를 체크하는 옵션으로 변경하세요. 그리고 문제가 되는 데이터들은 sys.execptions 테이블에 저장하도록 설정하세요.
문제풀이
ALTER TABLE scott.tcons
ENABLE VALIDATE CONSTRAINT tcons_jumin_uk
EXCEPTIONS INTO sys.esceptions;
실행결과
5. emp 테이블에 설정되어 있는 제약조건 중 자신이 생성한 제약 조건들을 테이블명 , 컬럼명 ,제약조건명으로 검색하는 쿼리를 쓰세요.
(단 Foreign key 는 제외합니다)
문제풀이
SELECT owner, constraint_name, table_name, column_name
FROM user_cons_columns
WHERE table_name = 'EMP';
실행결과
'Tycoon > 오라클 SQL과 PL/SQL (개정4판) (完)' 카테고리의 다른 글
[오라클 SQL과 PL/SQL] 10장 연습문제 (Sub Query(서브쿼리)) (0) | 2025.01.09 |
---|---|
[오라클 SQL과 PL/SQL] 9장 연습문제 (View 1~6) (0) | 2025.01.07 |
[오라클 SQL과 PL/SQL] 6장 연습문제 (DML 1 ~ 4) (0) | 2025.01.05 |
[오라클 SQL과 PL/SQL] 5장 연습문제 (DDL 명령과 딕셔너리 1 ~ 9) (0) | 2025.01.05 |
[오라클 SQL과 PL/SQL] 4장 연습문제 (조인(Join) 1 ~ 6) (0) | 2025.01.05 |