데이터베이스 1.DBMS

ttomy·2022년 3월 8일

DB수업

목록 보기
1/2

DB,DBMS,DBS

-db: data의 모음
dbms: db management system, db를 관리하는 시스템
dbs: DB시스템, DB+DBMS를 통칭

하지만 3가지를 혼용해 쓰기도 한다.

DB시스템 이점

  • 데이터 추상화 제공
  • 데이터 접근의 용이성 제공
  • 데이터 중복 및 불일치성에 대한 제어 용이
  • 데이터 무결성 제약조건(IC) 유지 용이
  • 갱신 원자성 제공
  • 다수 사용자의 동시성 제어
  • 데이터 보호
  • 데이터 백업,회복

화일 시스템

운영체제에는 파일 시스템이 존재한다.
DBMS은 운영체제의 파일 시스템을 활용하여 구현된다.
이 경우 DBMS는 운영체제의 파일 프로세스 중 하나가 된다.

1.2 데이터 추상화 및 데이터 모델

인스턴스 및 스키마

스키마: 데이터베이스의 논리적or물리적 구조. 데이터의 구조체
인스턴스: 스키마의 형태로 실제로 저장,관리되는 실제 데이터의 값

추상화: 사물에 대한 인스턴스들에서 중요한 개념을 분리하는 프로세스.
추상화의 레벨을 고려해야 한다.

데이터의 추상화: 데이터는 disk에 한번 존재한다.
데이터의 존재를 기술하는 3가지 추상화된 레벨
-view level
-logical level
-physical level

뷰 레벨에서는 논리적 레벨의 내용들을 사용자의 관심사에 따라 부분적으로노출한다.

데이터 독립성

상위 레벨의 스키마는 하위 레벨의 변경으로부터 자유롭다.
EX) 논리적 레벨에서의 변경 없이 물리적 레벨의 변경이 발생할 수 있다. 이로인해 사용자는 하위 레벨의 변화와 관계없이 일정한 서비스를 제공 받는다.

DBMS는 이 레벨 간의 분리와 매핑도 지원한다.

데이터 모델

데이터 모델

데이터 모델은 데이터의 특징을 기술하는 명세,개념적 도구이다.
데이터를 기술하는 일정형식이다.

  • 관계형 데이터 모델
  • object-relational data model
  • ER모델
  • XML
    등이 있다.

관계형 모델 예제

일반적으로 인식하는 테이블 형식

객체 관계형 데이터 모델

관계형 모델에 객체지향적 요소를 도입.

XML

원래 문서 마크업 언어로 개발되었으나 현재는 문서교환을 의한 표준기술로 널리 사용된다.

DB설계

DB의 구조를 설계 하는 것. DB의 성능에 큰 영향을 미친다.

DB설계 방식

-ER모델
-정규화

ER다이어그램

1.3 DB Sysyems

DB 언어

QUEL,SQL,algebra 등이 있었자만 요새는 거의 sql

-sql 예
select name
from professor
where pID='22222'

보통 프로그램이 DB에 접속함
방법 3가지

  • proccedure extension of sql
  • 프로그램 언어의 embedding SQL
  • api(JDBC,ODBC)

DBMS component와 구조

dbms는 굉장히 크고 복잡한 소프트웨어지만 개념적으로 크게 2 파트 있음.

  • query processor
    쿼리 처리, 인증,허가 등 작업
  • storage manager
    효율적 저장,데이터 수정
    파일 집단화, indexing and hashing
    트랜잭션 관리 등

-간략화된 DB시스템 구조

data dictionary

메타 데이터를 관리함

메타 데이터: 데이터에 대한 데이터
-db 스키마 -통계데이터
-통합 제약들 -허가

트랜잭션 관리

트랜잭션: db 기능들의 순서들.
주요 이슈: 동시성 관리, 회복(트랜잭션 중간에 끊기면 이전 상태로 돌리기)

db사용자

Naive users(db의 구조를 모르고 쓰기만 함, 일반 사용자들)
프로그램 프로그래머, db 디자이너(schema만듦), db 분석가, db 관리자(DBA)

DBA가 하는 일

  • db시스템의 최종 책임자
  • db의 모든 활동 조직화.
  • 스키마 정의
  • 저장구조, 액세스 방법 정의
  • 사용자 권한 부여
  • 통합 제약 구체화 등

DB시스템 구조

db가 어디에 위치하냐에 따라 달라질 수 있음

  • 중앙화

  • distributed

  • client-server

  • parallel(multi- processor)

DB시스템의 역사

0개의 댓글