SQLD 복습 - 1장. 데이터 모델링의 이해

bee·2023년 1월 8일

SQLD 복습

목록 보기
1/1
  • 모델링
    • 정의 : 다양한 현상을 표기법에 의해 표기하는 것
    • 관점 :
      1. 데이터 관점
      2. 프로세스 관점
      3. 상관 관점
  • 데이터모델링
    • 정의 : 정보시스템을 구축하기 위한 데이터관점의 업무분석기법
    • 기능 :
      • 시스템 가시화
      • 시스템 구조와 행동 명세화
      • 세스템 구축의 구조화된 틀 제공
      • 문서화
      • 세부사항은 숨기는 다양한 관점 제공
      • 상세수준의 표현방법 제공
    • 중요성 및 유의점
      • 중복 : 같은 시간 같은 데이터 제공
      • 비유연성 : 사소한 업무변화에 데이터 모델이 수시로 변경되면 안됨. 데이터 정의를 사용프로세스와 분리한다.
      • 비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의해야한다.
    • 종류
      • 개념적
      • 논리적
      • 물리적
    • 3요소
      • 어떤 것 (Things)
      • 속성 (Attributes)
      • 관계 (Relationships)
    • 특징
      • 추상화
      • 단순화
      • 정확화
    • 좋은 데이터 모델의 요소
      • 완전성 : 업무에 필요한 모든 데이터가 모델에 정의
      • 중복배제 : 하나의 DB내에 동일한 사실은 한번만
      • 업무규칙 : 많은 규칙을 사용자가 공유하도록 제공
      • 데이터 재사용 : 데이터가 독립적으로 설계되어야 함
      • 의사소통 : 업무규칭은 엔터티, 서브타입, 속성, 관계 등의 형태로 최대한 자세히 표현
      • 통합성 : 동일한 데이터는 한번만 정의, 참조 활용
  • 데이터 독립성
    • 요소
      • 외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마
      • 개념 스키마 : 모든 사용자 관점을 통합한 전체 DB
      • 내부 스키마 : 물리적 장치에서데이터가 실체적 저장
    • 종류
      • 논리적 독립성 : 개념스키마 변경, 외부스키마에 영향x
      • 물리적 독립성 : 내부스키마 변경, 외부/개념스키마에 영향x
  • Mapping (사상)
    • 개념 : 상호 독립적인 개념을 연결시켜주는 다리
    • 종류
      • 논리적 사상 : 외부 스키마 - 개념 스키마
      • 물리적 사상 : 개념 스키마 - 내부 스키마
  • ERD 작업순서
    1. 엔터티 그림
    2. 엔터티 배치
    3. 엔터티 관계설정
    4. 관계명 기술
    5. 관계의 참여도 기술
    6. 관계 필수 여부 기술
  • Entity (엔터티)
    • 정의 : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합. (보이지 않는 개념 포함)
    • 특징 :
      • 반드시 해당 업무에서 필요하고 관리하고자 함
      • 유일한 식별자에 의해 식별 가능
      • 두개 이상의 인스턴스의 집합
      • 업무 프로세스에 의해 이용되어야 함
      • 반드시 속성이 있어야 함
      • 다른 엔터티와 최소 1개이상의 관계가 있어야함 (통계성,코드성 엔터티는 관계 생략 가능)
    • 분류
      • 유무형에 따른
        • 유형 : 물리적 형태 (예. 사원, 물품, 강사)
        • 개념 : 개념적 정보 (예. 조직, 보험상품)
        • 사건 : 업무수행시 발생 (예. 주문, 청구, 미납)
      • 발생시점에 따른
        • 기본 : 그 업무에 원래 존재하는 정보, 타 엔터티의 부모역할, 자신의 고유한 주식별자를 갖는다 (예. 사원, 부서)
        • 중심 : 기본 엔터티로부터 발생, 다른 엔터티와의 관계로 많은 행위 엔터티 생성 (예. 계약, 사고 주문)
        • 행위 : 2개 이상의 부모 엔터티로부터 발생, 자주 바뀌거나 양이 증가 (예. 주문목록, 사원변경이력)
    • 명명 : 현업에서 사용하는 용어 o, 약어 x, 단수명사 o, 고유한 이름 o, 생성의미대로 부여
  • Attributes (속성)
    • 정의
      • 업무에서 필요로하는 인스턴스. 관리하고자 하는 의미상 분리되지 않는 최소의 데이터 단위
      • 엔터티 1개 = 2개 이상의 인스턴스 집합
      • 엔터티 1개 = 2개 이상의 속성을 가짐
      • 속성 1개 = 1개의 속성값을 가짐
    • 분류
      • 구성방식의 분류
        • PK (기본키)
        • FK (외래키)
        • 일반 속성
      • 속성의 분류
        • 기본 : 업무로부터 추출한 모든 일반적 속성
        • 설계 : 업무를 규칙화하기위해 새로 만들거나 변형, 정의하는 속성
        • 파생 : 다른 속성에 영향을 받아 발생하는 속성. 빠른 성능을 낼 수 있도록 원래 속성의 값을 계산. 적을수록 좋음
      • 도메인 : 속성에 대한 데이터 타입, 크기, 제약사항 지정
      • 명명
        • 해당업무에서 사용하는 이름 부여
        • 서술식 속성명, 약어 x
        • 구체적으로 명명하여 데이터 모델에서 '유일성' 확보
  • Relationships (관계)
    • 정의 : 엔터티의 인스턴스 사이의 논리적인 연관성. 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태. 관계 페어링의 집합 ** 패어링 : 엔터티 안에 인스턴스가 개별적으로 관계를 갖는 것
    • UML (통합모델링언어)에서의 관계
      • 연관관계(실선) : 항상 이용하는 관계 (예. 소속된다)
      • 의존관계(점선) : 상대 행위에 의해 발생하는 관계 (예. 주문한다)
    • 표기법
      • 관계명 : 관계이름
      • 관계차수 : 1:1, 1:M, M:N
      • 관계선택성(관계선택사양) : 필수관계, 선택관계
    • 체크사항
      • 2개의 엔터티 사이에 관심있는 연관규칙 o?
      • 2개의 엔터티 사이에 정보의 조함 발생 o?
      • 업무기술서, 장표에 관계연결에 대한 규칙 서술 o?
      • 업무기술서, 장표에 관계연결을 가능하게 하는 동사 o?
profile
벌집처럼 밀도있게 차곡차곡 쌓아나가는중

0개의 댓글