본문 바로가기

수업 & 공부/수업 내용

17- EDR 다대다 매핑과 EQUI JOIN

다대다 매핑 (N : N)

 

관계형 데이터베이스는 정규화된 테이블 2개로 다대다 관계를 표현할 수 없다

그런 이유로 중간에 연결 테이블을 추가해서 다대다 관계를 일대일, 다대일 관계로 풀어낸다

여기서 PruchaseOrder(주문) 테이블이 연결 테이블 역할을 한다

 ( PruchaseOrder테이블에 두 개의 왜래키(uid, pid) 가 생긴것을 볼 수 있다. )

 

 

 

EDR 코드 DB에서 실행

 

  이전에 만든 테이블들을 DROP시키고 다시 위 사진의 EDR코드를 받아서 실행해보자

  (일대일 일대다 EDR을 작성해봤으니 잘 실행했으리라 생각한다!)

 

  각 테이블에 값을 넣어주었다. 이제 어떻게 출력할건지 생각해보자

 

 

 

Equi Join

 

  조건 절에 조인되는 두 테이블의 컬럼을 Equal 연산자(=)로 연결하는 경우이다.

  주로 Primary Key와 Foreign Key 컬럼이 서로 조인될 때 이용되는 형태

 

 

   -- 1. 아래 정보를 모두 하나의 표로 보여주세요
   -- 로그인 아이디 | 닉네임 | 휴대폰번호 | 이메일 | 본명

  다음과 같은 요구가 들어왔을때 사용해보자 

  Equi Join으로 userd의 PK 즉 userPrivateInfo 의 FOREIGN KEY인 uid 를 조인해서 

  아이디 닉네임 휴대폰번호 이메일 이름을 쉽게 출력하였다

  여기서 as = alias(별칭) 를 사용하여 출력되는 항목의 이름을 바꿀 수 있다

 

 

  -- 2. 회원이 주문한 제폼의 이름을 함께 보여주세요
  -- 로그인아이디 | 닉네임 | 주문일시 | 제품이름

  또다른 요구가 들어왔다 이번에도 Equi Join으로 묶어보자

  이번에는 user, purchaseorder, product 세가지 테이블이 필요하다

  두 테이블씩 조인하여 and로 묶어서 출력해보자

'수업 & 공부 > 수업 내용' 카테고리의 다른 글

19- SQL ( like )  (0) 2021.08.23
18- SQL ( GROUP BY )  (0) 2021.08.20
16- EDR 식별관계 (1 : 1)  (0) 2021.08.19
15- EDR 비식별관계(1 : N)  (0) 2021.08.19
14- Eclipse EDR 그리기  (0) 2021.08.19