정보처리기사 필기

3과목 : 데이터베이스 구축 (1장. 논리 데이터 베이스 설계 : 주요 키워드 정리)

IT의 큰손 2022. 8. 2. 13:38
728x90

1장. 논리 데이터 베이스 설계

 

1-0. 데이터베이스 설계

  • 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 DB의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 함.
  • 데이터베이스 설계시 고려사항
    • 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 DB에 저장된 데이터가 정해진 제약조건을 항상 만족해야함.
    • 일관성 : DB에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야함.
    • 회복 : 시스템 장애 발생시 직전의 상태로 복구 할 수 있어야 한다.
    • 보안 : 불법적인 상황에 대하여 보호할 수 있어야 한다.
    • 효율성 : 응답시간 단축, 시스템 생산성 등
    • DB 확장 : DB 운영에 영향을 주지 않으면서 지속적으로 데이터 추가

 

1-1. 데이터베이스 설계 순서

  • 요구조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현
    • 요구조건 분석 : 데이터 베이스를 사용할 사람들로부터 필요한 용도를 파악
    • 개념적 설계(정보모델링) : 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고, 현실세계에 대한 인식을 추상적 표현
    • 논리적 설계(데이터모델링) : 현실세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료구조로 변환
    • 물리적 설계(데이터 구조화) : 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정

 

1-2. 데이터 모델

  • 데이터, 데이터의 관계, 데이터 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임
  • 데이터 모델 구성요소 : 개체, 속성, 관계
    • 개체 : DB에 표현하려는 것, 사람이 생각하는 개념
    • 속성 : 데이터의 가장 작은 논리적 단위( ex) 기본속성, 설계속성, 파생속성)
    • 관계 : 개체 간의 관계 or 속성 간의 논리적 연결( ex) 종속관계, 중복관계, 재귀관계, 배타관계)
  • 데이터 모델  종류 : 개념적, 논리적, 물리적
  • 데이터 모델 표시요소 : 구조, 연산, 제약조건

 

1-3. 식별자 

  • 하나의 개체 내에서 각각의 인스턴스를 유일하게 구분할  수 있는 구분자로, 모든 개체는 한 개 이상의 식별자를 가져야함.
  • ex) 주식별자/보조식별자, 내부식별자/외부식별자, 단일식별자/복합식별자, 원조식별자/대리식별자

 

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

  • 개체와 개체 간의 관계를 기본 요소로 이용. 개념적 논리 데이터를 표현.
  • 데이터를 개체, 관계, 속성으로 묘사함.
  •  

 

1-5. 관계형 데이터베이스

  • 관계형 데이터베이스를 구성하는 개체나 관계를 모두 릴레이션 이라는 표로 표현한다.
  • ex) 학생 릴레이션
학번 이름 학년 신장 학과
20171000 홍길동 3 175 컴퓨터공학과
20181001 이순신 2 180 정보보호학과
20191005 유관순 1 160 컴퓨터공학과
20141006 안창호 4 170 정보보호학과
  • 튜플 : 릴레이션을 구성하는 각각의 행, 튜플의 수를 카디널리티 또는 기수 라고함.
  • 속성 : 데이터베이스를 구성하는 가장 작은 논리적 단위, 속성의 수를 디그리라고 함.
  • 도메인 : 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자 값들의 집합
  • 키 : DB에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 속성
    • 후보키 : 릴레이션을 구성하는 속성들 중에서 유일성과 최소성을 만족하는 키
    • 기본키 : 후보키 중에서 선정된 주키로, 중복된 값을 가질 수 없다.
    • 대체키 : 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키
    • 슈퍼키 : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 유일성은 만족하지만 최소성은 만족 X
    • 외래키 : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합

 

  • 무결성 : DB에 저장된 데이터 값과 그것이 표현하는 현실세계의 실제 값이 일치하는 정확성을 의미.
    • 개체무결성 : 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL 값이나 중복값을 가질 수 없다는 규정
    • 도메인무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정
    • 참조무결성 : 외래키 값은 NULL이거나 참조 릴레이션 기본키 값과 동일해야 한다

 

  • 관계대수 : 관계형 DB에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는 가를 기술하는 절차적 언어
    • 순수관계 연산자 : SELECT(σ), PROJECT(π), JOIN(▷◁), DIVISION(÷)
    • 일반관계 연산자 : UNION, INTERSECT, DIFFERENCE, CARTESIAN PRODUCT
    • 일반집합 연산자 : 합집합, 교집합, 차집합, 교차곱

 

  • 관계해석 : 관계 데이터의 연산을 표현하는 방법, 원하는 정보를 정의할 때는 계산수식을 이용
  • 정규화 : 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정
    • 이상의 개념 및 종류
      • 정규화를 거치지 않으면 데이터들이 불필요하게 중복되어 예기치 못한 곤란한 현상이 발생. 이 현상
      • 삽입이상 : 데이터 삽입 시 원하지 않는 값들도 함께 삽입
      • 삭제이상 : 한 튜플을 삭제할 때 상관 없는 값들도 함께 삭제
      • 갱신이상 : 속성 값을 갱신할 때 일부 정보만 갱신
    • 정규화과정
      • 도 부 이 결 다 조
      • 1NF : 도메인이 원자값
      • 2NF : 부분적 함수 종속성 제거
      • 3NF : 이행적 함수 족속성 제거
      • BCNF : 결정자 이면서 후보키가 아닌 것 제거
      • 4NF : 다치 종속성 제거
      • 5NF : 조인 종속성 제거

 

  • 반정규화
    • 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위이다.
    • 반정규화 방법
      • 테이블 통합 : 두 개의 테이블이 조인되는 경우가 많아 하나의 테이블로 통합
      • 테이블 분할 : 수평분할, 수직분할
      • 중복 테이블 추가 : 데이터를 추출해서 사용하거나, 다른 서버에 저장된 테이블 이용시 중복 테이블을 추가하여 작업의 효율성 향상
      • 중복 속성 추가 : 조인해서 데이터를 처리할 때 경로를 단축하기 위해서 속성을 하나 더 추가

 

  • 시스템 카탈로그
    • 시스템 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터 베이스
    • 시스템 카탈로그에 저장된 정보를 메타 데이터라고함.
728x90