[SQLD]「1」(1.1) 데이터 모델, 엔티티, 속성, 관계, 식별자

728x90

[SQLD]1」(1.1) 데이터 모델, 엔티티, 속성, 관계, 식별자

> 「1」 데이터 모델링의 이해

「2」 SQL 기본 / 활용

「3」 관리 구문

 

> 1. 데이터 모델의 이해

> 2. 엔티티

> 3. 속성

> 4. 관계

> 5. 식별자

 

1. 데이터 모델의 이해

모델링

 현실 세계를 단순화하여 표현하는 기법

 

모델링 특징

추상화: 현실 세계를 일정한 형식으로 표현

단순화: 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현

명확성: 불분명함을 제거하고 명확하게 해석할 수 있도록 기술

 

모델링의 기능 :가시화문서화구조화된 틀 제공명세화

 

모델링의 세 가지 관점

데이터 관점(What, Data)

프로세스 관점(How, Process)

데이터와 프로세스의 상관 관점(Data vs Process, Interaction)

 

데이터 품질 보장을 위한 유의사항

비중복: 같은 데이터가 여러 엔티티에 중복 저장되는 것을 지양

유연성: 유지보수를 위해 데이터 모델과 프로세스를 분리하여 유연성 높임

일관성: 일부 데이터만 변경될 수 있기 때문에 데이터 간 연관관계를 명확하게 정의해야 함

 

모델링의 세 가지 단계

개념적 데이터 모델링: 업무 중심적이고 포괄적인 수준의 모델링

논리적 데이터 모델링: 재사용성이 가장 높은 모델링, Key / 속성 / 관계 등 모두 표현

물리적 데이터 모델링: 성능이나 가용성 등 물리적인 성격을 고려하여 모델링

 

데이터의 독립성

외부 스키마 1 외부 스키마 2 외부 스키마 3
----------------------------------------------------------(논리적 독립성)
개념 스키마
----------------------------------------------------------(물리적 독립성)
내부 스키마

외부 스키마: View 단계로 여러 개의 사용자 관점으로 구성

개념 스키마: 모든 사용자의 관점을 통합한 조직 전체 관점의 통합적인 표현

내부 스키마: 물리적인 저장 구조 나타냄

 

논리적 독립성: 개념 스키마가 변경되어도 외부 스키마는 영향받지 않음

물리적 독립성: 내부 스키마가 변경되어도 외부 / 개념 스키마는 영향받지 않음

 

ERD

⸰ ERD 표기 방식

 

⸰ IE/Crow's Foot 표기법

 

⸰ ERD 작성 순서

엔티티 도출>배치>관계 설정>관계명 기입>참여도 기입>필수 / 선택 여부 기입

 

2. 엔티티

엔티티

데이터를 용도별로 분류한 그룹이며, 명확한 조건이 기준이 되어야 함

 

엔티티: Table

인스턴스: Row

속성: Column

 

엔티티의 특징

⸰ 업무에서 쓰이는 정보여야 함

⸰ 식별자가 있어야 함

⸰ 2개 이상의 인스턴스 보유

⸰ 속성이 있어야 함

⸰ 다른 엔티티와 1개 이상 관계를 가져야 함

 

엔티티의 분류

⸰ 유형 / 무형에 따른 분류

  -유형 엔티티: 물리적 형태 존재, 안정적 / 지속적 > 상품, 회원

  -개념 엔티티: 물리적 형태 없음, 개념적 > 부서, 학과

  -사건 엔티티: 행위로 발생, 빈번함 / 통계 자료 > 주문, 이벤트 응모

⸰ 발생시점에 따른 분류

  -기본 엔티티: 독립적으로 생성되어 자신의 주식별자를 가지며, 다른 엔티티의 부모 역할 > 상품, 회원, 부서, 사원

  -중심 엔티티: 기본 엔티티로 파생되어, 행위 엔티티 생성, 업무에 중심적인 역할을 하며 데이터 양 많음 > 주문, 매출

  -행위 엔티티: 2개 이상의 엔티티로 파생, 데이터 자주 변경되거나 증가 > 주문 내역, 이벤트 응모 기록

 

⸰ 엔티티 이름 정할 때 주의사항

  - 실제 쓰이는 용어 사용

  - 한글 약어 사용 X, 영문 대문자

  - 단수 명사로, 띄어쓰기 X

  - 다른 엔티티와 의미상으로 중복 X

  - 갖고 있는 데이터를 명확하게 표현

 

3. 속성

속성

⸰ 엔티티의 특징을 나타내는 최소의 데이터 단위

 

속성값

⸰ 엔티티에 속한 하나의 인스턴스를 구체적으로 나타내주는 데이터

⸰ 하나의 속성에 한 개의 속성값

 

엔티티, 인스턴스, 속성, 속성값의 관계

⸰ 한 개의 엔티티는 두 개 이상의 인스턴스

⸰ 한 개의 인스턴스는 두개 이상의 속성

⸰ 한 개의 속성은 하나의 속성값

 

분류

⸰ 특성에 따른 분류

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

  -설계 속성: 업무에 존재하지 않지만 필요하여 도출된 속성 > 학번

  -파생 속성: 다른 속성값 계산하거나 특정 규칙으로 변형하여 생성한 속성 > 재고

⸰ 구성방식에 따른 분류

  -PK 속성: 인스턴스들을 식별할 수 있는 속성

  -FK 속성: 다른 엔티티와 관계를 맺게 해주는 매개체 역할을 하는 속성

  -일반 속성: PK, FK 제외한 속성

 

도메인

⸰ 속성이 가질 수 있는 속성값의 범위, 데이터 타입과 크기로 나타냄

 

용어 사전: 속성의 이름을 직관적으로 부여하여, 같은 의미의 데이터를 공통된 이름으로 적용하기 위해 사용

시스템 카탈로그: 시스템 자체에 관련된 데이터(메타 데이터)를 담는 데이터베이스, SELECT만 가능

 

4. 관계

관계

⸰ 엔티티와 엔티티 간 관계, 존재 관계와 행위 관계로 나눔

 

존재 관계

⸰ 존재 자체로 연관성 있는 관계 > 직원 / 부서(소속된다), 학생 / 학과(소속된다)

 

행위 관계

⸰ 특정 행위를 하여 연관성이 생기는 관계 > 회원 / 주문(주문한다), 학생 / 출석부(출석한다)

 

표기법

관계명: 관계의 이름, 모든 관계는 두 개의 관계명 소유 > 학과 / 학생(포함한다 / 소속된다)

관계차수: 관계에 참여하는 수, 1 : 1, 1 : M, M : N

관계선택사양: 필수 / 선택 여부

  - 필수적 관계(참여자 반드시 존재) > 주문 / 주문상품

  - 선택적 관계 > 회원 / 주문

 

5. 식별자

식별자

⸰ 속성 중 각각의 인스턴스를 구분 가능하게 해주는 대표적인 속성

 

주식별자(PK)

유일성: 각 인스턴스가 식별 가능해야 함

최소성: 최소 개수의 속성

불변성: 속성값이 되도록 변하지 않아야 함

존재성: NULL이면 안됨

 

분류

⸰ 대표성 여부에 따른 분류

  -주식별자: 유일성, 최소성, 불변성, 존재성을 가진 대표 식별자, 다른 엔티티와 참조 관계로 연결

    회원번호, 상품번호, 주문번호, (주문번호, 상품번호(FK))

  -보조식별자: 인스턴스 식별 가능하지만 대표 식별자 X, 다른 엔티티와 참조 관계로 연결 X

    아이디

⸰ 스스로 생성되었는지 여부에 따른 분류

  -내부식별자: 엔티티 내부에서 스스로 생성된 식별자

     회원번호, 상품번호, 주문번호

  -외부식별자: 다른 엔티티에서 온 식별자, 다른 엔티티와 연결고리 역할

    회원번호(FK)

⸰ 단일 속성의 여부에 따른 분류

  -단일식별자: 하나의 속성으로 구성된 식별자

    회원번호, 상품번호, 주문번호

  -복합식별자: 두 개 이상의 속성으로 구성된 식별자

    (주문번호, 상품번호(FK))

대체 여부에 따른 분류

  -원조(본질)식별자: 업무 프로세스에 존재하는 식별자, 가공되지 않은 원래의 식별자

    회원번호, 상품번호, 주문번호, (주문번호, 상품번호(FK))

  -대리(인조)식별자: 주식별자의 속성이 두 개 이상인 경우, 하나로 묶어 사용하는 식별자

    주문번호(주문일자 + 순번)

 

식별자 관계 vs 비식별자 관계

식별자 관계

  - 부모 엔티티의 식별자가 자식 엔티티의 주식별자가 되는 강한 관계, 부모 엔티티 있어야 생성 가능

  - 자식 엔티티는 단일식별자를 갖거나 복합식별자를 가질 수 있음, 1 : 1, 1 : M 관계 형성, 실선으로 표현

    게시글 / 댓글(게시글번호, 1 : M)

비식별자 관계

  - 부모 엔티티의 식별자가 자식 엔티티의 일반 속성이 되는 약한 관계, 부모 엔티티 없는 자식 엔티티 생성 가능

  - 자식 엔티티가 존재하는 상태에서 부모 엔티티 삭제 가능, 점선으로 표현

    주문번호 / 상품(상품코드)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

유선배 SQLD 과외노트

728x90