컴퓨터 과학/[프로그래머스] SQL DB Essentials

Chapter 10 DDL : 무결성 유지 메카니즘, 뷰와 데이터 사전

계란💕 2022. 3. 23. 11:17

 

  - 하나의 테이블에서 FK는 여러 개 가질 수 있다.

 

  - FK제약 조건 유지를 위한 DBMS의 동작

   1) 자식테이블에 대한 INSERT / UPDATE문에서 부모의 PK에 존재하지 않는 값이 시도될때 DBMS가 거부

   2) 부모테이블에 대한 DELETE/ UPDATE문에서 부모 테이블의 PK값을 삭제/수정할 때, 

    -> NO ACTION, RESTRICT: DBMS가 실행을 거부

    -> SET NULL, SET DEFAULT: 자식테이블에서 해당 PK값 갖는 모든 FK를 NULL 또는 DEFAULT로 수정

    -> CASCADE: 자식테이블에서 FK에 해당 PK값을 갖는 모든 투플을 연속적 삭제/ 수정

 

 

  - 참조무결성 옵션

  1) NO ACTION(표준SQL) / RESTRICT(MySQL)

  2) SET NULL / SET DAFAULT

  3) CASCADE

 

 

  Def) View: 하나 이상의 기본 테이블(base table)로부터 유도된 가상 테이블 (virtual table)

  -> 기본 테이블: 시스템에 저장된 테이블

  -> view: 저장되지는 않고 실행시에만 임시로 구체화되는 테이블

  -> 검색/ 갱신

 

  -뷰의 장점

    -> 독립성 / 편리성 / 보안성 / 사용자 권한에 따라 다양한 뷰를 제공

  - 뷰의 단점

    -> 독자적 인덱스가 없음 / 갱신에 제약이 많다 / 정의를 변경할 수 없다.

 

 

  - INFORMATION ??

  Def) SCHEMATA 테이블: MySQL에 생성된 모든 스키마 정보를 제공한다.

  Def) TABLES 테이블: 정의된 모든 테이블 정보를 제공한다.

  Def) COLUMNS 테이블: 정의된 모든 컬럼 정보를 제공

  Def) KEY_COLUMN_USAGE 테이블: 정의된 모든 PK, FK에 대한 정보를 제공한다.

  Def) REFERENTIAL_CONSTRAINTS 테이블: 정의된 모든 FK의 참조 무결성 옵션에 대한 정보를 제공한다.

  Def) CHECK_CONSTRAINTS 테이블: 정의된 모든 CHECK 제약 조건에 대한 정보를 제공한다.

 

 

본 게시글은 프로그래머스의 "학교 밖에서 듣는 전공 필수SQL/DB Essentials" 강의 내용을 토대로 업로드 했습니다.

 

 

[스터디/2기] 학교 밖에서 듣는 전공필수 SQL/DB Essentials

⏰마지막 할인 중 2기 일정이 맞지 않다면 오픈 알림 신청하고 최저가에 수강하세요! 오픈 알림 신청 개발자에게 데이터베이스를 이해하는 능력은 필수! 데이터베이스의 기본 개념부터 ERD를 읽

programmers.co.kr

https://programmers.co.kr/learn/courses/13484