ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Database 사전지식
    데이터베이스 2020. 10. 15. 18:44
    728x90

    DB : Database : 데이터의 모음

    DBMS(Database Management System) : DB 를 관리해주는 시스템

    DBS(Database System)  : DB + DBMS

     

    DBMS의 장점

    • 데이터 추상화

    • 데이터 접근의 용이함

    • 데이터의 중복(Redundant)과 불일치(inconsistency)를 관리

    • 무결성(Integrity) problem

      • constraint

    • 원자성(Atomicity) of update
      데이터의 수정에 있어서 Transaction 단위로 완전히 성공하거나 완전히 실패함을 보장하는 것

    • 여러 유저들의 동시적(Concurrent) 접근 관리

    • 보안 문제

    • 데이터 분리(isolation)

      • 파일 시스템으로부터 응용프로그램을 분리하여 프로그램 개발을 용이하게함

    데이터 추상화

    추상화 : 복잡한 내용을 제거한 채로 쉽게 이해하는 것

    Instance : 데이터 변수 : 테이블 내 row를 생각하면 좋음

    Scheme : 데이터 타입

    • 물리적 스키마 : Physical level에서 설계된 스키마

    • 논리적 스키마 : Logical level에서 설계된 스키마

     

    데이터 추상화의 3단계

    • Physical level : 어떤 record 가 물리적으로 어떻게 저장되는지에 대한 정보 : 어려움

    • Logical level : DB안에 데이터에 대한 설명과 그들간의 관계에 대한 정보 : Scheme 정보도 알려줌
      이는 중간 단계

    • View level : 가장 단순한 방식의 추상화로 데이터의 디테일한 부분은 감춘 채로 보여주며, 초보자를 위한 것이라 보안기능도 어느 정도 갖고 있음

    데이터의 모듈화 (Independence)

    Physical data independence : Locical scheme 의 수정 없이도 physical scheme를 수정할 수 있음

    Logical data independence : View scheme의 수정 없이도 logical scheme 의 수정이 가능

     

    Data model

    표현 방법

    • Data

    • Data relationships : 관계

    • Data semantics : 의미

    • Data constraints : 제약사항

     

    종류

    • Relational data model

    • Object-oriented data model : type이 유연함
        = 복잡한 타입을 정의하는 것이 강하다 = model power 가 강하다

    • Object-relational data model : 관계형 base + object

    • ER data model : 데이터베이스 설계용

    • XML

     

    데이터베이스 디자인

    Logical Design : 데이터의 스키마를 정의하는 것

    Physical design : 데이터의 물리적 스키마(물리적 레이아웃)을 정의하는 것

     

    디자인 방법

    ER Model(Entity Relationship) = 직관성이 높다.

    실 세계를 바라보는 관점에서 데이터를 바라보로, diagram으로 표현하기 때문

     

    Normalization theory : ER 다이어그램을 평가하는 정리

    데이터베이스 언어

    DBMS는 데이터를 관리하기 위해 명령어를 전달할 수단이 필요했다.

    대표적인 언어로 QUEL, SQL, Relational algebra 등이 있다.

     

    DBMS Component

    DBMS는 매우 큰 프로그램이므로 여러 컴포넌트로 나뉘는데 그 중 중요한 두 가지가 있다.

    • Query processor : query 를 처리하고, 인증, 보안 등을 담당한다.

    • Storage manager : 효율적인 저장, 검색, 업데이트를 위해 인덱싱, 해싱, 트랜잭션 처리 등을 담당

     

     

    Data dictionary = Data directory

    meta data를 저장하는 공간으로, 일반 데이터와 다른 공간입니다. 메타 데이터는 데이터에 대한 정보를 나타내는 데이터로 다음과 같은 정보를 저장합니다.

    • Database scheme

    • Integrity constraints

      • Primary key

      • Referential inegrity

    • Authorization : 권한

     

    Transactiion management

    DBMS가 데이터를 처리할 때 트랜잭션 단위로 처리하는데 이 트랜잭션 관리에는 두 가지 컴포넌트가 있다.

    • Concurrency constrol manager : 여러 트랜잭션이 동시에 데이터 베이스에 접근할 때 이를 관리해주는 역할을 합니다.

    • Recovery manager : 시스템의 장애로 인해 데이터베이스에 문제가 생기거나 트랜잭션에 실패했을 때 이를 복구해주는 역할을 합니다.

     

    DBA (Database administrator)

    데이터베이스를 관리하는 슈퍼유저로, 스키마 정의, 저장 구조 변경 및 접근 방법 정의 등 모든 권한을 갖습니다.

     

    Database System Architecture

    • 중앙화(Centralized)

    • 분산화(Distributed)

    • Client-server

    • 병렬화(Parallel)

     

    댓글

Designed by Tistory.