[MySQL] 관계 차수란

2024. 6. 5. 12:46·MySQL/MySQL 기본

관계 차수(Relation Degree)는 관계형 데이터베이스에서 사용되는 용어로 테이블 간의 관계를 설명할 때는 '일대일', '일대다', '다대다' 같은 관계를 설명하는 용어이다.

‼  혼동하지 말자.  ‼

  1. 테이블 차수 - 테이블 내의 컬럼 수를 나타낸다.
  2. 관계 차수 - 두 테이블 간의 관계의 복잡성(예: 일대일, 일대다, 다대다)을 나타낸다.

💡테이블 간의 관계를 정의하는 방식에는 주로 네 가지 유형이 있다.

1:1 관계 (One-to-One Relationship)

  • 두 개의 테이블에서 각각 하나의 레코드가 서로 직접 매칭되는 관계이다.
  • 이 관계는 보통 서로 다른 테이블의 기본키와 외래키를 사용하여 연결한다.
  • 예: 사용자 테이블과 사용자 상세 정보 테이블, 여기서 각 사용자는 상세 정보와 정확히 하나씩 연결된다.
  • 예: 사람과 여권, 사람을 나타내는 Persons 테이블과 여권 정보를 나타내는 Passports 테이블이 있다.

1:N 관계 (One-to-Many Relationship)

  • 한 테이블의 하나의 레코드가 다른 테이블의 여러 레코드와 매칭된다.
  • 이 관계는 주로 한 테이블의 기본키가 다른 테이블의 외래키로 사용되어 연결된다.
  • 예: 고객 테이블의 각 고객이 여러 주문 레코드와 연결되는 경우 (고객이 여러 주문을 가짐).

N:1 관계 (Many-to-One Relationship)

  • 다수의 레코드가 한 테이블의 단일 레코드와 매칭되는 관계이다.
  • 이는 1:N 관계의 반대 개념이며, 구현 방식은 동일하다.
  • 예: 여러 주문이 하나의 고객에게 속하는 경우.

N:M 관계 (Many-to-Many Relationship)

  • 두 테이블 간에 다수의 레코드가 서로 매칭된다.
  • 이 관계를 구현하기 위해 보통 중간 연결 테이블을 사용하여 각 테이블의 레코드를 연결한다.
  • 연결 테이블은 각 테이블의 기본키를 외래키로 포함하며, 이들 외래키의 조합이 중간 테이블의 기본키가 되기도 한다.
  • 예: 학생과 수업 테이블, 여기서 한 학생이 여러 수업을 듣고, 하나의 수업에 여러 학생이 등록될 수 있다.

'MySQL > MySQL 기본' 카테고리의 다른 글

[MySQL] 테이블 복사 및 데이터 추가  (0) 2024.06.05
[MySQL] MySQL JOIN  (0) 2024.06.05
[MySQL] MySQL에서 인덱스(index)란  (0) 2024.06.04
[MySQL] UNIQUE 제약에 이해  (0) 2024.06.04
[MySQL] DELETE 구문과 조건절  (0) 2024.06.04
'MySQL/MySQL 기본' 카테고리의 다른 글
  • [MySQL] 테이블 복사 및 데이터 추가
  • [MySQL] MySQL JOIN
  • [MySQL] MySQL에서 인덱스(index)란
  • [MySQL] UNIQUE 제약에 이해
미로910
미로910
개발자를 꿈꾸는 민경이의 기록 블로그
  • 미로910
    개발 note
    미로910
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 설치 메뉴얼
      • HTML
      • JAVA
        • Java 기초
        • Java 응용
        • 자료구조
        • HTTP
        • JSP 프로그래밍
      • MySQL
        • MySQL 기본
        • 1일 1쿼리
      • CSS
      • Spring boot
      • JS
        • 게시판 만들기
      • Git
      • Flutter
        • MVVM 활용
        • 심화 버전
        • 1일 1 Flutter
      • 디자인 패턴의 활용
      • error note
      • My Project
        • [졸작] LLM 기반 특허 유사도 분석 시스템
        • 도서 관리 프로그램 (final project)
        • amigo
        • 친구 매칭 프로그램(FMP)
      • Python
      • 딥러닝
      • 네트워크
      • 공부 노트
        • 연구회
        • 자료구조
      • 기타
  • 블로그 메뉴

    • 홈
    • 전체보기
    • -----------------------
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
미로910
[MySQL] 관계 차수란
상단으로

티스토리툴바