[DataBase] Ch. 1 (스마트팩토리)

Kwaaaaan·2023년 2월 28일
2

DataBase(DB)

목록 보기
2/14

데이터 모델링

건축을 예로들면 도면을 설계하는 직업입니다. 복잡한 현실세계 데이터를 단순화데이터베이스로 표현하기 위한 작업입니다.

모델링 특징 3가지

  1. 추상화 : 현실세계를 일정한 형식에 맞춰 간략하게 표현
  2. 단순화 : 누구나 쉽게 이해할 수 있도록 제한된 표기법이나 언어를 사용
  3. 명확화 : 명확하게 의미가 해석되어야 하고, 한가지 의미만을 가지고 있어야 함

데이터 모델링 과정

데이터 모델링은 다음과 같은 과정을 거칩니다.

  1. 요구사항 분석
  2. 개념적 데이터 모델 설계 : 전체적인 뼈대른 만드는 과정(개체들간 관계를 정의하여 ER다이어그램을 만드는 과정)
  3. 논리적 데이터 모델 설계 : 정규화 작업(데이터 중복을 최소화하는 작업)
  4. 물리적 데이터 모델 설계 : 실제 데이터베이스 작업

ER Model

데이터 모델링 과정 중 개념적 모델링에 사용하는 모델이며, 1976년 Peter chen이 개발하였습니다. 이는 요구사항으로 얻어낸 정보를 개체(Entity), 속성(Attribute), 관계(Relation)으로 기술하는 모델입니다.

ER Model의 구성요소

  1. 개체 : 단독으로 존재하는 객체
  2. 속성 : 개체의 특성을 나타내는 속성
  3. 관계 : 개체간 관계

위의 그림으로 설명하면, 학생과 선생님은 사람이라는 개체이며 각자의 역할을 가지고 관계를 맺고있다고 생각하시면 됩니다.

개체(Entity)

개체란 어떤 조직이 데이터를 저장하기 원하는 실생활에서의 대상 다른말로 객체라고 합니다. 예를들면 고객의 정보를 저장하는 경우 이름에 대한 정보인 "홍길동" "성춘향"이 개체가 됩니다. 개체에는 타입이 존재하고, 공통적인 특성을 공유하는 Entity집합이 있습니다. 예를들어 아까 저장된 "홍길동"과 "성춘향"의 Entity Type은 "고객"이 됩니다.

개체 타입(Entity Type)

개체타입을 ER다이어그램으로 나타낼 때에는 아래와 같이 직사각형을 사용하여 표현합니다.

개체와 개체 타입의 이름규칙

개체와 개체타입의 경우 4가지 정도의 이름규칙을 가지고 있습니다.
1. 단순명사를 사용
2. 구체적
3. 간결
4. 유일(하나의 ER Model 안에는 같은 이름의 Entity Type이 존재할 수 없음)

관계(Relation)

개체 사이의 연관성을 나타냅니다. 예를들어 학생이 교수의 수업을 수강한다면, 학생과 교수라는 개체타입이 수강한다라는 개념으로 연결된다고 생각하면 됩니다.

관계 타입(Relation Type)

개체 타입간의 관계를 정의합니다. 예를들어 사람이 밥을 먹는다는 ERD안에는 "홍길동"이 "일식"을 먹는 경우, "성춘향"이 "중식"을 먹는경우 등 다양한 경우가 있는데, 여기서 모든 "먹는다"는 행동은 관계타입이라 할 수 있습니다.

관계타입을 ER다이어그램으로 표현할 때에는 마름모를 사용하며 안에 표현하는 품사는 동사를 써주면 됩니다.

속성(Attribute)

속성은 개체가 갖는 속성을 말합니다. 예를들어 Entity Type이 학생일때 Attribute는 이름, 학번, 전공이 될 수 있습니다.
또한 Attriute를 ER다이어그램으로 나타낼 때에는 타원을 사용하여 나타내고, Entity Type과는 실선으로 연결됩니다. 아래의 그림을 보시면 더욱 이해가 빠를겁니다.

여기서 밑줄이 생긴것은 키속성이라 합니다.

키 속성(Key Attribute)

키속성의 경우에는 중복되지 않는 변하지 않는 고유한 값을 갖는 Attribute라 합니다. 예를들면 학번과 주민등록번호 등이 있습니다. 키속성의 경우 많은 값들이 키속성일 필요는 없습니다. 하나의 개체에대한 정보나 속성을 파악하기 위한 키 속성은 하나만 있어도 충분합니다.

속성유형

속성유형에는 단순속성과 복합속석이 있습니다. 아래의 그림을 보시면 이해가 빠를겁니다.

  1. 단순 속성 (Simple Attribute): 더 이상 나눌 수 없는 속성
  2. 복합 속성 (Composite Attribute): 독립적인 의미를 갖도록 나눌 수 있는 속성

아래의 그림은 단일값 속성과 다중값 속성을 ER다이어그램으로 표현하는 방법입니다.

1. 단일값 속성 (Singled-valued Attribute): 한 값만 갖는 속성
2. 다중값 속성 (Multi-valued Attribute): 여러 값을 갖는 속성(타원 2개 사용)
단일값 속성

실습으로 복습


이에대한 ER다이어그램을 만드는 방법은 아래와 같습니다.

.

.

.

.

.

.


결론

데이터 모델링이란 무엇인가부터 특징, 과정까지 알아보았고,특히 표현하는 방법에 집중하는것이 좋을것 같습니다. 예를들어 모델링의 특징 3가지로는 추상화와 단순화 그리고 명확화가 있으며, 각각 현실세계를 일정한 형식에 맞춰 표현, 누구나 쉽게 이해할 수 있도록 하고, 명확하게 의미가 해석되어야 하고, 한가지의 의미만을 가지고 있어야 한다는 식으로 용어의 숙지와 간단한 설명을 할 수 있으면 좋을것 같습니다.

profile
스마트팩토리 개발자(를 꿈꾸며)

0개의 댓글