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) 엔티티 사이의 관계
→ 한 사람은 하나의 여권을 가질 수 있고, 하나의 여권은 한 사람에게만 발급
2. 일대다(1:N) 관계
- 하나의 엔티티의 하나의 인스턴스가 다른 엔티티의 여러 인스턴스와 연관
- 예) 부서(Department) 엔티티와 직원(Employee) 엔티티 사이의 관계
→ 하나의 부서는 여러 직원을 가질 수 있고, 각 직원은 하나의 부서에만 속할 수 있음
3. 다대다(N:M) 관계
- 하나의 엔티티의 여러 인스턴스가 다른 엔티티의 여러 인스턴스와 연관
- 예) 학생(Student) 엔티티와 강의(Course) 엔티티 사이의 관계
→ 한 학생은 여러 강의를 수강할 수 있고, 하나의 강의는 여러 학생들이 수강할 수 있음
@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 |
댓글 영역