10/30 sqld 스터디

송용진·2024년 10월 30일

물리적 독립성은 내부 스키마가 변경되어도
외부/개념 스키마는 영향받지 않는 것으로
물리적인 DB 구조가 바뀌어도
응용 프로그램과 개념 스키마에는 영향도가 없는 것이다.
이로써 물리적인 구조와는 별개로
개념 구조를 변경할 수 있고
개념 구조와는 별개로 물리적인 구조의 변경이 가능하다.

개념 스키마
외부 스키마

논리적 독립성

  • 개념 스키마가 변경되어도
    외부 스키마는 영향받지 않는 것으로
    논리적인 구조가 변경되어도
    응용 프로그램에는 영향도가 없다.
  • 사용자 특성에 맞는 변경이 가능하고
    통합 구조의 변경이 가능하다.

시스템 분석을 위한 모델링의 기능

  • 시스템이 향후 변화하고자 하는 모습으로 가시화 해준다.
  • 시스템을 구축하는 과정에서 결정한 것을 문서화한다.
  • 시스템의 구조와 행동을 명세화 해준다.
  • 시스템을 구축하는 구조화된 틀을 제공한다.

엔터티는 명확한 조건이 기준이 되어야 한다.
탈퇴가 예상되는 회원 같은 모호한 기준은 성립될 수 없다.

엔터티 : Table
인스턴스 : Row
속성 : Column

엔터티가 갖는 특징

  • 다른 엔터티와 1개 이상의 관계를 가지고 있어야 한다.
  • 반드시 속성을 가지고 있어야 한다.
  • 2개 이상의 인스턴스를 가지고 있어야 한다.
  • 유니크함을 보장할 수 있는 식별자가 있어야 한다.

엔터티를 발생시점에 따라 분류해놓은 설명이다.

  • 기본 엔터티 :
    독립적으로 생성되어
    자신만의 주식별자를 가지며
    다른 엔터티의 부모 역할을 함
  • 중심 엔터티 :
    기본 엔터티로부터 파생되어
    많은 데이터를 갖게 되며
    행위 엔터티를 생성함
  • 행위 엔터티 :
    두 개 이상의 부모 엔터티로부터 파생되고
    보통 설계 초기 단계보다는
    상세 설계 단계에서 많이 도출됨

엔터티의 이름을 정할 때 주의할 점

  • 업무에서 실제로 쓰이는 용어 사용
  • 한글은 약어를 사용하지 않고 영문은 대문자로 표기
  • 단수 명사로 표현하고 띄어쓰기는 하지 않음
  • 다른 엔터티와 의미상으로 중복될 수 없음
  • 해당 엔터티가 갖고 있는 데이터가 무엇인지 명확하게 표현

엔터티의 이름을 정할 때
"다른 엔터티와 의미상으로 중복될 수 없음"이라는 것은
각 엔터티가 고유한 의미를 가져야 한다는 뜻입니다.
즉, 같은 개념이나 역할을 가진 엔터티는
서로 다른 이름을 가져야 한다는 것입니다.

예를 들어, "주문"과 "결제"라는 엔터티는 각각의 역할이 다릅니다.
"주문"은 고객이 상품을 요청하는 행위를 나타내고,
"결제"는 그 주문에 대한 대금을 지불하는 행위를 나타냅니다.
이 두 엔터티는 서로 다른 개념이기 때문에
각각의 이름을 사용해도 괜찮습니다.

반면에, 만약 두 엔터티가 같은 의미를 가진다면,
예를 들어 "고객"과 "회원"이 같은 개념을 나타내고 있다면,
이 두 이름을 동시에 사용할 수는 없습니다.
왜냐하면 혼란을 일으키고 데이터베이스 설계나 시스템에서의 이해를 어렵게 만들 수 있기 때문입니다.

따라서 엔터티의 이름을 정할 때는
각 엔터티가 무엇을 의미하는지,
그 역할이 다른지 잘 고려해야 합니다.
이렇게 하면 시스템이 보다 명확하고 일관되게 작동할 수 있습니다.

적합한 엔터티명 찾는 방법

  • 무엇을 집계했는지 분명해야 함
  • 단수로 명명해야 함
  • 띄어쓰기를 하지 않아야 함
profile
개발자

0개의 댓글