DB

SQLD 합격을 위하여 1편 (데이터 모델링)

Cal-D 2024. 11. 21. 13:30

데이터 모델링 이란?
=> 제한된 공간에 데이터를 효과적으로 담아내는 방법을 추상화하는것

 

데이터 모델링에서의 데이터란?

=> 현실 세계에 존재하고 있는 모든것

 

데이터 모델링의 핵심 3가지
=> 추상화, 단순화, 명확화

 

데이터 모델링의 관점 3가지

=> 데이터 관점, 프로세스 관점, 데이터-프로세스 관점

 

기본 3가지 모델링
=> 개념적 모델링, 논리적 모델링, 물리적 모델링

 

1. 개념적 모델링

=> 추상화 수준이 가장 높은 과정, 현실 세계의 데이터를 파악 및 분석 단계
=> 데이터 모델링 과정 중 가장 먼저 진행

=> 엔티티, 관계, 속성

 

2.논리적 모델링 

=> 테이블   

=> 컬럼

=> 기본키

=> 외래키

=> 정규화 과정 

=> 스키마

 

3. 물리적 모델링

=> 다양한 스키마 정보를 물리적 공간인 DBMS의 특성 정보로 변환 및 정의 하는것

=> DBMS의 종류, 테이블의 컬럼 데이터 유형 크기 정의, 컬럼의 제약 조건

 

ER모델(Entity Relationship)

=> 개념적 모델링 과정에서 현실 세계의 개체와 개체간읜 관계를 기호로 표현하는 모델 =
=> 사각형이 개체

=> 마름모가 관계

=> 동그라미가 속성


ANSI-SPARC에서 정의한 3단계 스키마 구조

=> 외부 스키마 : 사용자의 관점, 각 사용자가 보는 데이터베이스의 스키마를 정의

=> 개념 스키마 : 통합된 관점, 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타냄, 데이터들간의 관계를 나타낸다
=> 내부 스키마 : 물리적인 저장 구조, 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스등

=> 이렇게3개로 나누는 이유는?
      사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하여 독립성을 보장하기 위해
       1. 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향을 안받음

       2. 물리적 독립성 : 내부 스키마가 변경 되어도, 외부/개념 스키마는 영향을 안받음


엔티티 : 테이블
인스턴스 : 로우
속성 : 컬럼

 

엔티티의 특징

=> 다른 엔티티와 1개 이상의 관계를 가지고 있어야 한다

=> 반드시 속성을 가지고 있는다

=> 2개 이상의 인스턴스를 가지고 있어야한다

=> 유니크함을 보장할 수 있는 식별자 존재

 

기본 엔티티 : 독립적으로 생성되어, 주식별자를 가지고 있으면서 다른 엔티티의 부모 역할을 함
중심 엔티티 : 기본 엔티티로부터 파생, 행위 엔티티를 생성함

행위 엔티티 : 두개 이상의 부모 엔티티로부터 파생

 

 

기본속성 : 업무 프로세스 분석을 통해 바로 정의가 가능한 속성

설계 속성 : 업무에는 없지만, 설계하다보니 필요하다고 판한된 속성
파생 속성 : 다른 속성의 속성값을 계산하거나 특정 규칙으로 변형하여 생성된 속성