엔티티 간의 연결은 데이터 모델링 과정에서 두 엔터티 사이의 관계(Relationship)를 설정하는 작업입니다. 관계형 데이터베이스에서는 이 연결을 통해 테이블 간의 연관성을 정의하며, 이를 기반으로 데이터를 효율적으로 저장, 조회, 관리할 수 있습니다.
엔티티 간의 연결은 현실 세계의 업무 프로세스나 비즈니스 로직에서 엔터티 간의 상호작용을 표현합니다. 관계는 두 개 이상의 엔티티 간에 설정되며, 각 엔터티는 주체(Parent) 또는 참조(Child) 역할을 할 수 있습니다.
관계(Relationship)
학생과 수강정보 간의 관계 → "학생은 수강정보를 가진다."키(Key)
카디널리티(Cardinality)
참조 무결성(Referential Integrity)
1:1 관계 (One-to-One)
한 엔터티의 튜플이 다른 엔터티의 튜플과 하나씩만 연결되는 관계.
예: 학생 엔터티와 학생증 엔터티
테이블 설계:
-- 학생 테이블
학생(학번(PK), 이름, 전공, 학생증번호(FK))
-- 학생증 테이블
학생증(학생증번호(PK), 발급일)
1:N 관계 (One-to-Many)
한 엔터티의 튜플이 다른 엔터티의 여러 튜플과 연결되는 관계.
예: 회원 엔터티와 주문 엔터티
테이블 설계:
-- 회원 테이블
회원(회원ID(PK), 이름, 이메일)
-- 주문 테이블
주문(주문ID(PK), 회원ID(FK), 주문일, 총액)
N:M 관계 (Many-to-Many)
한 엔터티의 튜플이 다른 엔터티의 여러 튜플과 연결되고, 반대도 성립하는 관계.
예: 학생 엔터티와 강의 엔터티
테이블 설계:
-- 학생 테이블
학생(학생ID(PK), 이름, 전공)
-- 강의 테이블
강의(강의ID(PK), 강의명, 교수)
-- 학생-강의 관계 테이블
학생_강의(학생ID(FK), 강의ID(FK), 수강일)
회원 ----< 주문
(1) (N)
관계형 데이터베이스에서는 JOIN을 사용하여 엔터티 간의 관계를 기반으로 데이터를 조회합니다.
회원과 주문 테이블SELECT 회원.이름, 주문.주문ID, 주문.총액
FROM 회원
JOIN 주문 ON 회원.회원ID = 주문.회원ID;
엔터티 간의 연결을 잘 설계하면 데이터의 일관성과 무결성을 유지하면서 효율적으로 데이터를 관리할 수 있습니다.
엔티티 간의 연결은 데이터베이스에서 테이블 간의 관계를 설정하고, 이를 활용해 데이터를 조회하는 방식으로 이루어지며, 이러한 과정을 JOIN(조인)이라고 합니다.
엔티티 간의 연결은 데이터베이스에서 테이블 간의 관계를 설정하고, 이를 활용해 데이터를 조회하는 방식으로 이루어지며, 이러한 과정을 JOIN(조인)이라고 합니다.
JOIN은 두 개 이상의 테이블을 연결하여 원하는 데이터를 조회할 때 사용하는 SQL 연산입니다.
테이블 간의 연결은 기본 키(Primary Key)와 외래 키(Foreign Key)를 이용해 이루어지며, JOIN을 통해 테이블에 저장된 데이터를 조합해 결과를 반환합니다.
기본 키와 외래 키
JOIN을 통해 테이블 연결
INNER JOIN
SELECT *
FROM 학생 s
INNER JOIN 수강정보 c ON s.학번 = c.학번;
학생 테이블과 수강정보 테이블의 학번을 기준으로 조인.LEFT OUTER JOIN
NULL을 반환. SELECT *
FROM 학생 s
LEFT JOIN 수강정보 c ON s.학번 = c.학번;
NULL.RIGHT OUTER JOIN
NULL을 반환.SELECT *
FROM 학생 s
RIGHT JOIN 수강정보 c ON s.학번 = c.학번;
FULL OUTER JOIN
NULL을 반환.SELECT *
FROM 학생 s
FULL JOIN 수강정보 c ON s.학번 = c.학번;
CROSS JOIN
SELECT *
FROM 학생 s
CROSS JOIN 수강정보 c;
JOIN은 데이터베이스에서 정규화된 데이터를 결합해 일관성과 무결성을 유지하면서 데이터를 조회하는 데 필수적인 기능입니다. 실무에서는 테이블 간의 관계를 잘 설계하고, JOIN을 통해 효율적으로 데이터를 조합하여 필요한 정보를 추출하는 것이 매우 중요합니다. 😊