데이터베이스 설계(1:1, 1:N, N:M의 관계 설정)

코드스테이츠·2023년 2월 1일
0

-구조화된 데이터를 하나의 테이블로 표현

-테이블을 사용하는 데이터베이스를 관계형 데이터베이스(Relational database)라고 함

아래는 관계형 데이터베이스 사용시 반드시 알아야되는 키워드들

  1. 데이터(data)
    각 항목에 저장되는 값이다.

  2. 테이블(table; 또는 relation)
    사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적된다.

  3. 칼럼(column; 또는 field)
    테이블의 한 열을 가리킨다.

  4. 레코드(record; 또는 tuple)
    테이블의 한 행에 저장된 데이터이다.

  5. 키(key)
    테이블의 각 레코드를 구분할 수 있는 값이다.
    각 레코드마다 고유한 값을 가진다.
    기본키(primary key)와 외래키(foreign key) 등이 있다.

테이블과 테이블의 사이는 아래와 같은 종류가 있다

  • 테이블과 테이블 사이의 관계는 다음과 같습니다.

  • 1:1 (one-to-one) 관계

  • 1:N (one-to-many) 관계

  • N:N or N:M (many-to-many) 관계

  • self referencing 관계
    -테이블 스스로 관계를 가진관계

1. 1:1 (one-to-one) 관계

  • 하나의 레코드가 다른 테이블의 레토드 한개와 연결된 경우

2. 1:N (one-to-many) 관계

  • 하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우
  • 이 구조에서는 한 명의 유저가 여러 전화번호를 가질 수 있다. 그러나 여러명의 유저가 하나의 전화번호를 가질 수는 없다.
  • 관계형 데이터베이스에서 가장 많이 사용하는 관계

3. N:N or N:M (many-to-many) 관계

  • 여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계

Customer table과 Package table의 N:N 관계를 위해 customer_package 테이블(Join 테이블)을 생성

  • N:N(다대다) 관계를 위해 스키마를 디자인할 때에는, Join 테이블을 만들어 관리한다
  • 조인 테이블을 위한 기본키는 반드시 있어야 한다

4. self referencing 관계

-테이블 스스로 관계를 가진관계

  • 추천인이 누구인지 파악하기 위해 사용할수 있다.

0개의 댓글