데이터베이스 2강 :: 데이터베이스 모델링 왜? 개체집합, 관계집합
데이터베이스 2강을 보며 배운내용
데이터베이스 모델링 왜 필요할까?
데이터베이스 효율적으로 이용하기 위한 계획
데이터 의미 파악, 데이터 관여 업무를 정의하고 분석하려고
👀 관점
- 비즈니스적 관점
: 어떤 데이터 저장하나? - 프로그래머 관점
: 어떻게 데이터를 저장할까?
✅ 모델링 단계
데이터 모델
의미, 데이터 타입, 연산 등 명시하기 위해 사용하는 개념 집합
데이터 모델링
실세계 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 것
사용자 요구사항 분석
사전 분석없이 설계가 불가능하다
데이터가 복잡해지고 수명주기가 짧아져서 신속, 정확이 필요
✅ 요구사항 단계
도출 => 분석 => 기록 순서로 수행
ER 모델
실세계 속성들로 이루어진 개체(Entity)와 개체 사이의 관계(Relationship)을 정형화 시킨 모델
데이터 구조와 관계를 ER 다이어그램(ERD)로 표현
구성요소
- 개체 집합, 관계 집합, 속성
개체 집합
개체(Entity)
다른 객체와 구별되는 유/무형의 사물
개체를 설명하는 여러 속성들로 구성
예) 학생 개체: 2019-021216, 유관순, 여, 17
이런 개체의 집합이 개체 집합
관계 집합
개체와 개체 사이의 연관성
예) 학생 개체 집합 - 학과 개체 집합
속성
개체를 구체적으로 설명
속성의 종류
단순 속성 | 복합 속성
예) 단순 속성: 학생 이름 | 복합 속성: 생년월일 2022년 02월 28일
단일값 속성 | 다중값 속성
예) 단일값 속성: 학생 이름 | 다중값 속성: 전화번호(집, 폰, 사무실 등)
유도 속성 | 저장 속성
예) 유도 속성: 나이(생년월일에서 유도 가능) | 저장 속성: 학생 이름(유도 불가능)
제약 조건(Constraints)
데이터 의미, 구조, 연관성 등 데이터 조건 표현하기 위한 도구
왜 사용할까?
표현의 정확성을 높이려구
제약조건 종류
- 사상수, 참가 제약조건, 키 속성
사상수(Mapping cardinality)
한 개체가 다른 개체와 관계를 맺을 수 있는 수량
이번 2강은 포인트는
개체 집합, 관계 집합을 언제 사용할지에 대한 내용이었다