본문 바로가기
SQL

[혼공S] 4주차_테이블과 뷰

by 바이오인포하는 tansansoo 2025. 2. 6.

Ch -5. 테이블과 뷰

📌 이번 챕터에서는 SQL로 테이블과 뷰를 만드는 법을 다루었다.

 

테이블 만들기

  • CREATE TABLE: 테이블 생성 SQL문으로, 테이블 이름, 열 이름, 데이터 형식을 직접 지정 가능.
    • 자동 증가: AUTO_INCREMENT
    • 널 허용 금지: NOT NULL
    • 기본 키 지정: PRIMARY KEY
    • 외래 키 지정: FOREIGEN KEY

제약조건으로 테이블을 견고하게

  • 제약조건(constraint): 데이터에 결함이 없도록, 데이터의 무결성을 지키기 위해 제한을 거는 조건. 대표적으로 기본 키 지정이 있음
  • MySQL의 대표적인 제약조건
    1. PRIMARY KEY 제약조건: 기본 키로 데이터를 구분할 수 있는 식별자를 지정함
    2. FOREIGEN KEY 제약조건: 외래 키를 지정함
    3. UNIQUE 제약조건: 중복하지 않는 유일한 값을 입력해야 함
    4. DEFAULT 정의: 값을 입력하지 않았을 때 자동으로 입력되는 값을 지정
    5. NULL 값 허용: 값이 없다는 의미로, 허용이면 생략 or NULL 사용, 비허용이면 NOT NULL 사용

가상의 테이블: 뷰

  • : 실제가 아닌 가상의 테이블로, 1개의 테이블에만 관련되면 단순 뷰, 2개 이상의 테이블과 관련되면 복합 뷰라고 부른다. 
    • 뷰를 사용하는 이유: ①사용자별 권한 범위 제어가 가능하여 보안에 도움되며,  ②SQL문을 단순화할 수 있음
    • 뷰의 형식: SELECT 문으로 구성(아래 코드블럭)
      • 뷰 생성: CREATE VIEW
      • 뷰 수정: ALTER VIEW
      • 뷰 삭제: DROP VIEW
      • 기존 뷰 덮어쓰고 없으면 새로 생성: CREATE OR REPLACE VIEW
      • 뷰 or 테이블 정보 조회 SQL: DESCRIBE
      • 뷰 소스 코드 열람 SQL: SHOW CREATE VIEW
      • 뷰에 설정된 조건만 입력되도록 지정: WITH CHECK OPTION
      • 뷰 OR 테이블 상태 조회 SQL: CHECK TABLE
CREATE VIEW 뷰_이름
AS
	SELECT 열_이름 FROM 뷰_이름
    [WHERE 조건];

기본 숙제

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

코드 실행 인증
데이터 입력 인증

 

추가 숙제

p.271 확인 문제 4번 풀고 인증하기
4. 다음은 기존에 뷰가 있으면 덮어쓰고, 없으면 새로 생성하는 SQL입니다. 빈칸에 들어갈 내용을 고르세요.
[                       ] 뷰_이름
AS                                  
           SELECT 문;

 

풀이) 뷰를 생성하는 SQL은 CREATE VIEW 인데, 있으면 덮어쓰므로 중간에 OR REPLACE가 있어야 한다.

그래서 CREATE OR REPLACE VIEW가 정답이다.

 

4주차 혼공SQL 끝!

 

'SQL' 카테고리의 다른 글

[혼공S] 5주차_인덱스  (0) 2025.02.16
[혼공S] 3주차_SQL 고급 문법  (1) 2025.01.26
[혼공S] 2주차_SQL 기본 문법  (0) 2025.01.19
[혼공S] 1주차_SQL 개념 및 맛보기  (1) 2025.01.10