새소식

인기 검색어

개인공부

SQLD 과목 1 제 1장 데이터 모델링의 이해암기 및 공부 내용

  • -

과목 1
1장 데이터 모델링의 이해 📌

 

제1절 데이터 모델의 이해

 

📌 모델링의 특징

더보기
  • 현실세계를 일정한 형식에 맞추어 표현하는 추상화의 의미
  • 복잡한 현실을 제한된 언어나 표기법을 통해 단순화의 의미
  • 누구나 이해가 가능하도록 정확하게 현상을 기술하는 정확화의 의미

📌 모델링의 필요성

더보기
  • 정보들을 일정한 표기법에 의해 표현
  • 분석된 모델을 가지고 DB를 생성하여 개발 및 데이터관리에 사용하기위한것이다
  • 데이터모델링 자체로서 업무의 흐름을 설명하고 분석하는 부분에 의미

📌 데이터모델링 유의사항

더보기
  • 여러 장소의 데이터베이스에 가은 정보를 저장하지 않도록 중복성을 최소화
  • 데이터의 정의를 데이터의 사용 프로세스와 분리하여 유연성을 높인다
  • 데이터간 상호 연관관계를 명확하게 정의하여 일관성 있게 데이터를 유지

📌 데이터모델링 종류

더보기

개념적 모델링

  • 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링

논리적 모델링

  • 시스템을 구축하고자 하는 업무에 대해 key, 속성, 관계 등을 정확하게 표현

물리적 모델링

  • 실제로 데이터베이스에서 이식할 수있도록 성능 저장 등 물리적인 성격을 고려해 설계

📌 데이터베이스 스키마 구조

더보기
스키마 구조

데이터베이스의 3단계 구조

  • 외부 스키마 - 응용프로그램 관점에서의 요구사항, 사용자 관점, DB 정의
  • 개념 스키마 - 외부 스키마가 필요로 하는 데이터의 집합, 설계자 관점
  • 내부 스키마 - DB가 물리적으로 저장된 형식, 개발자 관점

⇨ 데이터 모델링은 통합 관점의 개념 스키마를 만들어 가는 과정

 

사상 (mapping)

  • 상호 개념을 연결하는 다리
  • 논리적 사상 - 외부화면 및 사용자 인터페이스 스키마 구조는 개념스키마와 연결
  • 물리적 사상 : 개념스키마 궂와 물리적 저장된 구조(내부스키마)와 연결

논리적 독립성

  • 논리적 사상을 통해 논리적 독립성 보장
  • 개념 스키마가 변경되어도 외부 스키마에는 영향을 주지 않는다
  • 논리적 구조가 변경되어도 응용 프로그램에는 영향을 주지 않는다 통합 구조 변경 가능

물리적 독립성

  • 물리적 매핑을 통해 물리적 독립성 보장
  • 내부스키마가 변경되어도 외부/개념 스키마에는 영향을 주지않는다.
  • 응용프로그램과 개념스키마에 영향 없이 저장장치 구조변경 가능

📌 데이터 모델링(요소, 좋은 모델링 요건)  및 ERD

더보기

데이터 모델링 3요소(개체, 속성, 관계)

-  업무에 관여하는 개체(Thing) : 엔터티 / 인스턴스 

- 개체가 가지는 성격(Attributes) : 속성 / 속성값

- 개체 간의 관계(Relationships) : 관계 / 페어링

특정 시점에 DB에 실제로 저장되는 DATA

 좋은 모델링의 요건

  • 완전성 : 업무에 필요로 하는 모든 데이터는 데이터 모델에 정의되어야 한다.
  • 중복배제 : 동일한 사실은 반드시 한번만 기록
  • 업무규칙 : 업무규칙이 데이터 모델에 표현되어야 한다
  • 데이터 재사용 : 회사 전체 관점에서 공통 데이터 도출, 전 영역 사용 할 수 있도록 설계
  • 통합성 : 동일한 데이터는 조직의 전체에서 한번만 정의, 이를 참조, 활용

ERD(Entity Relationship Diagram(데이터 모델)) 표기법을 이용하여 모델링하는 방법
① 엔터티를 그린 후 적절하게 배치
② 엔터티 간 관계 설정
식별자 관계를 우선 설정함
(식별자 관계 : 부모로부터 상속받은 FK(외래키)가 자식의 PK(기본키)의 일부가 되는 관계)
- 가급적 Cycle 관계도 발생하지 않아야 한다
③ 관계명 기술 (양 방향)
- 현재형 사용, 지나치게 포괄적인 단어는 지양
- 실제 프로젝트에서는 크게 고려 X
④ 관계차수, 관계의 참여도, 선택성 표시

2장 엔터티(테이블) 📚

더보기

엔터티

  • 업무에 필요한 정보를 저장하고 관리하기 위한 집합(실체, 객체)
  • 엔티티는 인스턴스의 집합(인스턴스는 엔티티 안의 데이터)
엔티티와 인스턴의 관계

엔터티의 분류

 

유형(Tangible) 엔터티 - 물리적인 형태가 있고 안정적이며 지속적 활용 ex) 교수, 강의실, 학생

개념(Conceptual) 엔터티 - 물리적인 형태는 존재하지 않으나 관리해야 할 개념정보 ex) 수업, 보험상품

사건(Event) 엔터티 - 업무 수행 과정에서 발생 ex) 수강신청, 주문

 

엔티티의 발생시점에 따른 분류

  • 기본(key) 엔터티 : 독립적으로 생성되는 엔티티
  • 중심(main) 엔터티 : 기본 엔터티와 행위 엔터티 중간의 엔터티
  • 행위(active) 엔터티 : 2개 이상의 부모 엔터티로부터 발생, 지속적으로 정보가 추가되고 변경되어 데이터양이 가장 많음

엔터티의 특징

  • 업무에서 필요로 하는 정보 포함
  • 유일한 식별자를 가짐(식별자에 의해 식별이 가능)
  • 2개 이상의 인스턴스를 포함함(인스턴트의 집합)
  • 속성 없이 엔터티의 이름만 존재할 수 없음(속성이 반드시 포함되어야 한다)
  • 다른 엔터티와 최소 1개 이상의 관계가 존재

엔터티의 명명
- 엔터티 생성 의미대로, 실제 업무에서 사용하는 용어를 사용
- 약어를 사용 X, 단수명사 사용
- 이름이 동일한 엔터티가 중복으로 존재 X

3장 속성 ❎

더보기

속성의 정의

  • 사물의 특징 또는 성질
  • 인스턴스에 대해 더이상 분리되지않는 최소의 데이터 단위
  • 엔터티에 속한 인스턴스들의 성격을 구체적으로 나타냄
  • 엔터티, 인스턴스, 속성, 속성값의 대응

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

  • 1개의 엔터티 : 2개 이상의 인스턴스 집합
  • 1개의 인스턴스 : 2개 이상의 속성을 가짐
  • 1개의 속성 : 1개의 속성값을 가짐(원자성)

속성의 특징

  • 해당 업무에서 필요하고 관리해야 하는 정보
  • ⭐모든 속성은 정해진 주식별자에 함수적으로 종속되어야 함
  • 하나의 속성은 한 개의 값만을 가짐

속성의 도메인

  • 각 속성이 가질 수 있는 값의 범위
  • 엔터티 내에서 속성에 대한 데이터타입과 크기, 제약사항을 지정

속성의 분류

  • 기본 속성 : 가장 일반적인 속성
  • 설계 속성 : 데이터 모델링을 위해 새로 만든 속성(코드, 일련번호)
  • 파생 속성 : 다른 속성들로부터 유도된 속성(통계, 계산된 값)
속성 분류

분해 가능 여부에 따른 분류

  • 단일 속성 : 하나의 의미
  • 복합 속성 : 여러 의미, 단일 속성으로 분해 가능
  • 단일값 속성 : 속성 1개 한 개 의 값
  • 다중값 속성 : 속성 1개에 여러 값, 엔터티로 분해 가능

엔터티 구성방식에 따른 분류

  • 기본키 속성(PK, Primary Key) : 엔터티의 인스턴스를 구별할 수 있는 속성
  • 외래키 속성 (FK, Foreign Key) : 타 엔터티의 PK를 참조하는 속성
  • 일반 속성 : 엔터티에 포함되고 PK나 FK속성이 아닌 속성

4장 관계 🌉

더보기

관계와 페어링(Pairing)

  • 관계 : 엔티티의 인스턴스 사이의 논리적인 연관성으로 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
  • 페어링 : 엔터티 내 인스턴스간 개별적 관계 -> 이것의 집합을 관계로 표현
  • 인스턴스의 집합 => 엔터티 페어링의 집합 => 관계

관계의 분류

  1. ERD : 존재에 의한 관계 / 행위에 의한 관계 (구분없이 단일화된 표기법 사용)
  2. UML : 연관 관계 /  의존 관계(실선과 점선 표기법으로 구분)

관계의 표기법

  1. 관계명 : 엔터티가 관계에 참여하는 형태
  2. 관계차수(Cardinality) : 1:1, 1:M, M:M (관계 엔터티 이용)
  3. 관계선택사양 : 필수참여, 선택참여 (필수는 I 선택은 O로 표)

5장 식별자 🗝️

더보기

식별자의 개념

  • 하나의 엔터티에 구성되어있는 여러 개 속성 중 엔터티를 대표할 수 있는 속성을 의미
  • 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재

식별자의 분류

 

식별자의 분류

⭐ 식별자의 특징

  • 유일성 : 주식별자에 의해 엔티티 내의 인스턴스들을 유일하게 구분이 가능해야한다
  • 최소성 : 주식별자는 유일성을 만족하는 조건 내에 최소한의 속성 수로 구성되어야 한다
  • 불변성 : 주식별자가 되면 식별자의 값은 변경되어선 안된다
  • 존재성 : 주식별자의 값은 반드시 데이터 값이 존재해야한다(NOT NULL)

식별자 관계와 비식별자 관계
① 식별자 관계 (실선)
- 자식이 부모의 기본키(PK)를 상속받아 기본키로 사용하는 경우
- 강한 연결관계, 부모에 종속, Null X, 1:1 or 1:N 관계
- 문제점 : 자식의 주식별자 속성이 지속적으로 증가할 수 있음 → 복잡, 오류가능성
② 비식별자 관계 (점선)
- 부모로부터 속성을 받아 일반 속성으로 사용하는 경우 (약한 종속)
- 문제점 : 부모까지 조인, 불필요 현상 발생 → SQL 구문 길어져 성능 저하

https://starrykss.tistory.com/1987

 

[SQLD] SQL개발자 단원별 내용 정리 & 실전 문제

SQL개발자(SQLD) 단원별 내용 정리 & 실전 문제 SQL개발자(SQLD) 자격증을 준비하면서 블로그에 올렸었던 글들을 한 페이지에 정리해본다. 개념 정리 인터넷 블로그, 교재 등을 보면서 정리했던 내용

starrykss.tistory.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.