CS/DB & SQL

[기술면접] DB | 모델링 N:M관계

째깍단 2023. 8. 28. 16:02

💡 데이터 모델링의 이해

 

DB 모델링

데이터 관점의 업무 분석 기법

우리가 살고있는 세상을 데이터 베이스에 넣기 위해 테이블들을 결정하는 과정

현실 혹은 추상적 데이터에 대한 분석, 설계로 데이터간의 관계를 정의하는 과정

 

*주의* 데이터 모델링 시에는 중복이나 비일관성, 비유연성을 주의해야한다

 

 

 

데이터 모델링의 특징

  • 추상화
  • 단순화
  • 명확화(정확화)

 

 

DB의 구조

  • DB : 데이터를 저장하는 저장소
  • DBMS : db를 관리하고 운영하는 소프트웨어
  • 테이블 : 행과 열로 되어있는 DB안에 들어있는 정보 행
  • row : 실질적인 데이터. 행 데이터 (=데이터의 개수)
  • 열 column : 열(세로. 정보 상세)
  • pk : primary key -> 어떤 열을 기본키로 정할지는 개발자가 정함
  • 전제조건: 1 중복이 없어야하며, 2 모든 row에 반드시 값이 존재해야한다
  • 데이터 형식 : 문자,숫자 등 type. 열에 저장된 데이터의 형식. 테이블 생성시 열 이름과 함께 지정한다

 

 

 

 

 

💡 관계형 데이터베이스는 무엇입니까? 관계형 DB의 N:M 관계에 대해서 설명해 주세요.

 

관계형 데이터베이스(Relational Database)

  • 데이터를 테이블의 형태로 저장
  • 각 테이블은 행(row)과 열(column)으로 구성 데이터의 추가, 삭제, 검색이 쉽다 데이터 간의 관계를 정의함으로써 복잡한 쿼리와 분석을 가능하게 한다

관계형 데이터베이스 설계의 N:M관계

여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계가 있는 경우를 말한다

다대다 N:M 관계를 위해 스키마를 디자인할때 Join 테이블을 만들어 관리한다.

1:M 와 비슷하지만 양방향에서 다수의 레코드를 가진다

 

  • Join 테이블
    두 개의 테이블과 1:N(일대다) 관계를 형성하는 새로운 테이블로 N:M(다대다) 관계를 나타낼 수 있다
    다대다 관계를 위한 테이블을 조인 테이블이라고 한다