현실 세계에 있는 정보를 모델링하여 ER 다이어그램으로 표현하는 부분을 배워봅시다!
이미지 출처 - https://mangkyu.tistory.com/27
데이터 모델 종류( OR 단계 )
개념적 데이터 모델: = 정보 모델링
-> 전체적인 뼈대를 만듦(개체간 관계를 정의해서 ER다이어그램 만드는 과정)
논리적 데이터 모델: 정규화 작업
-> 데이터 중복을 최소화 하는 작업
물리적 데이터 모델: 물리적 구조를 정의
-> 실제 데이터 베이스 작업
추상화
현실세계를 일정한 형식에 맞춰 간략하게 표현
단순화
누구나 쉽게 이해할 수 있도록 제한된 표기법이나 언어를 사용
명확화
명확하게 의미가 해석되어야 하고, 한 가지 의미만을 가져야 함
요구사항으로부터 얻어낸 정보를 개체(Entity), 속성(Attribute), 관계(Relation)로 기술하는 모델
데이터 모델링 과정 중 개념적 모델링에 사용하는 모델
개체(Entity)
단독으로 존재하는 객체
속성(Attribute)
개체의 특성을 나타내는 속성
관계(Relation)
개체간 관계
ex. 고객 정보 저장하는 경우 "홍길동","성춘향"이 Entity
개체 타입 (Entity Type)
ex. "학생"이 "교수"의 수업을 수강한다
학생과 교수라는 개체 타입이 "수강한다" 라는 개념으로 연결됨
관계 타입 (Relation Type)
키 속성 (Key Attribute)
속성(Attribute)의 유형
요구사항으로부터 ER Model 추출하기
요구사항 분석 보고서
이 User Requirements 는 A라는 도서회사의 것입니다.
A라는 도서회사는 고객의 정보로 이름, 전화번호, 고객ID, 주소를 저장합니다.
이때, 고객의 주소는 도시와 우편번호로 나누어집니다.
고객의 정보 중 고객ID는 다른 고객과의 차이를 식별할 수 있는 속성입니다.
고객은 책을 구매할 수 있습니다.
책은 고유값인 ISBN과 가격, 제목, 작가에 대한 정보를 갖고 있습니다.
이때, 작가는 여러 명이 될 수 있습니다.
ER Model은 여러 속성(Attribute)의 집합으로 표현된 개체(Entity) 간 관계(Relation)을 관계성으로 표현
두 가지 제약조건을 통해 표현됨
-1. 카디널리티 제약조건 (Cardinality Constraint)
-2. 참여 제약조건 (Participation Constraint)
Cardinality(관계 대응 수)
두 개체 타입의 관계에 실제로 참여하는 개별 개체 수
각 개체들은 1:1로 대응되는 관계
한 개체가 여러 개의 개체와 관계를 맺을 수 있으나, 역은 성립 되지 않음
일상생활에서 가장 많이 볼 수 있는 관계
한 개체가 여러 개의 개체를 가질 수도 있고, 그 역도 성립
관계를 맺는 두 개체 중 한 개체가 다른 하나의 개체에 의존하는 지를 표현하는 제약조건
한 Entity가 다른 Entity에 필수로 포함되어야 하는가에 대한 것
ex. 직원은 부서에 무조건 소속되어 있어야 하지만 부서는 직원이 없어도 되는 관계
이 때,
ER 다이어그램에서는 부서라는 개체는 Relation에 한 개의 실선으로 연결
이를 부분 참여 또는 Partial Participation 이라 함
또 부서에 무조건 소속되어 있어야 하는 직원은 ER 다이어그램에서 두 개의 실선으로 연결
이를 전체 참여 또는 Total Participation 이라 함
마무리
이번시간에 헷갈린게 두가지 정도 있는데,
첫 번째로
개념적 데이터 모델(ER 다이어그램)이랑 정보 모델링의 차이??
결론은 개념적 데이터 모델링을 정보 모델링이라고도 부른다.
두 번째는
제약조건중 카디널리티 제약조건의 내용인데,
여기서 말하는 카디널리티는 관계 대응 수 로 두 개체 타입의 관계에 실제로 참여하는 개별 개체 수 이고,
내가 알고있는 카디널리티는 튜플의 개수인 것이다!!
결론은
ER 모델에서 카디널리티는 Entity 간의 관계 대응 수를 나타내는 것이며,
데이터베이스에서는 데이터 테이블의 Tuple 개수를 나타내는 것이다.
우리나라에서 "배"가 뜻 하는게 경우에 따라 다른 것 처럼 비슷한 경우인 것 같다.
정보처리기사 공부할 채운 빵구 슝슝 뚫려있는 지식의 여백을 채우면서 공부하는 느낌이다.
어서 실습을 하고싶다! 이론은 역시 나랑 맞지않아..
그치만 이론을 알아야겠지..!?
오늘은 여기까지다~~끝!!