[혼공스] Chapter 05

·2024년 1월 28일
0
post-thumbnail

4주차 진도(1/22 ~ 1/28) : Chapter 05


✅ 기본 미션

p. 226의 market_db의 회원 테이블(member) 생성하고, p. 229 데이터 입력한 후 인증하기

1. 데이터베이스 생성

⌨️ 코드

🖥️ 결과

2. 테이블 생성 (member, buy)

⌨️ 코드

🖥️ 결과

3. 데이터 입력

⌨️ 코드

🖥️ 결과

  • member

  • buy

✅ 선택 미션

p. 271 확인 문제 4번 풀고 인증하기

CREATE OR REPLACE VIEW

  • 기존 뷰가 있어도 덮어쓰는 효과
    = 'DROP VIEW' & 'CREATE VIEW' 연속 작성한 효과
  • CREATE VIEW만 사용
    → 기존에 뷰가 있다면 오류 발생



가상의 테이블: 뷰


뷰의 개념

📖 뷰 (view)

  • 데이터베이스 개체 중 하나, 테이블과 밀접한 관련 ⭕️
    • SELECT문으로 한 번 생성 → 테이블과 거의 동일한 개체 취급
    • 테이블처럼 실제 데이터 가지고 있지는 ❌
  • 분류
    1) 단순 뷰 : 하나의 테이블과 연관된 뷰
    2) 복합 뷰 : 2개 이상의 테이블과 연관된 뷰

뷰 사용 이유

1️⃣ 보안(security)에 도움

  • 테이블 접근 권한에 차별을 두어 중요 정보 노출 방지
  • 만일의 사고 대비

2️⃣ 복잡한 SQL을 단순하게 만들기

  • 복잡한 쿼리를 사용해야 하는 경우, 뷰로 생성해놓으면 편리

👇 예시

CREATE VIEW v_memberbuy
AS
	SELECT B.mem_id, M.mem_name, B.prod_name, M.addr,
    		CONCAT(M.phone1, M.phone2) '연락처'
    	FROM buy B
        	INNER JOIN member M
            ON B.mem_id = M.mem_id;
    
  • 이렇게 생성 후, v_membuy를 테이블로 생각하고 편하게 접근 가능


0개의 댓글