[제로베이스] 데이터 사이언스 12기 - (03-17 스터디노트)

윤태호·2023년 3월 17일
0
post-thumbnail

오늘 수강한 강의 - PRIMARY KEY, FOREIGN KEY (01 ~ 08)

01 ~ 02 PRIMARY KEY

실습환경 만들기

  • zerobase 사용 (이동)

PRIMARY KEY (기본 키)

- 테이블의 각 레코드를 식별
- 중복되지 않은 고유값을 포함
- NULL 값을 포함할 수 없음
- 테이블 당 하나의 기본키를 가짐

[PRIMARY KEY 생성 문법 1]

  • 하나의 칼럼을 기본키로 설정하는 경우

  • 여러개의 칼럼을 기본키로 설정하는 경우

[PRIMARY KEY 삭제 문법]

  • 하나의 칼럼이 기본키로 설정된 경우
  • 여러개의 칼럼이 기본키로 설정된 경우 (삭제하는 방법은 동일)

[PRIMARY KEY 생성 문법 2]

  • 하나의 칼럼을 기본키로 지정하는 경우
  • 여러개의 칼럼을 기본키로 지정하는 경우

03 ~ 06 FOREIGN KEY

FOREIGN KEY (외래 키)

한 테이블을 다른 테이블과 연결해주는 역할이며,
참조되는 테이블의 항목은 그 테이블의 기본키 (혹은 단일값)

[FOREIGN KEY 생성 문법 1]

  • CREATE TABLE 에서 FOREIGN KEY를 지정하는 경우

  • CREATE TABLE 에서 FOREIGN KEY를 지정하는 경우, CONSTRAINT 를 생략할 수 있다

[COSNTRAINT 확인 문법]

  • 자동 생성된 CONSTRAINT 를 확인하는 방법
  • COSNTRAINT 확인 예제

[FOREIGN KEY 삭제 문법]

  • FOREIGN KEY 삭제 예제

[FOREIGN KEY 생성 문법 2]

  • Table 이 생성된 이후에도 ALTER TABLE 을 통해 FOREIGN KEY 를 지정할 수 있다
    • FOREIGN KEY 생성 예제 2


07 ~ 08 FOREIGN KEY 예제

police_station 과 crime_status 테이블 사이에 관계 (Foreign Key)를 설정해 봅시다.
AWS RDS(database-1) 의 zerobase 에서 작업합니다.

[분석]

  • police_station.name 과 crime_status.police_station 을 매칭하여 관계를 맺게 하기
  • 경찰서 이름이 각 테이블에서 표시되는 형식이 다름
  • crime_status.police_station 을 police_station.name 과 같이 만들어서 비교

[Primary Key 설정]

  • police_station.name 을 Primary Key 로 설정
  • crime_status 테이블에 Foreign Key 로 사용할 Column 추가
  • Foreign Key 생성
  • Foreign Key 값 Update

[JOIN]

  • Foreign Key 를 기준으로 두 테이블을 연관시켜 검색할 수 있다

재미있었던 부분

Primary key 와 Foreign key를 설정해주고 서로 reference 하는 부분이 새롭고 재미있었다
서로 다른 데이터가 연결되어 참조하는 것은 처음해보아서 새로웠다

어려웠던 부분

중간에 중복되는 데이터가 있어서 계속 오류가 났었다
이것 때문에 해결하느라 오래걸렸다

느낀점 및 내일 학습 계획

새로운 주제를 배울때마다 SQL에서는 오류가 정말 많이 난다
EDA 때보다 오히려 더 어려운 것 같기도 하다
강의랑 분명 똑같이 따라가고 있었는데 왜 내것만 오류가 나는걸까..ㅋㅋ
내일은 Aggregate Functions를 공부할 예정이다

profile
부트캠프 참여중

0개의 댓글