밤이라구요

블로그관리

글쓰기

Yesterday

Today

Total

블로그 이미지

밤이라구요

이것저것

블로그 이미지
밤이라구요
2022. 9. 6. 13:40
728x90

Basic Definitions

Data 정보
Database 정보의 집합
Mini-world 정보가 나타내는 세계, 가지고 있는 정보로 알 수 있는 것들
Entity in Mini-world Mini-world에서의 attributes
ex) Mini-world = UNI
Entity1: STUDENT
Entity2: COURSE
Entity3: SECTION
Entity4: INSTRUCTORs
Relationship Entity-Relationships(ER): Entity간의 관계
UML class model
Database Management System 컴퓨터로 저장된 정보를 관리하는 소프트웨어
Database System DBMS+DB

 

Simplified Architecture for a DB system

DB system architecture

View level, Implementation level, Physical level로 구성되어 있다.

Simplified database system environment

 

Simple Example of DB, the Relational model

DBMS faacilitates

DBMS는 다양한 기능들을 제공해야 한다.

  • Define a particular data types, structures, and constraints
  • Construct initial database contents on secondary storage medium
  • Manipulating database; Querying, Modification
  • Processing and sharing by a set of concurrent users and programs, keeping all data valid and consistent
  • Provide authority

 

Application programs and DBMS

Application이 DB에 접근하기 위해서 Query와 Transaction을 이용한다.

Queries Transactions
Data requests Query의 집합으로, DB의 data에 접근하여 Queries를 수행하고 update된 내용을 DB에 반영한다.

 

Main Characteristics of the DB approach

Catalog Program-data independence
Self-describing DB system의 경우, meta data를 함께 저장한다. 이렇게 함으로써 다른 DB application끼리도 작업할 수 있다. Program과 Data가 분리되어 있기에, DBMS access program을 변경하지 않고도 data structure나 storage organizaition을 수정할수 있다.
Data abstraction Multiple view
Data storage 세부사항을 숨기고 data model을 기반으로 conceptual view만 유저에게 제공한다. Data type을 제한할 수 있다. User에게 허락된 data만 보여준다.
Sharing of data and multi-user transaction processing
동시에 여러 user가 DB를 사용할 수 있다. 이 때, data의 일치성이 중요한 데, DBMS는 이를 transaction을 이용해서 관리한다. 대표적으로 OLTP(Online Transaction Processing)을 사용한다. 매초 transaction을 수행하는 방법이다.
예기치 않은 충돌이 일어날 수 있기에, 매 transaction이 완료될 때마다 상태를 저장해 recovery를 수행한다.

 

Simple Example of Catalog

 

Database Users

Front-end Back-end
Database administrators DBA, 관리자로서 권환관리, 모니터링, 에러 수정, 복구 등의 책임이있음 System designers
and implementors
DBMS를 구현하는 사람
Database designers DBD, DB를 참고하여 data structure, constraints, transactions 등을 정의함 Tool developers DB를 활용하기 위한 software를만드는 사람
End-users DB를 이용하는 사람들
Casual: 가끔 필요시  DB에 접근함
Naive: View를 보고 활용함
Operators and
maintenance personnel
실제 동작과 DB HW/SW를 관리하는 사람들
Sophisticated Software package를 이용해 저장된 DB를 이용하는 전문가들  
Stand-alone Personal DB를 유지하는 사람들

 

Advantages of Using the DB approach

  • Data redundancy 관리
    • Sharing of data among multiple users
  • 권한이 없는 data 접근 제한
  • Program object에 지속적인 data 유지 가능
  • Efficient query processing(optimization 등) 가능
  • Backup/Recovery 가능
  • 여러 종류의 interface 제공 가능
  • Data간의 complex relationship 관리 가능
  • Standard 가능
  • Data structure 변경 용이함
  • Scale 관리 유용

 

History of DB technology

Early database applications 1960s 중반, 네트워크 모델이 제안됨에 따라 계층적인 모델이 주로 사용되었다. 여전히 IBM's IMS system이 사용되기도 한다.
Relational model-based systems 1970년에 소개되어 1980s에 주로 사용되었다.
Object-oriented and emerging applications 1980s~1990s에 주로 사용되었으며, CAD와 같은 설계단에서 많이 사용되었다.
Relational model은 object-oriented concept에 통합되어 object-relational DBMSs(ORDBMSs)으로 주로 사용되었다.
Extended relational system은 사용성을 늘린 시스템으로 여러 data type을 사용할 수 있었다.
Data on the Web and e-commerce applications Web은 data를 HTML로 관리하고 있다.
E-commerce의 발전으로 XML(eXtended Markup Language)가새로운 standard로 사용되었다.

 

When not to use a DBMS

  • 금액이 부족한 경우
  • DB가 잘 정의되어 있는 경우
  • DB에 여러 유저가 접근하지 않는 경우
  • Embeded system의 storage가 작은 경우
  • Real-time requirement가 필요한 경우
  • Complexity of data가 잘 정리되어 있지 않은 경우
  • Special operation이 필요한 경우