1.EMP테이블과 같은 구조, 같은 데이터를 갖는 테이블 REEMP 테이블을 생성하고 ,테이블의 구조와 데이터를 확인하여라.

CREATE TABLE REEMP 

AS 

SELECT * FROM EMP;


DESC REEMP


2.DEPT 테이블과 같은 구조, 같은 데이터를 갖는 테이블 REDEPT테이블을 생성하고, 테이블의 구조와 데이터를 확인하여라.

CREATE TABLE REDEPT 

AS SELECT * FROM DEPT;


DESC REDEPT


3.REEMP 테이블을 토대로 EMPNO,ENAME,DEPTNO를 포함하는 뷰 REEMP_VIEW를 작성하여라.

CREATE OR REPLACE VIEW REEMP_VIEW AS SELECT EMPNO,ENAME,DEPTNO FROM REEMP;


1) 뷰 REEMP_VIEW의 구조를 확인하여라.

DESC REEMP_VIEW


2) 뷰 REEMP_VIEW의 데이터를 확인하여라.

SELECT * FROM REEMP_VIEW;


3) 뷰 REEMP_VIEW의 EMPNO의 데이터를 EMPNO+100으로 변경하여라.

UPDATE REEMP_VIEW SET EMPNO=EMPNO+100;


4) 뷰 EMPNO의값이 변경되었는지를 REEMP_VIEW에서 확인하여라.

100씩 추가되었다.


5) 뷰 EMPNO의 값이 변경되었는지를 REEMP테이블에서 확인하여라.

100씩 추가되었다.


6) 데이터사전을 이용해서 생성된뷰 REEMP_VIEW의 이름과 생성구문을 확인하여라.

SELECT * FROM USER_VIEWS; 


4.REEMP 테이블로부터 DEPTNO=30인 사원들로만 된 REEMP_VIEW30을 만들어라. 단 DEPTNO의 값은 변경될 수 없도록 하여라.

CREATE OR REPLACE VIEW REEMP_VIEW30 

AS 

SELECT * FROM REEMP 

WHERE DEPTNO = 30 

WITH CHECK OPTION;


1)뷰 REEMP_VIEW30의 구조를 확인하여라.

DESC REEMP_VIEW30;


2) 뷰REEMP_VIEW30의 데이터를 확인하여라.

SELECT * FROM REEMP_VIEW30;


3)뷰 REEMP_VIEW30 에서 DEPTNO가 30인것을 10으로 바꾸어라, 바꿀수없다면 그 이유에 대해 설명하여라.

UPDATE REEMP_VIEW30 

SET DEPTNO=10 WHERE DEPTNO =30;

뷰의 WITH CHECK OPTION의 조건에 위배되기 때문에 바꿀수없다.


4) 데이터 사전을 이용해서 생성된 뷰 REEMP_VIEW30의 이름과 생성 구문을 확인하여라.

SELECT * FROM USER_VIEWS; 


5.REEMP 테이블과 REDEPT테이블로부터 EMPNO,ENAME,DEPTNO,DNAME을 포함하는 뷰 E_D_VIEW를 작성하여라.

CREATE OR REPLACE VIEW E_D_VIEW 

AS 

SELECT E.EMPNO,E.ENAME,E.DEPTNO,D.DNAME 

FROM REEMP E, REDEPT D 

WHERE E.DEPTNO =D.DEPTNO;


1)뷰 E_D_VIEW의 구조를 확인하여라.

DESC E_D_VIEW 


2)뷰 E_D_VIEW의 모든 데이터를 확인하여라.

SELECT * FROM E_D_VIEW;


3)뷰 E_D_VIEW에 하나의 데이터(9000,'KIM',30,'MARKETING')를 추가하여라.만약 추가할 수 없다면 그 이유에 대해 설명하여라.

INSERT INTO E_D_VIEW(EMPNO,ENAME,DEPTNO,DNAME) VALUES(9000,'KIM',30,'MARKETING');

추가할수없다.

유니크한 키가없기때문에?


4)데이터 사전을 이용해서 생성된 뷰 E_D_VIEW의 이름과 생성구문을 확인하여라. 

SELECT * FROM USER_VIEWS; 



+ Recent posts