상세 컨텐츠

본문 제목

[Swift] ERD(Entity Relationship Diagram)

Swift&SwiftUI

by (방울)도마토 2024. 7. 6. 14:25

본문

ERD

- 데이터베이스 구조를 시각적으로 표현한 다이어그램 

- 데이터베이스 설계를 문서화하고, 시스템의 데이터 요구사항을 이해하는 데 도움을 줌

- Entity, Attribute, Relationship 으로 구성 

 

Entity

- 관리하고자 하는 정보의 실체이며 실세계의 객체나 개념을 나타냄

- 모든 Entity는 하나 이상의 식별자(UID)를 가져야 하며 UID가 없다면 Entity로 볼 수 없음

더보기

UID(Unique Identifier)의 역할

1. 데이터의 고유성 보장 

- UID는 데이터베이스 내 각 Entity를 고유하게 식별

- 동일한 Entity를 중복없이 저장할 수 있음

 

2. 관계 설정

- UID를 사용하여 다른 Entity와의 관계를 설정할 수 있음

 

3. 데이터의 무결성 유지 

- 중복 데이터나 불일치하는 데이터를 방지할 수 있음 

 

* 데이터 무결성 

- 데이터가 전송, 저장되고 처리되는 모든 과정에서 변경되거나 손상되지 않고 완전성, 정확성, 일관성을 유지함을 보장하는 특성 

- 예) 학생, 강의, 교사 

 

Attribute

- Entity를 구성하고 있는 속성 

- 데이터 타입을 반드시 같이 명시해주어야 함

- 예) 학생 Entity의 속성 : 이름, 학번, 생년월일 등이 있음 

 

Relationship

- Entity 간의 연관성을 나타냄 

- 예) 학생과 강의 간의 관계 → '수강한다'

 

1. 일대일(1:1) 관계

- 하나의 엔티티의 하나의 인스턴스가 다른 엔티티의 하나의 인스턴스와만 연관

- 예) 사람(Person) 엔티티와 여권(Passport) 엔티티 사이의 관계

   → 한 사람은 하나의 여권을 가질 수 있고, 하나의 여권은 한 사람에게만 발급 

 

1 : 1 관계

 

 

2. 일대다(1:N) 관계

- 하나의 엔티티의 하나의 인스턴스가 다른 엔티티의 여러 인스턴스와 연관

- 예) 부서(Department) 엔티티와 직원(Employee) 엔티티 사이의 관계

   → 하나의 부서는 여러 직원을 가질 수 있고, 각 직원은 하나의 부서에만 속할 수 있음 

 

1 : N 관계

 

3. 다대다(N:M) 관계

- 하나의 엔티티의 여러 인스턴스가 다른 엔티티의 여러 인스턴스와 연관

- 예) 학생(Student) 엔티티와 강의(Course) 엔티티 사이의 관계

   → 한 학생은 여러 강의를 수강할 수 있고, 하나의 강의는 여러 학생들이 수강할 수 있음

 

N : M 관계

 

'Swift&SwiftUI' 카테고리의 다른 글

@State and @Binding  (0) 2024.08.11
[Swift] 좋은 데이터 구조 (feat. chatGPT)  (0) 2024.07.06
[Dev_Pathway] Customize views with properties : Structures and Classes  (0) 2024.07.03
[Dev_Pathway] Hello, SwiftUI  (0) 2024.07.03
[Swift] MVVM  (0) 2024.06.28

관련글 더보기

댓글 영역