관계형 데이터베이스 (2)

강호수·2022년 10월 6일
0

구조화된 데이터는 하나의 테이블로 표현할 수 있다. 테이블을 사용하는 데이터베이스를 관계형 데이터베이스라고 한다.

  • 데이터 : 각 항목에 저장되는 값
  • 테이블 : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적
  • 칼럼 : 테이블의 한 열
  • 레코드 : 테이블의 한 행에 저장된 데이터
  • 키 : 테이블의 각 레코드를 구분할 수 있는 값. 각 레코드마다 고유한 값을 가진다. primary key, foreign key 등이 있다.

관계 종류

1:1 관계

하나의 레코드가 다른 테이블의 레코드 한 개와 연결
하지만 1:1 관계의 경우에는 하나의 테이블에 같이 저장하는게 나을 수도 있다.

1:N 관계

하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우
ex) User, Phonebook -> 1:N
1에 있는 key를 primary key로 저장하는게 수월하다.

N:M 관계

다대다 테이블은 1:A:1의 형태로 바꿀 수 있다. 사이에 조인 테이블을 생성함으로서 더욱 효율적으로 관리한다.

SQL

SQL 내장함수

  • GROUP BY
    -> 데이터를 조회할 때 그룹으로 묶어서 조회
    ex) SELECT ~ FROM ~ GROUP BY ~~;

  • HAVING
    -> GROUP BY로 조회된 결과를 필터링할 수 있다
    ex) SELECT ~ FROM ~ GROUP BY ~ HAVING xx > 5;

  • COUNT()
    -> 레코드 갯수를 세야할 때 쓰인다
    ex) SELECT , COUNT() FROM ~

  • SUM(), AVG(), MAX(), MIN()
    -> 위의 COUNT()와 같은 방법으로 쓰인다

스키마 디자인

Instagram의 스키마를 간단하게 디자인 해보았다.
이 때 ERD Cloud를 이용하였다.

(틀린게 많을 수도 있지만 차차 보완해보도록 할 예정...이다..)

0개의 댓글