1.5 좋은 모델은?

좋은모델링은 단순함과 명확함이다.
  • 복잡하게 만들지말고 명확한 정의(엔티티)가 필요하다.
  • 단순하고 명확한 모델은 이론이 기반되야한다.
  • 이론이 바탕이 되었을때 생긴다.
  • 이론과 경험이 더해저 감각적인 판단이 생긴다.


데이터 무결성
  • 데이터 무결성이 보장되는 모델이 좋은 모델이다.
  • 무결성이 훼손된 데이터는 아무리 비즈니스 요구 사항을 충족해도 좋은 모델링이 될수없다.
  • 성능만 빠른면 최고인 경우도 있긴하다.
  • 중복속성과 중복 엔터티를 제거해야 데이터 무결성을 보장한다.


성능
  • 무결성 다음으로 고려하는 부분이 성능이다.
  • 대개 원칙을 지켰을때 성능은 좋아지지만 성능만을 고려해 모델을 구현해야 할때도 있다.
    (이때 데이터 무결성을 다소 포기해야 하는 상황도 발생한다)
  • 사용자나 고객은 빠른 결과를 원하므로 성능을 무시한 모델은 좋은 모델이 아니다.


기타
  • 좋은 모델은 비즈니스를 효율적으로 표현한 모델이다.
  • 누락된 데이터 요소가 없도록 신경쓰야한다.
  • 필요치 않은 비즈니스를 모델에 표현하는것도 문제이다.(필요로 하는 요건만 관리하자)
  • 업무의 변화에 유연하게 대처할 수 있는 모델이 좋은 모델 (업무가 추가되거나 변경되어도 모델 구조가 바뀌지 말아야한다.)
  • 모델 표현이 정확해야햐 한다. (ERD 표기법에 맞추자)
  • 데이터 모델은 커뮤니케이션을 잘 수행할 수 있도록 지원하는 도구다


좋은 모델의 정의
  • 사용자가 원하는 데이터르 정확하고 빠른게 보여줄 수 있는 단순한 모델