BE/Database

데이터베이스 응용

develkbh 2024. 2. 21. 10:24


JOIN

조인이란?

데이터베이스의 조인은 두 개 이상의 테이블에서 데이터를 결합하여 새로운 결과를 생성

  • 테이블 간의 관계를 통해 의미 있는 정보를 얻어내야 할 때 조인을 사용하 여 관련된 데이터를 결합하고 원하는 정보를 추출

조인 종류

  • INNER JOIN: 공통된 값만을 가진 행 반환.
  • LEFT JOIN: 왼쪽 테이블 모든 행 포함하며, 오른쪽 테이블과 일치하는 경우 함께 반환.
  • RIGHT JOIN: 오른쪽 테이블 모든 행 포함하며, 왼쪽 테이블과 일치하는 경우 함 께 반환.
  • FULL JOIN: 양쪽 테이블 모든 행을 포함하며, 일치하는 경우 함께 반환.

조인

 


Relationship?

  • 테이블들은 서로 관계를 맺을 수 있으며, 이를 통해 복잡한 데이터 구조를 단순 화하고 관리
    • 1:1
    • 1:다(N)
    • 다 (N) :다 (N)
  • 복습) 외래키: 다른 릴레이션(테이블)의 키를 참조하는 것을 외래키

1:1 관계

  • 1:1 관계는 하나의 레코드가 다른 하나의 레코드와 관련되어 있는 관계를 의미
  • 이 관계에서 각 레코드는 서로 한 가지 정보만을 공유
  • 예시) 사용자와 프로필, 직원과 연차, 주문과 송장

생성방법

 

User 와 Profile 의 관계 (1:1)

 

생성방법

  • hasOne: 한 모델이 다른 모델을 가리키는 1:1 관계를 설정하는 데 사용
  • belongsTo: 다른 모델이 한 모델을 가리키는 1:1(1:다) 관계를 설정하는 데 사용

1:다 관계

  • 1:다 관계는 한 쪽 레코드가 다른 쪽 레코드 여러 개와 관련되어 있는 관계
  • 보통 부모 엔티티와 자식 엔티티 사이의 관계를 나타내는데 사용
  • 예시) 부서와 직원, 고객과 주문, 학교와 학생

생성방법

 

Customers 와 Order 고객(customers)은 여러 개의 주문을 할 수 있고, 하나의 주문(orders)은 고객 한 명에게 속해 있다. 의 관계 (1:N)

 

고객(customers)은 여러 개의 주문을 할 수 있고, 하나의 주문(orders)은 고객 한 명에게 속해 있다.

 

생성방법

  • hasMany: 한 개의 모델(테이블)이 다른 모델과 1:n 관계를 가질 때 사용
  • belongsTo: 다른 모델이 한 모델을 가리키는 1:1(1:다) 관계를 설정하는 데 사용

다:다 관계

  • 다:다 관계는 한 쪽 레코드가 다른 쪽 레코드 여러 개와 관련되고, 그 반대쪽 레코드도 다른 쪽 레코드 여러 개와 관련되어 있는 관계를 의미
  • 이 관계는 중간 테이블을 사용하여 구현
  • 예시) 학생과 과목, 주문과 제품, 배우와 영화

생성방법

Students와 Teacher의 관계 (N:M)

 

생성방법

  • belongsToMany: 다:다 관계를 설정할 때 사용되는 메서드