Database Concepts;

정 승 연·2023년 3월 23일
0

dbdbddbb

목록 보기
2/2

Chapter-1

DBMS

  • interrelated data의 모음
  • 데이터에 접근할 수 있는 프로그램의 모음
  • 사용하기에 편리한 환경
  • Highly valuable
  • Relatively Large

DBS (Database System) = DB + DBMS

DB : collectioin of data

DBMS : Database Management System

DBMS의 목적

  • Data redunancy and inconsistency
    • 데이터 중복 및 불일치성에 대한 제어 용이. 데이터 불일치성은 데이터 간에 값이 서로 일치하지 않은 현상을 말하며. ?
  • Integrity constraint 데이터 무결성 제약 조건
  • Difficulty in accessing data
    • 데이터 접근의 용이성 제공
  • Data isolation
  • Data Abstraction
    • 데이터 추상화 제공
    • Abstration is the process of separating important ideas from specific instance of those ideas at work
  • Atomicity of updates 갱신 원자성
    • 데이터 갱신이 원자적으로 이루어져야하며, 갱신 연산이 부분적으로 이루어지면 데이터베이스 상태가 불일치 되거나 데이터 베이스 제약 조건이 만족하지 않게 될 수 있다.
  • Concurrent access by multiple users 다수 사용자의 동시성 제어
    • 다수 사용자가 동시에 동일 데이터베이스를 접근하게 되며, 이 경우 DBMS는 사용자에게 동시성 제어 기능을 제공한다.
  • Security problems 데이터 보호
    • 악의적인 데이터 접근으로부터 데이터를 보호하는 기능을 제공한다.

View of Data

  • Data model
    • 데이터, 데이터 관계, 데이터 의미론 및 일관성 제약(무결성 제약 조건) 을 설명하기 위한 개념적 도구 모음.
  • Data abstraction
    • 여러 수준의 데이터 추상화를 통해 사용자로부터 데이터베이스의 데이터를 나타내기 위해 데이터 구조의 복잡성을 숨기세요.

Levels of Abstraction

  • Physical level
    • record가 어떻게 저장되는지
  • Logical level
    • 데이터베이스에 저장되는 데이터와 데이터 사이의 관계
  • View level
    • 응용 프로그램에 데이터 유형의 세부 사항을 숨깁니다. 뷰는 또한 보안 목적으로 정보(예: 직원의 급여)를 숨길 수 있습니다.

Instance and Schema

  • Logical schema 논리적 구조(type)
  • Physical schema 물리적 구조
  • Instance 특정시점에서 데이터베이스의 실제 내용(variable)

Data Independence

데이터 독립성은 물리적 데이터 독립성과 논리적 데이터 독립성으로 구성된다.

  • Logical data independence
    • 뷰 스키마 변화없이 논리적 구조를 변화할 수 있는 기능
    • 개념 스키마가 변경되어도 외부 스키마에 영향을 미치지 않음
  • Physical data independence
    • 논리적 스키마 변화없이 물리적 구조를 변화할 수 있는 기능
    • 내부 스키마가 변경되어도 외부/개념 스키마가 영향을 미치지 않음
  • View Schema

DDL :: Data Definition Language

  • 데이터 스키마 정의부
  • DDL 컴파일러는 Data dictionary 에 저장된 테이블 템플릿 세트를 생성한다.
    • Data dictionary는 metadata를 포함한다.
    • Database schema
    • Integrity constraints
      • primary key
    • Authorization

DML :: Data Manipulation Language

  • Procedural DML 절차적
  • Declarative DML 선언적

Storage Manager

DB에 저장된 low-level data 와 애플리케이션 사이에서 인터페이스를 제공하고 시스템에 쿼리를 수행하는 프로그램 모듈

  • OS 파일 관리자와 상호작용을 한다.
  • 효율적인 저장, 자원회수, 데이터 업데이트를 수행한다.
  • 인증, 무결성 관리자, 트랜잭션 관리자, 파일 관리자, 버퍼 관리자 등이 포함된다.
  • 물리적 시스템 구현의 일환으로 여러 데이터 구조를 구현한다.
    • 데이터 파일 - db 그 자체 저장
    • 데이터 딕셔너리 - 특히 스키마에 관한 메타 데이터 저장
    • 인덱스 - 데이터에 바른 접근을 제공할 수 있다.

Query Processor

  • DDL interpreter
    • DDL 명령어를 해석하고 그 딕셔너리에 그 정의사항들을 기록한다.
  • DML compiler
    • 쿼리 언어로 된 DML 문을 쿼리 평가 엔진이 이해하는 낮은 수준의 지침으로 구성된 평가 계획으로 번역합니다.

Query Processing

  1. Parsing and translation
  2. Optimization
  3. Evaluation

Transaction Management

  • Transaction 은 DB 애플리케이션에서 단일 논리 함수를 수행하는 명령들의 집합니다.
  • Transaction-management component(트랜잭션 관리 구성요소) 는 시스템 오류(예: 정전 및 운영 체제 충돌) 및 트랜잭션 오류에도 불구하고 데이터베이스가 일관된(올바른) 상태로 유지되도록 합니다.
  • Concurrency-control manager(동시성 제어 관리자)는 DB의 일관성을 보장하기위해 동시 트랜잭션 사이의 관계를 관리한다.

Database Architecture

  • 중앙 집중형
    • one to few cores, shared memory
  • 클라이언트-서버
  • 동시성 DB
    • many core shared memory
    • shared disk
    • shared nothing
  • Distributed databases
    • schema/data 의 이질성(heterogeneity)

Database Applications

  • Two-tier
    • 클라이언트에 user,application, 서버에 DB system
  • Three-tier
    • 클라이언트에 user,application client, 서버에 application server, DB system

Database Administrator

디비 설계부터 .. 접근 권한 부여 .. 많은 일을 ..

History of Database Systems

0개의 댓글