DataBase

이유석·2022년 3월 23일
0

CS - Data Base

목록 보기
1/11
post-thumbnail

데이터 저장소

  • 데이터를 논리적 구조로 조직화, 혹은 물리적 공간에 구축한 것
    • 논리 데이터 저장소 : 데이터 간의 연관성, 제약조건 식별
    • 물리 데이터 저장소 : 소프트웨어 운영 환경의 물리적 특성을 고려하여 논리 데이터저장소를 실제 저장장치에 저장한 것

데이터베이스

  • 공동으로 사용될 데이터의 중복을 배제하여 통합한 것
  • 저장장치에 저장하여 항상 사용할 수 있도록 하는 운영 데이터

DataBase Management system (DBMS)

  • 사용자 요구에 따라 정보를 생성하고, DB를 관리하는 소프트웨어
  • 필수 기능
    • Definition (정의) : 데이터 타입, 구조, 이용 방식, 제약 조건
    • Manipulation (조작) : 검색, 갱신, 삽입, 삭제를 위한 인터페이스 수단
    • Control (제어) : 무결성, 보안, 권한 검사, 병행 제어 제공

병행 제어 : 데이터 베이스의 일관성을 유지하면서, 공유를 최대화 하는 것이 목적

무결성 : 데이터 값이 정확한 상태. 데이터베이스의 데이터와 구조는 변경된 순서대로 전체 데이터베이스에 적용된다.
일관성 : 트랜잭션이 실행을 성공적으로 완료하면 언제나 모순 없이 누구에게나 일관성 있는 데이터베이스 상태를 보존함

Schema (스키마)

  • DB 구조, 제약조건에 관한 전반적인 명세 사항
    • 외부 스키마 : 각 사용자 단계의 개인적 DB 스키마, 사용자 관점, 응용 프로그램이 접근하는 DB를 정의함
    • 개념 스키마 : 조직 전체의 통합된 DB 스키마, 설계자 관점, DB 전체적 논리 구조
    • 내부 스키마 : 물리적으로 데이터가 저장되는 방법을 표현하는 스키마, 개발자 관점, 물리적 저장 구조임

데이터 베이스 설계

  • 요구 조건을 분석하여 DB구조에 맞게 변형 후, DBMS로 DB를 구현하여 일반 사용자들이 사용하게함

  • 고려 사항

    • 무결성 : 연산 후에도 데이터가 제약 조건을 항상 만족해야 함
      • DB에 저장된 데이터 값과 현실 세계의 실제 값이 일치하는 정확성
      • 부정확한 자료가 DB내에 저장됨을 방지하기 위한 제약 조건
    • 일관성 : 특정 질의에 대한 응답이 처음부터 끝까지 변함이 없어야 함
    • 회복 : 장애 발생 시, 발생 직전 상태로 복구가 가능해야 함
      - 보안 : 데이터의 불법적 노출, 변경, 손실로부터 보호 가능해야 함
    • 효율성 : 응답시간 단축, 시스템 생산성, 저장 공간 최적화
    • 데이터 베이스 확장 : DB 운영에 영향을 주지 않으면서, 지속적으로 데이터 추가 가능
  • 순서 : 요구 조건 분석 → 개념적 설계논리적 설계물리적 설계 → 구현

데이터 모델

  • 현실 세계의 정보들을 체계적으로 표현한 개념적 모형

  • 구성 요소

    • Entity (개체)
      • DB에 표현하려는 개념, 정보단위 들 현실 세계의 대상
    • Attribute (속성)
      • DB를 구성하는 가장 작은 논리적 단위
      • 속성의 수를 차수(Degree)라고 함
    • Relationship (관계)
      • 개체 사이의 논리적인 관련성
  • 종류 : 개념적 데이터 모델링, 논리적 데이터 모델링, 물리적 데이터 모델링

Identifier (식별자)

  • 개체를 대표할 수 있는 유일성을 만족하는 속성
  • 모든 개체는 한개 이상의 식별자를 반드시 가짐
  • 특징
    • 유일성 : 주 식별자에 의해 유일하게 구분
    • 최소성 : 최소한의 속성으로만 구분
    • 불변성 : 한 번 지정되면, 주 식별자는 변하지 않아야 함
    • 존재성 : 식별자 속성에 반드시 데이터 값이 존재 해야 함

Key (키)

  • DB에서 조건을 만족하는 Entity를 찾거나, 정렬 시 기준이 되는 속성

  • 종류

    • Candidate Key (후보 키)
      • Entity를 유일하게 식별하기 위해 사용하는 속성들의 부분 집합.
      • 기본키로 사용할 수 있는 속성들
      • 2가지 조건을 만족 하여야 함
        1. 유일성 : Key로 하나의 Entity를 유일하게 식별할 수 있어야 함
        2. 최소성 : 꼭 필요한 속성으로만 구성
    • Primary Key (기본 키)
      • 후보키 중에서 선택한 Main Key
      • 특정 Entity를 유일하게 구별할 수 있는 속성
      • 중복된 값, Null값을 가질 수 없음
    • Alternate Key (대체 키)
      • 후보키 중 기본키를 제외한 나머지 키
      • = 보조키
    • Super Key (슈퍼 키)
      • 유일성은 만족하지만, 최소서은 만족하지 못한 키
      • 한 관계 내에 있는 속성들의 집합으로 구성
    • Foreign Key (외래 키)
      • 다른 관계의 기본 키를 그대로 참조하는 속성
      • 외래키로 지정되면, 참조 릴레이션의 기본키에 있는 값만 입력 가능

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

  • 개체 간 관계를 기본 요소로 하여, 현실 세계의 데이터를 개념적 논리 데이터로 표현한 것
  • 개념적 데이터 모델링의 대표적인 것
  • 데이터를 개체, 관계, 속성으로 묘사

profile
https://github.com/yuseogi0218

0개의 댓글