3장 - 데이터 입출력 구현

박경서·2024년 4월 11일
post-thumbnail

데이터 저장소

데이터 모델

데이터 모델 절차 (요개논물)

  • 요구사항 분석
  • 개념적 설계
    • 트랜잭션을 모델링
    • ERD
  • 논리적 설계
    • 트랜잭션의 인터페이스 설계
    • 스키마의 평가 및 정제
  • 물리적 설계
    • 반 정규화
    • 접근경로 설계

관계 데이터 모델

관계 데이터 모델의 구성요소

  • 릴레이션
    • 행과 열로 구성된 테이블
  • 튜플
    • 릴레이션의 행
    • 튜플의 개수 : 카디널리티
  • 속성
    • 릴레이션의 열
    • 속성의 개수 : 차수, 애트리뷰트
  • 스키마 = 릴레이션 스키마
    • 데이터베이스의 구조 등의 정보를 담고있는 기본적인 구조
  • 인스턴스 = 릴레이션 인스턴스
    • 실제 저장된 데이터의 집합

관계 대수

  • 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술

  • 일반 집합 연산자

    • 합집합
      • U
    • 교집합
      • 거꾸로 U
    • 차집합
      • -
    • 카티션 프로덕트
      • X
  • 순수 관계 연산자

    • 셀렉트 (σ) = SQL에서 SELECT 담당

      • 릴레이션에서 조건을 만족하는 튜플 반환
    • 프로젝트 (π) = SQL에서 WHERE 조건 담당

      • 주어진 속성들의 값으로만 구성된 튜플 반환
    • 조인 (▷◁)

      • 공통 속성을 이용해 연결
    • 디비전 (÷)

      • 관련있는 튜플 반환

ERD

  • 피터챈 모델
  • 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위한 모델
  • 개체, 속성, 관계

ERD 기호

정규화

  • 단계 (원부 이걸 다조)
    • 1정규형(1NF)
      • 원자값으로 구성
    • 2정규형
      • 부분 함수 종속 제거
    • 3정규형
      • 이행함수 종속 제거
    • BCNF
      • 결정자 후보 키가 아닌 함수 종속 제거
    • 4정규형
      • 다치(다중값) 종속 제거
    • 5정규형
      • 조인 종속 제거

이상현상

  • 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 현상
    <테이블>
    학번     이름    교수번호    교수이름
    2010   홍길동       1           김 교수
    2011   김영희       2           이 교수
    2012   이철수       ?               ?
    • 삽입이상
      • 2012학번을 가진 이철수라는 학생이름을 등록할 경우 교수가 지정되어 있지않으면 삽입 불가
    • 삭제이상
      • '이교수'라는 교수가 퇴사할 경우 김영희의 정보도 같이 삭제
    • 갱신이상
      • 홍길동의 지도교수를 이 교수로 변경할 경우 중복이 되어 모순이 일어난다.

함수 종속

  • 부분함수 종속(Partial)
  • 완전함수 종속(Full)
  • 이행함수 종속(Transitive)

반정규화

  • 정규화된 엔티티 등에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합 등을 수행

물리 데이터 모델

데이터베이스 무결성

  • 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계 값이 일치하는 성질
  • 무결성 종류 (개참속시키)
    • 개체 무결성
      • 기본키는 널값이 안됨
    • 참조 무결성
      • 외래키가 참조하는 키는 기본키값이거나 널값
    • 속성 무결성
      • 규칙에 준수
    • 사용자 정의 무결성
    • 키 무결성

  • 유일성
    • 유일하게 구분
  • 최소성
    • 최소한의 속성으로 구별
  • 종류
    • 기본 키
    • 후보 키
    • 슈퍼 키
      • 유일성은 만족, 최소성은 불만족
    • 외래 키
      • 기본 키로 이용되는 키
      • 무결성

파티셔닝

  • 레인지 파티셔닝
    • 연속적인 숫자나 날짜를 기준
  • 해시 파티셔닝
    • 해시함수 값
  • 리스트 파티셔닝
    • 특정 파티션에 저장될 데이터
  • 라운드로빈
    • 라운드로빈 회전
profile
안녕하세요, 박경서입니다.

0개의 댓글