반응형
1. 뷰(VIEW) 개념
- 뷰(VIEW) : 데이터를 보여주는 역할만 하는 일종의 가상 테이블,
- 물리적으로 저장하지 않는다. (삽입/삭제/갱신 작업이 제한됨)
- 테이블의 직접적인 접근 제어 (사용자 권한에 따라 필요한 필드만 보여준다.)
- 장점 : 복잡하고 어려운 쿼리문으로 조회를 수행해야 할 때, 매번 작성해야 하는 번거로움을 해결해 준다.
2. VIEW TABLE 생성
실습 1. 앞서 했던 조인 마지막 예제 뷰 만들기
CREATE VIEW veiw_employee_info
AS
(
SELECT E.EMP_NO, E.FIRST_NAME, E.GENDER,
S.TO_DATE, S.SALARY, DE.DEPT_NO, DP.DEPT_NAME
FROM EMPLOYEES E LEFT OUTER JOIN SALARIES S
LEFT OUTER JOIN DEPT_EMP DE ON S.EMP_NO = DE.EMP_NO
LEFT OUTER JOIN DEPARTMENTS DP ON DE.DEPT_NO = DP.DEPT_NO
ON E.EMP_NO = S.EMP_NO
LIMIT 100
);
실습 2. 뷰 보기 코드
SELECT * FROM employees.veiw_employee_info;
실습 3. view_idol_member_age 생성
CREATE VIEW view_idol_member_age
AS
(
SELECT GROUP_NAME, MEMBER_NAME, YEAR(NOW())-YEAR(BIRTHDAY)+1 AGE
FROM IDOL_MEMBER
);
실습 4. view_notice_regcount 생성
CREATE VIEW view_notice_regcount
AS
(
SELECT WRITER_ID, COUNT(ID) CNT
FROM NOTICE
GROUP BY WRITER_ID
ORDER BY CNT DESC
);
실습 5. view_member_secure
CREATE VIEW view_member_secure
AS
(
SELECT ID, NAME, GENDER
FROM MEMBER
);
3. VIEW TABLE 사용
SELECT * FROM view_idol_member_age;
SELECT * FROM view_notice_regcount;
SELECT * FROM view_member_secure;
* 뷰를 통해 권한을 주어 보여주고 싶은 사람한테만 보여줄 수 있음
SQL 총정리
1. '데이터 조작하기'는 개발자로서 기본으로 알아야한다.
2. 가장 중요한건 조회 기능 (SELECT)
3. 데이터 필터링하는데 쓰이는 것 : 페이징, DISTINCT, 구절 순서 및 처리 순서, JOIN사용
4. 테이블 JOIN을 위해 코드를 매번 작성해주기는 너무 힘듬 => 뷰를 생성한다!
5. 데이터베이스 테이블 설계할 때 중요한 것
- 각각 떨어져있는 정규화를 통해서 연결할 수 있는 기본키 (PK)와 참조키를 잘 설정해주는게 중요
반응형
'🛢 3. Database > 3-1 Mysql' 카테고리의 다른 글
[Database] 17. JOIN(조인) 정리 - INNER/LEFT/RIGHT/OUTER (0) | 2021.10.04 |
---|---|
[Database] 16. 비주얼 스튜디오 코드로 쿼리 실행하기 (0) | 2021.09.29 |
[Database] 15. 부조회(서브쿼리) (0) | 2021.09.28 |
[Database] 14. SELECT 구절 순서와 처리 과정 (1) | 2021.09.28 |
[Database] 13. DISTINCT와 COUNT, SQL 함수(문자열, 숫자, 날짜, 변환, NULL 관련) (0) | 2021.09.27 |
댓글