인공지능, 데이터분석/[SQL] 혼자 공부하는 SQL

[혼공SQL] 5장. 테이블(제약조건 : 기본키, 외래키, 고유키)과 뷰

마법사 코딩공주 2023. 4. 24. 14:55
728x90
반응형

Chapter 5. 테이블과 뷰

5.1 테이블 만들기

  • CREATE TABLE : 테이블을 생성하는 SQL로 테이블 이름, 열 이름, 데이터 형식 등으 지정
  • 열에 입력될 값이 1부터 자동 증가하도록 설정하려면 GUI에서는 AI, SQL에서는 AUTO_INCREMENT를 입력
  • 열에 빈 값을 허용하지 않으려면 GUI에서는 NN, SQL에서는 NOT NULL을 입력
  • 열을 기본 키로 지정하려면 GUI에서는 PK, SQL에서는 PRIMARY KEY를 입력
  • 열을 외래 키로 지정하려면 GUI에서는 FK, SQL에서는 FOREIGN KEY 예약어를 입력

<관련 중요 용어>

용어 설명
GUI Graphical User Interface의 약자로, 윈도에서 진행하는 작업을 의미
로우(row) 테이블의 행, 레코드(record)라고 부름
컬럼(column) 테이블의 열, 필드(field)라고 부름
UNSIGNED 정수형 뒤에 붙이면 0부터 양의 정수만 입력됨
백틱(`) 키보드 1 바로 왼쪽에 있는 키, 테이블 이름이나 열 이름을 묶을 때 사용
NULL 열에 비어 있는 값을 허용할 때 설정함(별도로 지정하지 않으면 기본은 NULL)
기본 키 - 외래 키 두 테이블이 일대다로 연결되는 관계
주석(remark) 하이픈(-) 2개 이후에 한 칸을 띄고 설명을 써야 함

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

  • 기본 키(Primary key) : 행 데이터 중에서 데이터를 구분할 수 있는 식별자 역할
  • 외래 키(Foreign key) : 두 테이블의 관계를 연결. 외래 키가 설정된 열은 꼭 다른 테이블의 기본 키와 연결됨
  • 고유 키(Unique) : 중복되지 않은 유일한 값. 기본 키와 차이점은 NULL 값을 허용
  • 체크(check) : 입력되는 데이터를 점검하는 기능
  • 기본값(Default) : 값을 입력하지 않았을 때 자동으로 입력될 값을 미리 지정
  • 널(Null) 값을 허용하려면 생략하거나 NULL을 사용하고, 허용하지 않으려면 NOT NULL을 사용

5.2.1. 기본 키 제약조건

▶ 제약조건(constraint)은 데이터 무결성을 지키기 위해 제한하는 조건. 일단 데이터의 무결성이란 '데이터에 결함이 없음'을 의

 

▶ ALTER TABLE에서 설정하는 기본 키 제약조건

 

5.2.2. 외래 키 제약조건

▶ CREATE TABLE에서 설정하는 외래 키 제약조건

▶ ALTER TABLE에서 설정하는 외래 키 제약조건

▶ ON UPDATE CASCADE, ON DELETE CASCADE문

  • 기존 테이블의 기본 키를 변경/삭제하면 참조 테이블의 외래 키도 변경/삭제되는 기능

5.2.3. 고유 키 제약조건

  • '중복되지 않는 유일한 값', 고유 키 제약조건은 NULL 값을 허용
  • 기본 키는 테이블에 1개만 설정해야 하지만, 고유 키는 여러 개를 설정해도 됨

 - 이메일이 중복되어 오류발생


5.3 가상의 테이블 : 뷰

  • 뷰는 테이블에 직접 접근하므로 밀접하게 연관
  • 뷰 -> '가상의 테이블', 뷰의 실체는 SELECT 문으로 구성
  • 뷰는 특정 사용자가 테이블에 접근하지 못하도록 하고, 필요한 부분에만 접근하도록 함으로써 보완에 도움

728x90
반응형