DB 데이터 모델링(6)
개체와 관계의 개념, 사상 원소 수, 참여 제약조건, 존재 종속성, 그리고 ERD 표기법(I/E, Barker, Chen notation)에 대해 설명합니다.
데이터 모델링
참고로 E-R Model을 알아두기 위해 정리
데이터베이스 설계 : 개념적 모델링 -> (논리적)데이터 모델링 -> 데이터 구조화
-
개념적 모델링
: 현실세계(=개체)를 개념적 구조로 모델링(추상화)- 개체-관계 모델 : E-R Model
-
데이터 모델링
: 개념적 구조를 내가 사용하는 데이터(=논리적) 구조로 변환- 관계, 네트워크, 계층, 객체, 객체-관계
-
데이터 구조화
: 데이터(=논리적) 구조를 저장 데이터베이스로 변경
개체, 관계
개체(entity) : 단독으로 존재 가능한 구별되는 객체(object)
-
개체 타입(entity type) : 이름과 애트리뷰트들로 정의됨
- 애트리뷰트 유형 : 단순, 복합 애트리뷰트 / 단일 값, 다중 값 애트리뷰트 / 유도, 저장 애트리뷰트 / 널 애트리뷰트
- 개체 집합(entity set) : 한 개체 타입의 개체 인스턴스들의 집합
관계 타입 : 개체 집합(타입)들 사이의 대응(사상). 매핑
- 관계가 애트리뷰트를 가지기도 함
1. 사상 원소 수 – 관계 타입의 원소 수 제약조건
- 1:1
- 1:N
- N:1
- N:N
2. 관계 타입의 참여 제약조건 – 전체 참여, 부분 참여
-
전체 참여
: A - B 관계에서 A 모든 개체가 관계 참여 -
부분 참여
: A - B 관계에서 A 일부 개체가 관계 참여
3. 존재 종속 - 어떤 개체의 존재가 다른 개체의 존재여부에 따라 종속됨
-
주(강한) 개체
: 대출- 자기 자신의 애트리뷰트 만으로 키를 명세 가능한 타입
-
종속(약한) 개체
: 상환- 주 개체의 반대를 의미하며,
식별 관계 타입
이라 칭함 - 약한 개체를 강한 개체에 연관시켜 개체를 유일하게 식별하는 관계를
식별 관계 타입
- 주 개체의 반대를 의미하며,
-
상환의 기본키
: 대출의 기본키 + 구별자(상환의 부분키)-
(부분키)구별자
: 강한 개체와 연관된 약한 개체 집합 내에서만 이들 구별 가능한 애트리뷰트
-
-
존재 종속
: 어떤 개체의 존재가 다른 개체의 존재여부에 따라 종속됨
개념적, 논리적 데이터 모델
개념적 데이터 모델(처음단계) – E-R Model(개체-관계 모델)
ERD 표기법 : Chen, IDEF1X, Bachman, IE/Martin/Crow’s Foot, Min-Max/ISO, UML, Barker 다이어그램
-
E-R diagram 표기법
을 의미 -
Bachman 다이어그램
은 정리하진 않지만 특징 하나는 화살표 쪽이 일대다에서 다 구조를 의미
논리적 데이터 모델(중간단계) - 수많은 Data Model들
-
관계 데이터 모델(현재) – (릴레이션)테이블의 집합, 릴레이션 스키마
-
자료구조도(옛날거) – 레코드 타입 간 관계를 도형으로 표현
- 추가로 네트워크, 계층 DB는 현재 잘 안씀
- 스키마 다이어그램이 그래프 모양이면? 네트워크 데이터 모델
- 스키마 다이어그램이 트리 모양이면? 계층 데이터 모델
ERD 표기법
E-R diagram 표기법
ERD 대표적인 기호
I/E(Information Engineering) notation
Barker notation
필수인건 자신쪽을보고, 대응되는건 상대편을 봐야한다.
-
대응(상대)일때? -
(목적어)
까마귀발 유무:n이냐 1이냐 -
필수(자신)일때? -
(서술어)
까마귀발 말고 선:0or1 / 1 -
적용 예시
-
주어(자신)
가사원
일때 - (서술어)사원
반드시 필수다. (목적어)단 하나의부서
를(까마귀발 유무:n이냐1이냐). -
주어(자신)
가부서
일때 - (서술어)부서
가질 수도 있고 아닐수도 있다. (목적어)하나이상의사원
을(까마귀발 유무:n이냐1이냐).
-
댓글남기기