ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 베이스
    CS 지식/데이터베이스 2021. 1. 14. 15:18
    반응형

    데이터 베이스

    • 특징

      • 데이터 독립성
        • 외부단계(논리적 데이터 독립성) - 개념적 단계(물리적 독립성)-내부적 단계
          • 이 단계는 외부스키마, 내부스키마, 개념스키마로 설명 가능
        • 물리적 독립성
          • 내부 스키마가 변경되어도 외부/개념 스키마에는 영향이 없도록(응용 프로그램을 수정할 필요 없도록) 지원
        • 논리적 독립성
          • 개념 스키마가 변경되어도 외부 스키마에는 영향이 없도록 지원
      • 데이터 무결성
        • 데이터베이스에 저장된 값들에 대해 여러 제한을 통해 데이터에 대한 신뢰를 보장해서 일관성을 유지하는 것(유효성 검사 ~> 잘못된 데이터가 발생하는 것 방지)
        • 영역 무결성
          • 한 컬럼에 대해 NULL 허용 여부와 타당한 데이터 값을 지정
          • 자료형, 규칙과 제약, 값 범위 등을 제한
        • 참조 무결성
          • 기본 키와 참조 키 간의 관계가 항상 유지됨을 보장
          • 참조되는 테이블의 행은 참조하는 키가 존재하는 한 삭제될 수 없고, 기본키도 변경될 수 없음
        • 개체 무결성
          • 테이블에 있는 모든 행들이 유일한 식별자를 가질 것을 요구
      • 데이터 보안성
        • 인가된 사용자만 DB나 자원에 접근할 수 있도록 계정 관리 or 접근 권한 설정
      • 데이터 일관성
        • 연관된 정보를 논리적인 구조로 관리함으로써 특정 데이터만 변경할 때, 발생할 수 있는 데이터 불일치성을 배제할 수 있음
      • 데이터 중복 최소화
        • 데이터를 통합해서 관리 ~> 파일 시스템의 단점 중 하나인 데이터 중복문제를 해결
    • 장점

      • 데이터 중복 최소화, 데이터 공유, 일관성과 무결성과 보안성 유지, 최신 데이터 유지 등
    • 단점

      • 비용 부담
      • 데이터 백업과 복구의 어려움
      • DB 전문가가 필요(러닝커브가 높다)
    • 성능

      • 디스크 I/O의 성능은 디스크 헤더의 위치 이동 없이 얼마나 많은 데이터를 한번에 기록하는가에 달려있다.
        • 따라서 순차 I/O가 랜덤 I/O보다 빠른데, 현실은 대부분 랜덤 I/O
        • 랜덤 I/O를 순차 I/O로 바꿔서 실행하기 위해 쿼리 튜닝이 나왔다.
      • 쿼리 튜닝
        • 가급적 WHERE 조건에 인덱스 컬럼을 모두 사용 (FULL Scan 방지)
        • 가급적 동등 연산자(=)를 활용
          • IS NULL, NOT IN, LIKE 등 회피
        • 인덱스 컬럼은 변형해서 사용 X
        • OR 보다는 AND를 활용해라
        • 그룹핑 쿼리 시, HAVING보다는 WHERE 절에서 데이터를 필터링
        • DISTINCT는 가급적 사용 X
        • IN, NOT IN 대신 EXISTS와 NOT EXISTS 사용
        • 등등
    반응형

    'CS 지식 > 데이터베이스' 카테고리의 다른 글

    NoSQL  (0) 2021.01.14
    트랜잭션(Transaction)  (0) 2021.01.14
    정규화  (0) 2021.01.14
    인덱스(Index)  (0) 2021.01.14
    스키마 3계층 ( 외부 스키마, 개념 스키마, 내부 스키마)  (0) 2020.08.17

    댓글

Designed by Tistory.