1. Databases and Database Users

jisu_log·2024년 10월 8일

Database

목록 보기
1/5

* Traditional database applications

: textual or numeric 정보를 저장

* Multimedia databases

: images, audio clips, video streams를 저장

* Geographic information systems (GIS)

: maps, weather data, satellite images를 저장 및 분석

* Data warehouses and online analytical processing (OLAP) systems

: 아주 큰 databases에서 유용한 사업 정보를 추출 및 분석

* Real-time and active database technology


* Database

: related data의 모음
: implicit meaning을 가짐
: Miniworld or universe of discourse (UoD)
: real world의 측면을 보여줌

* DBMS (Database management system)

: 프로그램의 collection
: 데이터베이스 생성 및 유지를 할 수 있게함

* Meta-data

: DBMS에 의해 데이터베이스 카탈로그나 사전의 형태로 저장되는 데이터베이스 정의 or 설명 정보
-> table들의 정보
-> DB의 structure를 묘사

* Manipulating a database

: 데이터베이스 miniworld를 query and update
: reports 생성

* Sharing a database

: 여러 유저와 프로그램이 데이터베이스에 동시 접근 가능

* Application program

: DBMS에 query를 보내서 database 접근

* Query

: 데이터가 검색되도록 함

* Transaction

: 일부 데이터를 읽고 일부 데이터를 DB에 쓰는 작업 수행할 수 O
-> 논리적인 일의 단위
-> ACID(Atomicity, Consistency, Isolation, Durability)

* Protection includes:

  • System protection (hardware or software malfunction 오작동)
  • Security protection (Unauthorized 무단 or malicious 악의적인 access)

* Maintain the database system

: 시간이 지나면서 요구 사항이 변화함에 따라 시스템이 진화할 수 있도록 유지


-> Stored Database Definition(Meta-Data) : 스키마 정보
-> Stored Database : 실제 저장된 data

< DB 접근 방식의 특징 >

* Traditional file processing

: 각 사용자가 특정 소프트웨어 응용 프로그램에 필요한 파일을 정의하고 구현함

* Database Approach

: 단일 저장소(Single Repository)에서 데이터를 한 번 정의한 후 여러 사용자가 해당 데이터를 접근할 수 있도록 유지

1) Self-describing nature of a database system

-> 데이터베이스 시스템이 데이터베이스 자체뿐만 아니라 데이터베이스 structure와 constraints(제약조건)에 대한 완전한 정의(definition) 또는 설명(description)도 포함함

-> Database catalog는 DBMS software와 DB 구조에 대한 정보가 필요한 DB 사용자에 의해 사용됨

2) Insulation(분리) between programs and data, and data abstraction

  • Program-data independence
    : 기존 file system에서는 data 파일의 structure가 application에 embedded되어 있어서 structure가 바뀌면 프로그램도 바뀌어야 됨

  • Program-operation independence
    *Operation은 OODB, ORDB에서 data와 같이 정의되는 method

  • data abstraction
    : program-data independence, program-operation independence를 가능하게 함

  • 데이터의 Conceptual(개념적) 표현을 제공
    : 데이터가 어떻게 저정되는지, 연산이 어떻게 구현되는지에 대한 세부 사항은 포함X

  • Data model
    : 개념적 표현을 제공하기 위해 사용되는 데이터 추상화의 유형


-> 데이터베이스 catalog

3) Support of multiple views of the data

  • View
    : 데이터베이스의 부분 집합(Subset)
    : 데이터베이스 파일에서 파생된 가상 데이터(virtual data)를 포함하지만 명시적으로 저장은 안됨

  • Multiuser DBMS
    : 사용자는 다양한 별개의 응용 프로그램을 가짐
    : 여러 뷰를 정의할 수 있는 기능을 제공해야 함

4) Sharing of data and multiuser transaction processing

  • 여러 사용자가 동시에 데이터베이스에 접근할 수 있도록 허용
  • Concurrency control(동시성 제어) 소프트웨어
    -> 여러 사용자가 동일한 데이터를 업데이트하려 할 때 이를 제어된 방식으로 수행하도록 보장(Lock 이용)
    -> 업데이트의 결과가 올바르게 유지됨
  • 온라인 트랜잭션 처리(OLTP) 애플리케이션
    -> 비행기 좌석 예매 시스템 (여러 에이전트와 여러 고객이 이용)
  • Transaction
    -> 많은 데이터베이스 애플리케이션에서 중심적인 역할을 함
    -> 하나 이상의 데이터베이스를 포함하는 실행 프로그램 또는 프로세스
    -> Isolation property, 격리성 속성
    : 각 트랜잭션은 다른 트랜잭션과 격리되어 실행되는 것처럼 보임(여럿이서 사용 중에도 혼자 사용하는 것처럼)
    -> Atomicity property, 원자성 속성
    : 트랜잭션 내의 모든 데이터베이스 작업이 실행되거나, 아니면 아무 것도 실행되지 않음(all or nothing)

<DBMS 접근 방식 사용의 장점>

* Controlling redundancy(중복 제어)

  • 데이터 정규화
  • Denormalization, 비정규화
    -> 쿼리 성능 향상을 위해 때로는 controlled redundancy 사용이 필요

* Restricting unauthorized access

  • 보안 및 권한 부여 하위 시스템
  • privileged(특권) 소프트웨어 (특정 사람만 사용하는 소프트웨어)

* Providing persistent storage(영구 저장소) for program objects

  • c++의 복잡한 객체는 객체 지향 DBMS에 영구적으로 저장될 수 있음
  • Impedance mismatch problem
    -> 프로그래밍언어와 DB 시스템 간 데이터 표현 방식이 다를 때 발생
    -> 객체 지향 데이터베이스 시스템은 일반적으로 데이터 구조의 Compatibility(호환성)을 제공

* Providing storage structures and search techniques for efficient query processing

  • Indexes
  • Buffering and caching
  • Query processing and optimization

* Providing backup and recovery(복구)

  • Backup and recovery subsystem은 복구를 담당

* Providing multiple user interfaces

  • Graphical user interfaces(GUIs)

* Representing complex relationships among data

  • 다양한 방식으로 상호 연관된 여러 종류의 데이터를 포함할 수 있음

* Enforcing integrity constraints, 무결성 제약 조건 강제

  • Referential integrity constraint, 참조 무결성 제약 조건
    -> 모든 섹션 레코드는 반드시 하나의 코드 레코드와 연관되어야 함

  • Key or uniqueness constraint, 키 또는 고유성 제약 조건

* Permitting inferencing and actions using rules

  • Deductive(추론형) database systems
    -> 추론 규칙을 정의할 수 있는 기능 제공
    -> 저장된 데이터베이스 사실로부터 새로운 정보를 추론

  • Trigger
    -> 테이블 업데이트 시 활성화되는 규칙

  • Stored procedures
    -> 규칙을 강제하기 위한 보다 복잡한 절차

  • 애플리케이션 개발 시간 단축

  • 유연성

  • 최신 정보의 가용성

  • 규모의 경제


< DB 애플리케이션의 역사>

  • 초기: 계층형 및 네트워크 시스템 사용
  • 관계형 DB를 사용한 데이터 추상화 및 애플리케이션 유연성 제공
  • 객체 지향 애플리케이션과 더 복잡한 데이터베이스에 대한 필요성
  • XML을 사용한 웹 상의 데이터 교환과 전자상거래

0개의 댓글