본문 바로가기
SQL/SQLD 시험관련 정리

SQLD 시험을 위한 정리 1. 데이터 모델링의 이해

by 유서담 2023. 11. 6.

 

DB관련 용어들

 

 

 

DBMS : DB를 관리하는 소프트웨어

 

DATA BASE : 저장소

 

SQL : DB를 조작하는 명령어

 

스키마(Schema) : 사용자의 종속된 오브젝트의 논리적인 모음

 

오브젝트(Object) : DBMS상의 논리적인 데이터 구조 (EX. 테이블, 인덱스, 뷰 등)

 

식별자 : 하나의 엔터티에 구성되어 있는 여러개의 속성 중에 엔터티를 대표할 수 있는 속성, Key는 물리적 데이터 모델링 단계에서 사용. (각각의 인스턴스를 식별할 수 있는 속성)

 

 

 

식별자의 특징

  • 유일성 : 주 식별자에 의해 모든 인스턴스들이 유일하게 구분
  • 최소성 : 주 식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야함
  • 불변성 : 저장된 주 식별자의 값은 자주 변하지 않아야함. (변하면 이전 기록이 말소된다)
  • 존재성(Not null) : 주 식별자가 지정되면 반드시 값이 들어와야한다 ( 값이 존재해야한다)

 

식별자의 분류

  • 대표성 여부
    • 주 식별자 : 엔터티내에서 각 어커런스를 구분할 수 있는 구분자.  타 엔터티와 참조관계를 연결 O
    • 보조 식별자 : 구분자이지만 대표성을 갖지 않는다.  참고관계 연결 X
  • 스스로 생성여부
    • 내부식별자 : 스스로 생성되는 식별자
    • 외부식별자(FK) : 타 엔터티로부터 받아오는 식별자
  • 속성의 수
    • 단일식별자 : 하나의 속성으로 구분
    • 복합식별자 : 2개 이상의 속성으로 구성
  • 대체여부
    • 본질식별자 : 업무에 의해 만들어지는 식별자
    • 인조식별자 : 인위적으로 만든 식별자

 

 

 

모델링의 특징

  • 추상화 : 일정한 형식에 맞게 간략하게 표현하는 것
  • 단순화 : 약속된 규약에 의한 제한된 표기법
  • 명확화 : 애매모호를 제거하고 명확하게 하는 것

 

 

데이터 모델링

  • 정보시스템을 극복하기 위한 데이터 관점의 업무분석 기법
  • 현실 세계의 데이터에 대해 약속된 표기법에 따라서 표현하는 과정 
  • 데이터 베이스를 구축하기 위한 분석/설계의 과정

 

 

데이터 모델링 3단계

  • 개념적 데이터 모델링 : 추상화 수준이 높다, 전사적 포괄적 엔터티 도출
  • 논리적 데이터 모델링 : 데이터 베이스 모델에 종속. 세부속성, 식별자 관계등 표현. 정규화완료
  • 물리적 데이터 모델링 :  추상화 수준이 낮음. 구체적. 성능과 보완, 가용성 고려

 

 

데이터 모델링의 3가지 요소

  • 엔터티(ENTITY) : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것
  • 속성(ATTRIBUTES) : 업무에서 필요로 하며 의미상 더이상 분리되지 않는 최소한의 데이터 단위
  • 관계(RELATIONSHIP) : 엔터티의 인스턴스 사이의 논리적인 연관성

 

 


 

엔터티 : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것, 보이지 않는 개념 포함

 

 

엔터티의 특징

  • 반드시 해당 업무에서 필요하고 관리하고자 함
  • 유일한 식별자에 의해 식별이 가능
  • 두 개 이상의 인스턴스의 집합
  • 업무 프로세스에 의해 이용되어야 함
  • 반드시 속성이 있어야 함
  • 다른 엔터티와 최소 1개 이상의 관계가 있어야 한다 ( 통계성/코드성 엔터티는 관계 생략 가능)

 

 

엔터티 분류

  • 유무형에 따른 엔터티 분류 : 유형 엔터티(물리적 형태), 개념 엔터티(개념적 정보), 사건 엔터티(업무 수행시 발생)
  • 발생시점에 따른 엔터티  분류
    • 기본 엔터티 : 그 업무에 원래 존재하는 정보, 타 엔터티의 부모역할, 자신의 고유한 주 식별자를 가진다
    • 중심 엔터티 : 기본 엔터티로부터 발생, 다른 엔터티와의 관계로 많은 행위 엔터티 생성
    • 행위 엔터티 : 2개 이상의 부모 엔터티로부터 발생, 자주 바뀌거나 양이 증가

 

속성 분류

  • 속성의 특성에 따른 분류
    • 기본속성 : 업무로부터 추출한 모든 일반적인 속성
    • 설계속성 : 업무를 규칙화하기 위해 새로 만들거나 변형, 정의하는 속성
    • 파생속성 : 다른 속성에 영향을 받아 발생하는 속성, 빠른 성능을 낼 수 있도록 원래 속성의 값을 계산. 적을수록 좋다
  • 엔터티 구성방식에 따른 분류
    • PK속성
    • FK속성
    • 일반속성

 

관계 분류

  • 존재에 의한 관계
  • 행위에 의한 관계

 

  • 관계의 표기법
    • 관계명 : 관계의 이름
    • 관계자수 : 1:1 , 1:M , M:N
    • 관계선택성 : 필수관계, 선택관계 ( O가 있으면 선택관계 , 없으면 필수관계 ) 

 


 

 

 

데이터 베이스 3단계 구조

  • (사용자) 외부스키마 : 개개인 사용자가 보는 개인적 DB스키마 (예시 : 사용자 뷰)
  • (개발자) 개념스키마 : 모든 사용자 관점을 통합한 전체 DB (예시 : 통합적인 뷰)
  • (설계자) 내부스키마 : 물리적 장치에서 데이터가 실제적 저장 (예시 : 내부적인 저장장치와 관련된 특성)

 

 

데이터 베이스 구조간 독립성 및 사상(Mapping)

  • 논리적 독립성 : 개념스키마 변경, 외부스키마에 영향을 주지 않음
  • 물리적 독립성 : 내부스키마 변경, 외부/개념스키마에 영향을 주지 않음

 

  • 외부적/개념적 사상 = 논리적 사상
  • 개념적/내부적 사상 = 물리적 사상

 

 

좋은 데이터 모델의 요소 6가지

  • 완전성 : 업무에 필요한 모든 데이터가 모델에 정의
  • 중복배제 : 하나의 DB내의 동일한 사실은 한번
  • 업무규칙 : 많은 규칙을 사용자가 공유하도록 제공
  • 데이터 재사용 : 데이터가 독립적으로 설계되어야 함
  • 의사소통 : 업무규칙은 엔터티, 서브타입, 속성, 관계등의 형태로 최대한 자세히 표현
  • 통합성 : 동일한 데이터는 한번만 정의, 참조 활용