database-03-데이터모델링

aggregation function

  • sum(), avg(), count(), max(), min
    • null이 있을 경우 제외하고 계산을 한다

group by

  • Database는 선택 목록의 집계함수를 각 행 그룹에 적용하고 각 그룹에 대해 단일 결과 행을 반환한다
  • 이상한 값을 출력하지만 에러가 발생하지 않으므로 setting을 해줘야한다 => ONLY_FULL_GROUP_BY
  • select절에 있는 일반열은 group by절에 있어야 정상적으로 동작한다
    • 일반 열말고 그냥 sum(salary) 이런거랑 where절 해서 조건에 해당하는 카운트는 셀 수 있다

SET Operator

  • 여러 테이블의 행을 연결
    • 참고 : join은 여러 테이블의 열을 연결
  • select절에 있는 column의 개수와 type이 일치해야 한다

모델링

  1. 개념적 데이터베이스 모델링
    • Enity 를 추출 (예시 회원)
    • 속성 구성 (예시 아이디, 비밀번호,email)
    • 관계 분석
      • 두 entity간의 업무적인 연관성 또는 관련 사실
      • 관계차수,
      • 선택성 : 선택적인지 반드시인지를 표시
    • Entity간의 관계를 정의해서 ER-Diagram 정의
  2. 논리적 데이터베이스 모델링
    • ER-Diagram을 Mapping Rule을 적용하여 스키마 설계
    • 기본키, 참조키
    • 단순 엔티티 => 테이블
    • 속성 => 컬럼
    • 식별자 => 기본키
    • 관계 => 참조키, 테이블
    • 정규화
      • 데이터의 중복을 제거하고 속성들을 본래의 제자리에 위치 시키는 것
  3. 물리적 데이터베이스 모델링
    • 데이터베이스 스키마를 좀 더 효율적으로 구현하기 위한 작업
    • DBMS 특성에 맞게 실제 데이터베이스내의 개체들을 정의하는 단계
    • 데이터 타입 지정 - 역정규화
    • 시스템 성능을 고려하여 기존 설계를 재구성하는 것
    • 매번 조인을 해야되서 시스템의 성능저하를 가져오는 경우

You might also enjoy