티스토리 뷰
관계형 데이터베이스의 데이터 모델의 구성요소중에는 개체, 속성, 관계 이렇게 나뉩니다.
그중 관계는 두개 이상의 개체 간의 연관성을 결정짓는 의미 있는 연결로 개체간의 관계, 또는 속성간의 관계를 나타냅니다.
관계
■ 일 대 일 ( 1 : 1 )
■ 일 대 다 ( 1 : N )
■ 다 대 다 ( N : M )
일 대 일 관계 ( 1 : 1 )
• 개체 집합 A의 각 원소가 개체 집합 B의 원소 1개와 대응하는 관계입니다.
• 즉, 어느 엔티티 쪽에서 상태 엔티티를 보더라도 반드시 단 하나씩 관계를 가지는것을 말합니다.
개체는 정적인 성질과 관련이 있고, 개체들간의 관계는 오퍼레이션을 해결하기 위해 만들어 집니다.
예를 들어 한명의 학생에게는 하나의 학번밖에 존재하지 않습니다.
일 대 다 관계 ( 1 : N )
• 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러개와 대응하고 있지만,
개체 집합 B의 각 원소는 개체 집합 A의 원소 1개와 대응하는 관계입니다.
• 즉, 한쪽 엔티티(개체)가 관계를 맺은 엔티티 쪽의 여러 객체를 가질 수 있는 것을 의미 합니다.
• 매우 흔한 방식이며, 실제 DB를 설계할 때 자주 쓰이는 방식입니다.
• 현실 세계에는 1 : N관계가 많이 존재합니다.
• 1 : N 관계는 N : M 관계처럼 새로운 테이블을 만들지 않습니다.
예를 들어 하나의 버스에는 여러 승객이 탈수 있지만 승객이 버스를 중복해서 탈수는 없습니다.
다 대 다 관계 ( N : M )
• 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고,
개체 집합 B의 각 원소도 개체 집합 A의 원소 여러 개와 대응 하는 관계입니다.
• 즉, N : M 관계는 관계를 가진 양쪽 엔티티 모두에서 1 : N 관계가 존재할 때 나타나는 모습입니다.
서로가 1 : N 인 관계로 보고 있는 것입니다.
• 추후에는 N : M 관계를 1 : N관계로 나눠야 합니다.
다 대 다를 예시로 들면 쇼핑몰을 예시로 들 수 있습니다.
쇼핑몰에 모자 하나가 있다고 하면 모자는 여러 사람에게 팔릴수 있습니다.
또한 손님은 모자만 사는 것이아닌 모자, 티셔츠, 양말등을 살수 있는 것입니다.
'프로그래밍 기초 > database' 카테고리의 다른 글
Prisma 사용하기 (0) | 2024.02.08 |
---|---|
SQL Injection이란? (1) | 2024.02.08 |
데이터 무결성 제약 조건 (0) | 2024.02.05 |
DDL, DML, DCL, TCL 이란? (0) | 2024.02.02 |
MongoDB(작업 코드에 MongoDB적용하기) (1) | 2024.01.26 |