데이터베이스 설계

Sitehyun·2023년 2월 1일
0

IT Log

목록 보기
9/10

2주간 블로깅을 하지 않았다...

2주간 블로깅을 하지 않으면서 느낀 것은 블로깅을 하였던 섹션1때와 달리 체화되지 않는 느낌이 선명했던 것 같다.

배운 지식을 블로깅을 통해 나의 언어로 풀어내며 개념 정리를 하는 것의 힘을 좀 깨달았다. 다시 열심히 해보자...!


관계형 데이터베이스

구조화된 데이터는 하나의 테이블로 표현될 수 있고, 정의된 테이블을 relation이라 부른다. 즉, 테이블을 사용하는 데이터베이스를 관계형 데이터 베이스라고 말한다.

관계형 데이터베이스를 사용함에 따라 반드시 알고있어야 하는 키워드이다.

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

관계 종류

각각의 테이블들은 칼럼을 기준으로 서로 관계될 수 있다. 물론 사전에 서로의 값을 참조하여 관계 할 수 있는 길을 열어줘야 한다.

관계의 종류는 아래의 항목이다.

  • 1:1 관계
  • 1:N 관계
  • N:N 관계
  • self referencing

1:1 관계

1:1 관계는 주민등록번호와 비슷하다.

person 테이블의 idNum은 identification_card 테이블의 cardnum과 연결되어 있으며 1:1 관계를 가진다. 각 주민등록 번호가 단 한명의 유저와 연결되어 있고 그 반대도 동일하다면 1:1 관계라고 할 수 있다.

1 : N 관계

1:N관계는 카페의 주문과 비슷하다.

하나의 고객이 여러개의 주문을 넣을 수 있지만, 해당 오더는 주문을 발주한 해당 고객에게 할당될 수 밖에 없다.

이런 경우 1:N 관계라고 할 수 있다.

N:N의 관계

N:N의 관계는 패키지 여행 구매와 비슷하다.

여행 상품을 관리하는 package는 하나의 패키지 상품을 여러 고객에게 팔 수 있습니다. 또한 traveller는 여러개의 상품을 구매할 수 있다.

N:N 관계에서는 위 그림에서 보이는 traveller_package를 통해 서로 연동될 수 있다. 여기서 traveller_package 는 조인 테이블이라고 부른다.

자기 참조 관계 (Self Referencing Relationship)

자기 참조 관계는 여러 사이트들의 추천인 제도와 비슷하다.

user 테이블의 recommendId는 자신의 테이블 안의 user와 연결되어 있다. 한명의 유저는 한명의 추천인을 가질 수 있지만 여러명이 한명의 추천인을 등록할 수 있고, 이는 1:N관계와 비슷합니다.

0개의 댓글

관련 채용 정보