SEB_BE_43 / 23.01.31 회고

rse·2023년 1월 31일
0

코드스테이츠_BE_43

목록 보기
25/65

오늘

  • 관계형 데이터베이스
  • 스키마(schema)

관계형 데이터베이스

구조화된 데이터는 하나의 테이블로 표현할 수 있다. 사전에 정의된 테이블을 relation 이라고도 부르기 때문에, 테이블을 사용하는 데이터베이스를 관계형 데이터베이스(Relational database)라고 한다.

  • 데이터(data): 각 항목에 저장되는 값.
  • 테이블(table; 또는 relation) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적.
  • 칼럼(column; 또는 field) : 테이블의 한 열을 가리킨다.
  • 레코드(record; 또는 tuple) : 테이블의 한 행에 저장된 데이터.
  • 키(key) : 테이블의 각 레코드를 구분할 수 있는 값. 각 레코드마다 고유한 값을 가진다. 기본키(primary key)와 외래키(foreign key) 등이 있다.

schema

데이터베이스에서 데이터가 구성되는 방식과 서로 다른 테이블간의 관계에 대한 설명이다.

스키마란 데이터베이스의 청사진과 같다.

관계 종류

  • 1:1
  • 1:N
  • N:N

테이블 스스로도 가능

  • self referencing

1:1 관계

phone_id는 외래키(foreign key)로써, phonebook 테이블의 phone_id와 연결되어 있다. phonebook테이블은 phone_id와 phone_number를 가지고 있다.

1:N 관계

위 테이블 예제로 보자면 블로그라고 생각해보자.
한 사람이 여러개의 포스트를 쓸 수 있나? (가질 수 있나) = yes
한 포스트가 여러명의 사람을 가질 수 있나? = no

그럼 user는 1이고 post는 n이 되는 것이다. 유저는 단 한명뿐이고, post는 여러개여도 상관없으니까.

N:N 관계

블로그 포스트에 해시태그를 여러개 달 수 있는가? = yes
해시태그는 여러개의 블로그 포스트 를 가질 수 있는가? = yes (해시태그 누르면 해당 해시태그를 등록한 다른 포스팅도 볼 수 있음. 즉 해시태그 안에 포스트가 포함되어 있다.)

이럴경우 다대다 관계라고 할 수 있다. n:n관계의 경우 join을 사용해서 테이블을 이어준다.

profile
기록을 합시다

0개의 댓글