데이터 모델링이란 현실에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정이다.
하지만 이는 어렵다.
왜??
그래서 사람의 논리적 사고를 통해 중요한 데이터의 개념적 세계를 표현 -> 이를 컴퓨터에 저장 가능한 구조로 변환하는 과정으로 나눠 진행한다.
즉, 데이터 모델링은 현실세계, 개념 세계, 컴퓨터 세계 3단계로 구분하여 진행될 수 있다.
현실 ->(개념적 모델링)-> 개념 ->(논리적 데이터 모델링, 물리적 데이터 모델링)-> 컴퓨터
현실 세계(real world)
개념 세계(conceptual world)
컴퓨터 세계(computer world)
현실에서 중요 개체를 추출해 개념세계로 표현하는 과정을 개념적 데이터 모델링(conceptual data modeling)이라고 한다.
개념적 데이터 구조(conceptual data structure)
개체타입(entity type)
속성(attribute)
인스턴스(instance)
이러한 개념적 데이터 구조는 컴퓨터, 즉 DBMS가 이해하지 못하니 컴퓨터 세계의 환경에 맞게 변환시켜야한다.
어떻게? 논리적 데이터 모델링을 통해...
논리적 데이터 모델링(logical data modeling)
물리적 데이터 모델링(physical data modeling)
물리적 데이터 구조가 얼마나 현실세계의 실체와 일치되는지에 따라 모델링의 품질이 좌우된다.
그래서 정리하자면,
현실세계(실체)-> (개념적 모델링을 통해) -> 개념세계(개념적 데이터 구조)->(논리적 데이터 모델링을 통해) -> 컴퓨터 세계(논리적데이터 구조) ->(물리적 데이터 모델링을 통해) -> 컴퓨터세계(물리적 데이터 구조,in db)
데이터 베이스 설계(database design)
개념적 데이터 모델(conceptual data model)
논리적 데이터 모델(logical data model)
레코드 타입과 이 레코드 타입간의 관계를 이용해 개념세계를 표현하는 방법관계형 데이터 모델객체 - 관계형 데이터 모델그래서 모델은 뭐지???? 구조를 나타내는 방법이라고 생각하면 된다...
데이터 베이스에서는 개체, 속성과 더불어 관계도 중요하다.
관계
관계에서 사상 원소 수(mapping cardinality)가 중요하다.
관계 유형은 사상 원소수에 따라 1대1, 1대다, 다대일,다대다로 구분 된다.
사상 원소 수
사상원소수에서 한 case만이라도 예외가 있으면 그 관계는 해당 case에 따라 유형이 결정된다.
E-R모델(개체 관계 모델,entity relationship model)
E-R 다이어그램
개체타입에는 강한, 약한 개체타입이 있다.
강한개체타입
약한개체타입
속성도 여러 유형으로 구분된다
단순 속성(simple attribute)
복합 속성(composite attribute)
두개 이상의 속성들로 이루어진 속성
ex) 주소 - 시 구 동
다치 속성(multi-valued attribute)
유도된 속성(derived attribute)
개체들이 속성에 의해 고유하게 식별되지 않는 경우가 있다.
이렇듯 자체적으로 키를 보유하지 못한 개체를 약한 개체 타입이라고 한다.
다른 개체의 속성을 개체와 결합하여 키로 설정하는 것이 해결방법이다.
약학 개체 타입에게 키 속성을 제공하는 개체 타입을 소유 개체 타입 or 식별 개체 타입이라고 한다.
관계에도 약한 관계와 강한 관계가 있다.
강한 관계
약한 관계
전체참여와 부분 참여가 있다.
전체 참여
부분 참여
관계형 데이터 모델
릴레이션 스키마라고 한다.