자격증/정보처리기사

Part2. 데이터 입출력 구현 - 데이터 저장소

YJ’s Dev Log 2023. 6. 14. 22:48

1. 논리 데이터 모델링

  1) 데이터 모델링 절차

  • 요구조건 분석 - 사용자가 원하는 데이터베이스의 용도를 파악하는 것
  • 개념적 모델링 - 사용자들의 요구사항을 이해하기 쉬운 형식으로 간단히 기술하는 형식(E-R모델)
  • 논리적 모델링 - 개념적 설계에서 만든 구조를 구현 가능한 데이터 모델로 변환하는 단계(관계, 계층, 네트워크)
  • 물리적 모델링 - 논리적 데이터베이스 구조를 내부 저장 장치 구조와 접근 경로 등으로 설계(물리적 저장장치 관점)

2. 데이터 모델

  1) 데이터 모델이란? - 현실 세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 기술하느 논리적 구조

  2) 데이터 모델의 구성요소 D = <S, O, C> : 구조(Structure) , 연산(Operation) , 제약 조건(Constraint)

  3) 데이터베이스의 논리적 구성

  • 개체(Entity) -  표현하려는 유형, 무형 정보의 대상으로 존재하면서 서로 구별이 되는 것, 하나 이상의 속성으로 구성됨
  • 속성(Attribute) - 개체의 특성이나 상태를 기술함, 단독으로 존재하긴 어려움
  • 관계(Relationship) - 개체 간 또는 속성 간의 상호작용을 말함( 1:1 , 1: n , n:m)

3. 개체-관계 모델(E-R)

  1) 다이어그램 표기법

  • ㅁ -> 개체타입
  • ○ -> 속성
  • ◇ -> 관계
  • ㅡ -> 연결

  2) E-R 다이어그램의 특징 - 하나의 관계는 둘 이상의 개체 타입이 관련된 다원 관계일 수 있음

  3) 속성 유형

  • 다중값(Multi-Valued) 속성 - 어떤 개체에 대해 특정 속성은 어려개의 값을 가질 수 있음
  • 널 속성 - 널(Null)은 '허용할 수 없음', '해당사항 없음' 이라는 의미

4. 논리적 데이터 모델

  1) 논리적 데이터 모델의 종류

  • 관계 데이터 모델 - 표
  • 네트워크 데이터 모델 - 그래프
  • 계층 데이터 모델 - 트리

 

5. 관계 데이터 모델

  1) 관계 데이터 구조

  • 릴레이션(Relation) - 2차원 테이블로 표현됨
  • 속성(Attribute) - 테이블의 각 열
  • 도메인(Domain) - 속성이 취할 수 있는 값들의 지합
  • 튜플(Tuple) - 한 행을 구성하는 속성들의 집합
  • 차수(Degree) - 속성의 갯수
  • 기수(Cadinality, 대응수) - 튜플의 갯수

  2) 릴레이션의 특성

  • 튜플의 유일성 - 각 튜플들은 중복되지 않고 모두 상이함
  • 튜플의 무순서성 - 한 릴레이션에 포함된 튜플 사이에는 순서 x
  • 애트리뷰트의 무순서성 - 릴레이션에서 애트리뷰트들 간의 순서는 의미가 없음
  • 애트리뷰트의 원자성 - 모든 애트리뷰트는 원자값을 가지며, 애트리뷰트의 값은 논리적으로 분해가 불가능함

 3) 키의 종류

  • 슈퍼키 - 유일성은 만족시키지만 최소성은 만족시키지 못함
  • 후보키 - 유일성과 최소성 모두 만족함
  • 기본키 - 개체 식별자로 후보키 중 하나를 선택한 것(개체무결성, not null, 중복x)
  • 대체키 - 기본키를 제외한 후보키
  • 외래키 - 다른 릴레이션을 참조하는데 사용되는 속성(참조무결성)

6. ORM 프레임 워크 - 객체와 관계형 데이터 베이스의 데이터를 자동으로 매핑해주는 것을 말함.

 

7. 스키마 - 데이터 베이스의 구조에 대한 정의와 이에 대한 구조를 정의한 것

  1) 외부 스키마

  • 서브 스키마 또는 뷰라고도 함.
  • 전체 데이터 중 사용자가 사용하는 한 부분에서 본 구조

  2) 개념 스키마 - 논리적 관점에서 본 구조, 전체적인 데이터 구조임(일반적으로 스키마라 불림) -> 논리적구조

  3) 내부 스키마

  • 물리적 저장장치 관점
  • 내부레코드 형식, 내부 레코드의 물리적 순서를 나타냄