Winnie The Pooh Bear

✏ 공부

[SQLD] 1과목(1) - 데이터 모델링의 이해: 데이터 모델의 이해, 엔터티, 속성, 관계

alwayshappydaysforever 2025. 5. 16. 16:37
반응형

 


요약본 파일은 요 기 에  (*’͜’ )ʕ𐭩

c95535f9-eeb8-4fc1-bf2e-18d3515ef387_SQLD_1과목.pdf
0.51MB


1. 데이터 모델의 이해 

- 데이터 모델링의 개념 : 현실 세계의 정보를 약속된 표기법을 활용하여 데이터베이스의 구조로 표현하는 과정 

- 특징: 단순화, 추상화, 명확화 ⭐️

- 유의점: 유연성(변화에 유연한 대응), 유일성(중복 저장x), 일관성(명확한 관계) 

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

     1) 데이터 관점

     2) 프로세스 관점: 업무 흐름

     3) 데이터와 프로세스 관점: CRUD 분석 기반 (Create, Read, Update, Delete) 

 

데이터 모델링 3가지 요소: 대상(Entity), 속성(Attribute), 관계(Relationship) 

- 데이터 모델링 3단계: 개념적 모델링 ➡️ 논리적 모델링 ➡️ 물리적 모델링  

     1) 개념적 모델링: 추상적 개념으로 표현, ERD 작성

     2) 논리적 모델링: 정규화 활용, 재사용성 높임

     3) 물리적 모델링: 물리적 구조의 데이터로 변환 

     (물리적 모델링으로 갈수록 높은 수준의 구체화/낮은 수준의 추상화 레벨 가짐)  

 

- 데이터 모델의 표기법(ERD) 

     1) IE 표기법: 방장에게 방을 할당해줌

     2) Barker 표기법: 방장에게 #이라는 명찰 할당해줌 

- ERD 작성 절차 6단계 

     1) 엔터티 도출 

     2) 배치: 중요한 배치는 왼쪽 상단에 배치

     3) 관계 설정

     4) 관계명 기술 

     5) 관계 차수 기술 : 개수 

     6) 필수/선택사양 기술 

 

- 스키마의 3단계 구조: 외부 스키마, 개념 스키마, 내부 스키마

     1) 외부 스키마: 사용자 입장 / 여러 개 존재 

     2) 개념 스키마: 전체적 논리 구조 / 1개 

     3) 내부 스키마: 물리적 저장장치 입장에서의 구조 

- 3단계 스키마의 독립성: 독립성

     1) 논리적 독립성: 개념 스키마 변경 시, 외부 스키마 영향 x

     2) 물리적 독립성: 내부 스키마 변경 시, 개념/외부 영향 x 

 


2. 엔터티 (Entity)

- 엔터티의 개념: 현실 세계에 존재하며, 명확하게 구분 가능한 객체 

- 엔터티의 특징

    1. 유일한 식별자에 의해 식별 가능 

    2. 해당 업무에 필요하고 관리하고자 하는 정보 

    3. 인스턴스들의 집합: 2개 이상의 인스턴스들의 집합

    4. 엔터티는 반드시 속성을 가짐: 2개 이상의 속성을 가짐 

    5. 엔터티는 업무 프로세스에 의해 이용

    6. 다른 엔터티와 최소 1개 이상의 관계 성립

- 엔터티의 명명법: 협업에서 사용하는 용어, 약어 사용 지양, 단수 명사, 중복 없음, 명확한 의미 

 

- 엔터티의 분류 

    - 유형과 무형에 따른 분류

        1) 유형엔터티: 물리적 형태 (ex. 학생)

        2) 개념엔터티: 개념적으로 구분 (ex. 과목)

        3) 사건엔터티: 특정 시점에 발생 (ex. 수강) 

    - 발생 시점에 따른 분류

        1) 기본엔터티: 다른 엔터티 영향받지 않고 독립적 존재 (ex. 학생)

        2) 중심엔터티: 기본 엔터티와 행위 엔터티 연결 (ex. 수강신청) 

        3) 행위엔터티: 두 개 이상의 엔터티 상속받아 생성 (ex. 수강내역) / 수정사항이 많을수밖에 없음

 

- 엔터티와 인스턴스 표기법: 엔터티는 사격형으로 표현, 속성은 조금씩 다름

 


3. 속성

- 속성의 개념: 더 이상 분리되지 않는 최소의 데이터 단위 (원자성

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

- 속성의 특징 

        1) 엔터티는 속성의 집합

        2) 1개의 속성은 1개의 속성 값

        3) 주식별자에 함수적 종속 (함수적 종속: A속성에 의해 B가 유일하게 결정됨) 

        4) 업무에서 관리되는 정보  

 

- 함수적 종속성: 완전 함수적 종속, 부분 함수적 종속 

- 속성의 분류

    1) 속성의 특성에 따른 분류: 기본 속성(본래 속성), 설계 속성(필요에 의해 도출), 파생 속성(변형되어 생성, ex 합계) 

    2) 엔터티 구성방식에 따른 분류: 기본키(PK), 외래키(FK, 다른 엔터티와의 관계로 연결), 일반 속성

        (자식 엔터티는 부모의 기본키를 외래키로 포함한다) 

    3) 분해 여부에 따른 속성: 단일 속성, 복합 속성, 다중값 속성 

 

- 속성의 명명규칙: 협업에서 사용하는 용어, 약어 사용 지양, 서술식 금지, 유일성 

- 도메인: 속성이 가질 수 있는 데이터의 타입과 크기에 대한 제한 사항 정의 (데이터 무결성 보장) 


4. 관계 

- 관계의 개념 : 엔터티와 엔터티간의 논리적 연관성 

- 관계의 종류: 존재적 관계, 행위적 관계 

(ERD에서는 존재적, 행위적 관계를 구분하지 않으나 UML에서는 구분한다) 

 

- 관계의 구성

    1) 관계명: 관계의 이름 (ex. 소속된다, 수강한다) 

    2) 차수: 엔터티간의 참여자의 수 (ex. 1:1, 1:M, ...) 

    3) 선택성: 엔터티가 관계에 항상 참여하는지 여부 (IE 표기법에서는 'O'로 선택적 참여 구분, Barker 표기법에서는 점선)

- 관계의 차수

     1) 1대 1 관계: 완전 1대 1 관계, 선택 1대 1 관계 

     2) 1대 N관계 

     3) N대 M관계

- 관계의 페어링 : 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것

    1) 관계의 차수: 하나의 엔터티와 다른 엔터티 간의 레코드 연결 방식

    2) 관계의 페어링: 두 엔터티 간의 특정 연결을 설명하고 추가 정보를 제공 

- 교차 엔터티 (M:N 관계를 표현하기 위해 생성된 엔터티, 관계형 DB에서는 M:N 표현하지 못하기에)

 


5. 식별자 

- 식별자 개념: 인스턴스를 유일하게 구불할 수 있는 속성 또는 속성의 집합 

- 식별자 분류

    1) 대표성 여부에 따른 식별자 종류: 주식별자(대표성, 유일성, 최소성, 불변성, 존재성), 보조식별자(대체키,AK)

    2) 생성 여부에 따른 식별자 종류: 내부식별자, 외부식별자(FK) 

    3) 속성 수에 따른 식벽자 종류: 단일식별자, 복합식별자(둘 이상의 속성을 가짐) 

    4) 대체 여부에 따른 식별자 종류: 본질식별자, 인조식별자 (모델링을 위해 인위적으로 생성) 

 

- 주식별자 도출기준: 업무에서 자주 이용, 명칭/내역 같은 이름 피함, 속성 수는 최대한 적게 구성(최소성) 

 

- 관계간 엔터티 구분 : 강한 개체, 약한 개체 

 

- 식별 관계와 비식별관계

    1) 식별자 관계(=강한 연결 관계): 부모 엔터티로부터 받은 식별자를 자식 엔터티의 주식별자 이용, 부모 주기 = 자식 주기 

    2) 비식별자 관계 (= 약한 연결 관계): 부모 엔터티로부터 받은 속성을 일반 속성으로 사용 

 

- Key의 종류 (식별자는 논리 모델링에서 사용, key는 물리모델링 단계에서 사용하는 단어) 

    1) 기본키: 후보키 중에서 대표성을 가지는 주 키, 개체무결성(Null값이나 중복된 값 저장 불가) 

    2) 후보키: 유일성, 최소성 만족 

    3) 슈퍼키: 유일성 O, 최소성 X 

    4) 대체키: 기본키를 제외한 나머지 후보키 

    5) 외래키: 다른 테이블의 기본키를 참조하는 키, 참조무결성(참조할 수 없는 외래키 값을 가질 수 없음) 

반응형