[DB] 1. 데이터베이스 시스템

Cherish·2023년 10월 14일
0

DataBase

목록 보기
1/7
post-thumbnail

🍏 DataBase

조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임이다. 데이터베이스의 구조는 사용되는 데이터 모델에 의해 결정된다.


✅ DataBase의 특징

  • 데이터의 대규모 저장소, 여러 부서에 속하는 여러 사용자에 의해 동시에 사용된다.
  • 모든 데이터가 중복을 최소화하면서 통합된다
  • 데이터베이스는 한 조직체의 운영 데이터뿐만 아니라 그 데이터에 관한
    설명(데이터베이스 스키마 또는 메타데이터(metadata))까지 포함.
  • 프로그램과 데이터 간의 독립성이 제공됨
  • 효율적으로 접근이 가능하고 질의를 할 수 있음

✅ DBMS

= Database Management System
= 데이터베이스 관리 시스템

  • 데이터베이스를 정의하고, 질의어를 지원하고, 리포트를 생성하는 등의 작업을 수행하는 소프트웨어
  • DBMS 선정 시 고려 사항
    • 기술적 요인 : 데이터 모델 / UI / 언어 등
    • 경제적 요인
  • 컴퓨터 시스템에서 DBMS 위치
  • 장점
    • DB의 공유와 동시 접근 가능
    • 중복성, 불일치 감소
    • 유지 비용 감소 / 보안 향상
    • 무결성 향상 / 회복 기능
  • 단점
    • 비용 ( HW 구입비, DBMS 구입비, 직원 교육 )
    • 프라이버시 노출

✅ DataBase 스키마

  • 전체적인 데이터베이스 구조
  • 모든 가능한 상태를 미리 정의
  • 내포(intension)

✅ DataBase 상태

  • 특정 시점의 DB 내용
  • 시간이 지남에 따라 계속 바뀐다
  • 외연(extension)

✅ DBS의 구성요소

  • DBS = Database System
  • 시스템 카탈로그 : 저장된 데이터베이스의 스키마 정보를 유지

✅ DBS의 요구사항

  • 데이터 독립성
  • 효율적인 데이터 접근
  • 데이터에 대한 동시 접근
  • 백업과 회복
  • 중복을 줄이거나 제어하며 일관성 유지
  • 데이터 무결성
  • 데이터 보안
  • 쉬운 질의어
  • 다양한 사용자 인터페이스

✅ File System vs DBMS

File System

  • 데이터 관리
    • 기본적 구성요소 : 순차적 레코드들
    • 레코드 : 연관된 필드들의 모임
    • 데이터에 대한 응용프로그램의 의존도가 높다
      파일에 접근하는 방식이 응용 프로그램 내에 상세하게 표현되어 있어서
  • 단점
    • 데이터가 많은 파일에 중복되어 저장된다
    • 다수 사용자들을 위한 동시성 제어가 제공 XX
    • 질의어 제공 X
    • 보안 X / 회복 기능 X
    • 프로그램-데이터 독립성 X -> 유지보수 비용

DBMS

  • 데이터 관리
    • 프로그램 - 데이터 독립성
    • 여러 사용자와 응용 프로그램들이 DB 공유
    • 사용자의 질의를 빠르게 수행할 수 있도록 함
    • 보안 / 다양한 인터페이스 / 회복 기능
    • 무결성 제약 조건 자동 유지



🍏 데이터 모델

  • 데이터베이스의 구조(데이터 타입과 관계) + 연산자들 + 무결성 제약조건들
  • 사용자에게 내부 저장 방식의 세세한 사항은 숨기면서 데이터에 대한 직관적인 뷰를 제공하는 동시에 이들 간의 사상을 제공

✅ 데이터 모델 - 분류

  • 고수준 또는 개념적 데이터 모델
    사람이 인식하는 것과 유사하게 데이터베이스의 전체적인 논리적 구조를 명시
    ex) 엔티티-관계(ER) 데이터 모델
  • 표현(구현) 데이터 모델
    최종 사용자가 이해하는 개념
    ex) 관계 데이터 모델
    DB에 데이터가 어떻게 저장되는가를 기술
  • 저수준 또는 물리적인 데이터 모델

✅ DBMS 발전 과정


  • 계층 DBMS
    one-to-many는 잘처리 / many-to-many 잘 처리 X

  • 네트워크 DBMS

  • 관계 DBMS
    모델이 간단하여 이해하기 쉽다
    ex) 오라클, MS SQL Server, Sybase, DB2, Informix
  • 객체 지향 DBMS
    ex) ONTOS, OpenODB, GemStone, ObjectStore, Versant, O2

  • 객체 관계 DBMS
    ex) 오라클, Informix Universal Server


✅ 현대의 관계 DBMS



🍏 DBMS 언어


데이터 정의어(DDL)

  • 데이터 스키마 정의
  • 기능

데이터 조작어(DML)

  • 데이터베이스 내의 원하는 데이터를 검색 / 수정 / 삽입 / 삭제
  • SQL : 비절차적 언어
  • 기능

데이터 제어어(DCL)

  • 데이터베이스 트랜잭션을 명시하고 권한을 부여하거나 취소



🍏 DBMS 사용자



🍏 ANSI/SPARC 아키텍처


✅ ANSI/SPARC 3단계 아키텍처

  • 외부 단계 : 각 사용자 뷰
  • 개념 단계 : 사용자 공동체의 뷰
  • 내부 단계 : 물리적 또는 저장 뷰


✅ 외부 단계

  • 각 사용자가 갖는 뷰
  • 최종 사용자와 응용 프로그래머들은 데이터베이스의 일부분에만 관심을 가진다.

✅ 개념 단계

  • 사용자 공동체의 뷰
  • 물리적인 구현은 고려 X
  • 조직체 전체에 관한 스키마 포함
  • 어떤 데이터가 저장되어있고, 데이터 간의 관계와 무결성 제약조건들을 기술

✅ 내부 단계

  • 실제의 물리적인 데이터 구조에 관한 스키마
  • 어떤 데이터가 어떻게 저장되어 있는가
  • 개념 스키마에는 영향을 미치지 않으면서 성능을 향상시키기 위해 내부 스키마를 변경하는 것이 바람직
  • 내부 단계 아래 : 물리적 단계 (OS가 관리)



🍏 데이터 독립성

= 상위 단계의 스키마 정의에 영향을 주지 않고 스키마를 변경 가능한 것


논리적인 데이터 독립성

개념 스키마 <-> 외부 스키마

  • 개념 스키마의 변화로부터 외부 스키마가 영향 받지 않는 것
  • 외부 스키마에 영향을 미치지 않고, 응용 프로그램을 다시 작성할 필요 없이 개념 스키마에 대한 변화가 가능해야 한다

물리적인 데이터 독립성

개념 스키마 <-> 내부 스키마

  • 내부 스키마로부터 개념 스키마가 영향 받지 않는 것. 외부 스키마도 영향 X
  • 내부 스키마 변화 ex)
    파일의 저장구조를 바꾸거나 인덱스 생성 및 삭제



🍏 DBS 아키텍쳐


✅ 중앙 집중식 DBS

DBS가 하나의 컴퓨터 시스템에서 운영


✅ 분산 DBS

네트워크로 연결된 여러 사이트에 데이터베이스 자체가 분산 / 사용자는 다른 사이트에 저장된 데이터베이스도 접근할 수 있다


✅ 클라이언트-서버 DBS

  • DB가 하나의 DB서버에 저장되어 있다
  • DBS의 기능이 서버와 클라이언트에 분산된다
  • 장점 : 보다 넓은 지역에서 접근 가능 / 다양한 컴퓨터 시스템 사용 가능
  • 단점 : 보안 취약

업로드중..

0개의 댓글

관련 채용 정보