View

기혁·2023년 2월 15일
0

DBMS 학습

목록 보기
11/13

day06

PK FK가 더 중요함 실무에선 거의 잘안씀 이론만 알아도됌

  • 하나의 가상 테이블이라고 생각
  • 작업시 자주 조회하는 데이터들이 있다. 한 테이블에 데이터가
    있으면 조회하기 편하겠지만 그렇지 않은 경우가 있다.
  • 여러 테이블을 join 사용하여 가져오고 쿼리가 복잡한 경우도 있다.
  • 이런 경우 쿼리로 뷰를 만들어 놓고 사용하면 편리하다.
  • 보안에도 유리
  • 테이블에 데이터를 노출시키고 싶지 않을때, 뷰를 사용하여
    보여줄 데이터만 뷰로 제공할 수 있다.

📌 뷰의 사용 목적

  • 뷰를 만들어놓으면 복잡한 쿼리를 쉽게 작성 가능
  • 원하는 컬럼만 공개하여 원천 데이터 테이블 비공개 가능성,
    보안성에도 유리

📌 뷰의 특징

  • 원천데이터가 변경되면 view 데이터도 자동으로 변경
  • 뷰의 검색은 자유로우나, 삽입, 수정, 삭제는 제약이 있다.
  • 뷰 생성 쿼리에 함수를 사용하면 반드시 alias를 지정
SELECT * FROM EMP_DETAILS_VIEW edv ;

CREATE VIEW v_emp(emp_id, first_name, job_id, hiredate, dept_id) AS -- as가 EMPLOYEES 테이블 구문이다.
SELECT 	EMPLOYEE_ID , FIRST_NAME , JOB_ID ,	HIRE_DATE , DEPARTMENT_ID 
FROM 	EMPLOYEES e 
WHERE 	JOB_ID = 'ST_CLERK'
WITH READ ONLY  -- WRITE 권한은 없고 READ 권한만 주어짐
;
SELECT * FROM  v_Emp;
 --DROP VIEW v_emp;
-- 함수로 작성한 부분은 수정 불가
-- 125        
UPDATE V_EMP SET FIRST_NAME = 'kim' WHERE  FIRST_name = 'Julia'; -- Julia를 kim으로 바꾼다
SELECT * FROM  EMPLOYEES e WHERE  EMPLOYEE_ID = 125;
UPDATE EMPLOYEES SET FIRST_NAME = 'Julia' WHERE  EMPLOYEE_ID = 125; -- 125번의 이름을 Julia로 바꾼다.
profile
⭐️내가만든쿠키⭐️

0개의 댓글