추상화
현실 세계를 일정한 형식에 맞추어 표현
단순화
복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽게 만든다
정확화
애매모호함을 배제하고 누구나 이해 가능하도록 정확하게 현상을 기술
시스템 구현만을 위해 진행하는 사전 단계의 작업.(X)
데이터베이스 구축만을 위한 사전작업의 의미.(X)
시스템 구현을 포함한 업무 분석 및 업무 형상화를 하는 목적도 있다
기본/키 엔티티
그 업무에 원래 존재하는 정보
다른 엔티티와의 관계에 의해 성성되는 것이 아니라, 독립적으로 생성이 가능
자신은 타 엔티티의 부모 역할을 하게 된다
다른 엔티티로부터 주식별자를 상속받지 않고, 자신의 고유 주식별자를 갖게 된다
예) 사원 / 부서 / 고객 / 상품 / 자재
중심 엔티티
행위 엔티티
데이터베이스 구축만을 위한 용도로 데이터모델링을 수행.(X)
업무에 대한 설명은 별도의 표기법을 이용.(X)
업무에 대한 설명(정보)을 일정한 표기법으로 표현하여 업무 내용을 정확하게 분석하는 것이 목적
또한, 분석된 모델을 가지고 DB를 생성하고 개발 및 데이터 관리에 사용
중복
데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다
비유연성
데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무변화에도 데이터 모델이 수시로 변하게 된다
이에 따라 유지 보수의 어려움을 가중시킬 수 있다
데이터의 정의를, 데이터의 사용 프로세스와 분리함으로써
-> 데이터 혹은 프로세스의 작은 변화가 애플리케이션 및 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다
비일관성
데이터의 중복이 없더라도 발생할 수 있다
개발자가 서로 연관된 다른 데이터와 모순된다는 고려 없이 일련의 데이터를 수정할 수도 있다
데이터와 데이터 간의 상호 연관 관계를 미리 명확하게 정의하여 이 문제를 예방하는 데 도움을 줄 수 있다
사용자가 처리하는 프로세스(관련된 프로그램)와 테이블을 연계성을 높이면, 데이터 모델이 업무 변경에 취약점을 가지게 된다
개념적 데이터 모델링
추상화 수준 높음
업무중심적이며 포괄적
전사적 데이터 모델링
EA 수립 시 많이 사용
논리적 데이터 모델링
시스템으로 구축하고자 하는 업무에 대한 Key, 속성, 관계 등을 정확하게 표현
재사용성이 높다
물리적 데이터 모델링
실제로 DB에 이식할 수 있또록 성능, 저장 등 물리적 성격을 고려하는 모델링
외부 스키마
개념 스키마
통합관점의 스키마 구조를 표현(모든 사용자의 관점을 통합한 조직 전체 관점의 통합적 표현)
모든 응용시스템 또는 사용자들이 필요로 하는 데이터를 통합한, 조직 전체의 DB를 기술한 것
내부 스키마
가장 중요한 엔티티는 오른쪽 상단에 배치한다.(X)
추가 발생되는 엔티티는 왼쪽 및 하단에 배치한다.(X)
반대임
반드시 해당 업무에서 필요하고, 관리하고자 하는 정보여야 한다
(환자, 토익의 응시횟수 등)
유일한 식별자에 의해 식별이 가능해야 한다
영속적으로 존재하는 두 개 이상의 인스턴스의 집합이어야 한다
(= 한 개의 엔티티는 두 개 이상의 인스턴스의 집합이어야 한다)
업무 프로세스에 이용되어야 한다
반드시 속성을 가져야 한다
한 개의 엔티티는 반드시 두 개 이상의 속성을 갖는다
다른 엔티티와 최소 한 개 이상의 관계가 있어야 한다
(단, 공통코드, 통계성 엔티티의 경우 관계를 생략할 수 있다)
객체지향의 디자인패턴에는 싱글패턴이 있어, 하나의 인스턴스를 가지는 클래스가 존재한다. 이와 유사하게, 엔티티는 한 개의 인스턴스를 가지는 것만으로도 충분한 의미를 부여할 수 있다.(X)
영속적으로 존재하는 두 개 이상의 인스턴스의 집합이어야 한다
가능하면 약어를 사용하여 엔티티의 이름을 간결하고 명확하게 한다.(X)
웬만하면 약어 사용하지 말 것
업무에서 필요로 하는 인스턴스에서 관리하고자 하는, 의미상 더 이상 분리되지 않는 최소의 데이터 단위.
하나의 인스턴스에서 각각의 속성은 하나 이상의 속성값을 가질 수 있다.(X)
하나의 속성은 하나의 속성값을 갖는다
🤷🏻♂️ ERD가 도식화된 내용은 제외