Skip to content

Latest commit

 

History

History
90 lines (70 loc) · 4.35 KB

database.md

File metadata and controls

90 lines (70 loc) · 4.35 KB

데이터베이스

데이터베이스 개념

  • 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합.
  • IT 시스템의 발달로 인해 급증하는 데이터에 대한 효과적인 관리가 중요해졌으며 자료의 중복성 제거 ,무결성 확보 , 일관성 유지 , 유용성 보장은 데이터베이스 관리의 핵심이다.

데이터베이스 특징

  1. 실시간 접근성 (Real-time Accessibility)
  2. 계속적인 변화 (Continuous Evolution)
  3. 동시 공유 (Concurrent Sharing)
  4. 내용에 의한 참조 (Content Reference)

데이터베이스 설계순서

요구조건 분석 > 개념적 설계 > 논리적 설계 > 물리적 설계 > 구현


데이터베이스 용어

  • 속성(Attribute) : 릴레이션 내의 하나의 열을 의미, 어떤 개체를 표현하고 저장한 것으로 흔히 컬럼 또는 필드로 표현하기도 한다.
  • 튜플(Tuple) : 릴레이션 내의 하나의 행을 의미하며 , 레코드 또는 로우로 표현 하기도 한다.
  • 차수(Degree) : 하나의 릴레이션 내에 들어 있는 속성의 수를 의미한다.
  • 기수(Cardinality) : 하나의 릴레이션 내에 들어 있는 튜플의 수를 의미한다.
  • 도메인(Domain) : 릴레이션 내 각각의 속성들이 가질 수 있는 값들의 집합을 의미한다.
  • 뷰(View) : 하나 이상의 기본 테이블로부터 유도된 가상 테이블, 구조와 조작도 기본 테이블과 매우 유사하다.

스키마

  • 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 의미한다.

    1. 내부스키마(물리) : 시스템 프로그래머나 설계자의 관점에서 정의하는 데이터베이스
    2. 개념스키마(논리) : 사용자들이 필요로 하는 데이터를 기관이나 조직의 관점에서 정의한 데이터베이스
    3. 외부스키마(서브) : 사용자 등의 개인적 입장에서 필요로 하는 데이터베이스

키(Key)

  • 무언가를 식별하는 고유한 식별자 기능을 하는 것이다.

    1. 후보키 : 유일성최소성을 만족하는 속성들의 집합.
    2. 기본키 : 후보키 중 선정된 키로 중복값 입력이 불가능하고 Null 값을 가질 수 없다
    3. 슈퍼키 : 유일성 만족 , 최소성 불만족하는 속성들의 집합
    4. 대체키 : 후보키 중 기본키로 선택되지 못한 후보키들
    5. 외래키 : 다른 테이블의 행을 식별하는 키

    유일성

    하나의 키로 특정 행을 바로 찾아낼 수 있는 고유한 데이터의 속성이다.



    데이터베이스 관리 시스템(DBMS, DataBase Management System)

    • 위와 같은 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경,삭제 및 백업 , 복구 , 보안 등의 기능을 지원하는 소프트웨어이다.
    • 저장되는 정보는 텍스트, 이미지, 음악파일 , 지도 데이터 등으로 매우 다양하다.

    DBMS 장단점

    • 장점

      1. 데이터 중복성 최소화
      2. 데이터 공유(일관성 유지)
      3. 정합성 , 부결성 , 보안성 유지
      4. 사용자 중심의 데이터 처리
      5. 데이터 표준화 적용 가능
      6. 데이터 접근 용이
      7. 데이터 저장 공간 공유로 인한 절약
    • 단점

      1. 데이터베이스 전문가(DBA) 필요
      2. DBMS 구축 서버 필요 및 유지비
      3. 데이터 백업과 복구 어려움
      4. 시스템 복잡성
      5. 대용량 디스크로 엑세스 집중 시 병목 현상으로 과부화 발생
      6. 대용량 데이터 처리가 어려움

데이터베이스 관리자(DBA, DataBase Administrator)

  • 데이터베이스를 직접 활용하기보다는 사용자를 위해 데이터베이스를 설계 및 구축하고, 제대로 서비스 할 수 있도록 데이터베이스를 관리하고 제어한다.
  • 데이터베이스 관리자의 주요 업무
    1. 데이터베이스 구성요소 선정
    2. 데이터베이스 스키마 정의
    3. 물리적 저장 구조와 접근 방법 결정
    4. 무결성 유지를 위한 제약조건 정의
    5. 보안 및 접근 권한 정책 결정
    6. 백업 및 회복 기법 정의
    7. 시스템 데이터베이스 관리
    8. 시스템 성능 감시 및 성능 분석
    9. 데이터베이스 재구성