오늘은 SQLP의 1과목 - 데이터 모델링의 이해에 포함되는 내용 중에서도
데이터 모델의 이해, 엔티티, 속성, 식별자에 대해 정리해보겠습니다.
데이터 모델의 이해
- 데이터 모델: 일정한 표기법에 따라 표현한 모형
- 데이터 모델링: 모델을 만들어 가는 일 자체
데이터 모델링의 특징
데이터 모델링은 아래 세 가지 특징을 가지고 있습니다.
- 추상화: 현실 세계를 일정한 형식에 맞춰 표현
- 단순화: 약속된 규약을 따라 간결하게 표현
- 명확화: 애매모호함을 제거하고 정확하게 기술
데이터 모델링의 3단계
하위로 갈수록 데이터베이스는 점점 구체화 됩니다.
- 개념적 데이터 모델링
가장 업무 중심적이고 포괄적, 추상적인 단계입니다.
핵심 엔티티와 그들 간의 관계를 발견하고 표현하기 위해 ERD(Entity Relationship Diagram)를 작성합니다. - 논리적 데이터 모델링
모든 엔티티, 속성, 관계를 정확하게 도출하고, 중복 제거를 위해 정규화를 적용합니다. - 물리적 데이터 모델링
논리적 데이터 모델이 어떻게 하드웨어(DB)에 표현될 것인가를 설계하는 모델링 과정입니다.
데이터베이스 이식을 위해 성능, 저장 등 물리 요소까지 고려하여 설계합니다.
엔티티(Entity)란?
유용한 정보를 저장하고 관리하기 위한 집합적인 것으로, 데이터베이스에서 관리하고자 하는 개별적인 항목이나 객체를 의미합니다.
엔티티는 두 개 이상의 인스턴스를 보유해야하고, 인스턴스의 집합이라고도 합니다.
Python의 따지자면 Object와 Instance의 관계가 Entity와 Instance의 관계와 비슷해보입니다.
예를 들어 학생의 정보가 이름과 학번으로 구성되어있다고 하면, "학생의 정보 = 이름, 학번" 이라고 할 때 학생의 정보가 엔티티이고, "김철수, 1234" 가 인스턴스라고 할 수 있습니다.
엔티티와 식별자
식별자란 엔티티 내에서 인스턴스를 구분할 수 있는 구분자 입니다.
주식별자(Primary key)는 한국인의 주민등록 번호 같은 역할을 합니다.
식별자의 종류
대표성 여부에 따른 분류
- 주식별자: 유일성과 최소성을 만족하면서 엔터티를 대표하는 식별자 ex) 한국인 엔티티의 주민번호
- 보조 식별자: 대체 가능한 식별자 ex) 학생 엔터티의 이메일 주소, 도서 엔티티의 ISBN
생성 방식에 따른 분류
- 내부 식별자: 엔티티 내부에서 생성되는 식별자 ex) 주문서 엔티티의 주문번호
- 외부 식별자: 다른 엔터티와의 관계로 생성되는 식별자 ex) 주문서 엔티티의 물품 번호
속성의 수에 따른 분류
- 단일 식별자: 하나의 속성으로 구성 ex) 학생 엔티티의 학번
- 복합 식별자: 두 개 이상의 속성으로 구성 ex) 수강과목 엔티티의 교수님, 과목명, 개설 년도
엔티티와 속성
속성은 엔티티가 가지는 특성이나 성질을 의미합니다.
즉 속성은 엔티티를 설명하는 요소이며, 엔티티는 반드시 속성을 포함하고 있어야 합니다.
"학생의 정보 = 이름, 학번" 이라고 할 때 학생 엔티티는 이름과 학번을 속성으로 가집니다.
다음시간엔 이어서 데이터 모델링에서의 관계와, ERD 그리는 방법에 대해 알아보도록 하겠습니다.
'개발 > 🏅자격증' 카테고리의 다른 글
[SQLP 자격증] 시험 범위 및 합격 조건 (5) | 2024.11.14 |
---|