응용 SW 기초 기술 활용 - 2

김상우·2022년 3월 22일
0
post-thumbnail

데이터베이스 개요

  • 데이터저장소

    • 데이터들을 논리적인 구조록 조직화하거나, 물리적인 공간에 구축한 것
    • 논리 데이터저장소 : 데이터 및 데이터간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것
    • 물리 데이터저장소 : 논리 데이터저장소를 SW가 운용될 환경의 물리적 특성을 고려해 실제 저장장치에 저장한 것
  • 데이터베이스(Database)

    • 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터
    • 통합된 데이터(Integrated Data) : 자료의 중복을 배제한 데이터의 모임
    • 저장된 데이터(Stored Data) : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료
    • 운영 데이터(Operational Data) : 조직의 고유한 업무를 수행하는데 반드시 필요한 자료
    • 공용 데이터(Shared Data) : 여러 응용 시스템이 공동으로 소유하고 유지하는 자료
  • 데이터베이스 관리 시스템(DBMS; DataBase Management System)

    • 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 SW
    • 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템
    • DBMS의 필수기능
    기능설명
    정의(Definition)기능데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시
    조작(Manipulation)기능데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공
    제어(Control)기능데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공
  • 데이터의 독립성

독립성설명
논리적 독립성응용 프로그램과 데이터베이스를 독립시킴으로써, 데이터의 논리적 구조를 변경시켜도 응용프로그램은 영향을 받지 않음
물리적 독립성응용 프로그램과 보조기억장치 같은 물리적 장치를 독림시킴으로써, 디스크를 추가/변경 하더라고 응용 프로그램은 영향을 받지 않음
  • 스키마(Schema)
    데이터베이스의 구조와 제약조건에 관한 전반적인 먕세를 기술한 것
종류내용
외부 스키마사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
개념 스키마- 데이터베이스의 전체적인 논리적 구조
- 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재
내부 스키마- 물리적 저장장치의 입장에서 본 데이터베이스 구조
- 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서등을 나타냄

데이터베이스 설계

  • 설계 시 고려사항
항목내용
무결성삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야 함
일관성데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 일정해야 함
회복시스템 장애 발생 시 장애 발생 직전의 상태로 복구할 수 있어야 함
보안불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함
효율성응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 함
확장데이터베이스 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 함
  • 설계 순서
    • 요구 조건 분석 : 요구 조건 명세서 작성
      • 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악하는 것
    • 개념적 설계(정보 모델링, 개념화) : 개념 스키마, 트랜잭션 모델링, E-R 모델
      • 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
    • 논리적 설계(데이터 모델링) : 목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계
      • 현실 세계에서 발생하는 자료를 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(mapping) 시키는 과정
    • 물리적 설계(데이터 구조화) : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환
      • 논리적 구조로 표햔된 데이터를 물리적 구조의 데이터로 변환하는 과정
    • 구현 : 목표 DBMS의 DDL로 데이터베이스 생성, 트랜잭션 작성
      • 논리적 설계와 물리적 설계에서 도출된 데이터베이스 스키마를 파일로 생성하는 과정

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

  • ERD(E-R Diagram)
기호 이름의미
사각형개체(Entity) 타입
마름모관계(Relationship) 타입
타원속성(Attribute)
이중 타원다중값 속성(복합 속성)
밑줄 타원기본키 속성
복수 타원복합 속성
관계1:1, 1:N, N:M 등의 개체 간 관계에 대한 대응수를 선 위에 기술
선, 링크개체 타입과 속성을 연결

관계형 데이터베이스

  • 관계형 데이터베이스

    • 2차원적인 표(Table)를 이용해 데이터 상호 관계를 정의하는 데이터베이스
    • 장점 : 간결하고 보기 편리하먀, 다른 데이터베이스로의 변환이 용이
    • 단점 : 성능이 다소 떨어짐
  • 릴레이션 구조

    • 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성
  • 튜플(Tuple)

    • 릴레이션을 구성하는 각각의 행
    • 속성의 모임으로 구성
    • 파일 구조에서 레코드와 같은 의미
    • 튜플의 수는 카디널리티(Cardinality) 또는, 기수, 대응수라고 함
  • 속성(Attribute)

    • 데이터베이스를 구성하는 가장 작은 논리적 단위
    • 데이터 항목 또는 데이터 필드에 해당
    • 개체의 특성을 기술
    • 속성의 수는 디그리(Degree) 또는 차수라고 함
  • 도메인(Domain)

    • 하나의 속성이 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합
    • 속성 값의 합법 여부를 시스템이 검사하는데에도 사용
  • 릴레이션의 특징

    • 릴레이션의 포함된 튜플들은 모두 상이함
    • 한 릴레이션에 포함된 튜플 사이에는 순서가 없음
    • 튜플의 삽입, 삭제 등의 작업으로 인해 시간에 따라 변화함
    • 릴레이션 스키마를 구성하는 속성 간의 순서는 중요치 않음
    • 속성의 명칭은 유일해야 함
    • 속성을 구성하는 값은 동일한 값이 가능
    • 릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분집합을 키(Key)로 설정
    • 속성은 논리적으로 더 이상 나눌 수 없는 원자값만 저장
  • 관계형 데이터 모델

    • 2차원적인 표(Table)를 이용해 데이터 상호 관계를 정의하는 DB 구조
    • 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 데이터 간의 관계를 표현
    • 대표적인 언어는 SQL

트랜잭션 분석/CRUD 분석

  • 트랜잭션(Transaction)
    • 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 새행되어야 할 일련의 연산
  • 특성
특성의미
원자성(Atomicity)연산은 DB에 모두 반영되도록 완료 되거나(Commit) 반영되지 않도록 복구(Rollback) 되어야 함
일관성(Consistency)실행이 완료되면 항상 일관적인 상태로 변환함
독립성(Isolation)어느 하나의 트랜잭션 실행 중 다른 트랜잭션의 연산이 끼어들수 없음
지속성(Durability)성곡적으로 완료된 트랜잭션 결과는 영구적으로 반영되야 함
  • CRUD 분석
    • 프로세스와 테이블 간에 CRUD 매트릭스를 만들어 트랜잭션을 분석하는 것
  • 트랜잭션 분석
    • CRUD 매트릭스를 기반으로 테이블에 발생하는 트랜잭션 양을 분석하여 DB의 용량 산정 및 구조의 최적화를 목적으로 함
profile
아침엔 운동하고 밤엔 잠을 잔다.

0개의 댓글

관련 채용 정보