BlueHarmel
BlueHarmel Devlog
BlueHarmel
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (330)
    • Book (11)
    • Dev (29)
      • ArtCon (0)
      • ESTsoft 오르미 (29)
    • Study (290)
      • Web (18)
      • AWS (2)
      • 알고리즘 (1)
      • GameDev (1)
      • 정보처리기사 (201)
      • English (1)
      • Mathematics (24)
      • 머신러닝 (7)
      • 딥러닝 (10)
      • 네트워크 보안 (5)
      • R (4)
      • 컴퓨터 네트워크 (6)
      • 데이터베이스 (8)
      • 데이터 통신 (0)
      • 운영체제 (2)
      • TIL (0)
    • Project (0)
      • 개인 (0)
      • 단체 (0)

인기 글

hELLO · Designed By 정상우.
BlueHarmel

BlueHarmel Devlog

데이터베이스 3. 데이터베이스 시스템의 구성
Study/데이터베이스

데이터베이스 3. 데이터베이스 시스템의 구성

2023. 10. 15. 16:11

데이터베이스 시스템(DBS) : 데이터를 데이터베이스로 저장하고 관리해서 필요한 정보를 생성하는 컴퓨터 중심의 시스템

데이터베이스 관리 시스템 (DBMS) : 데이터베이스 시스템을 구성하는 주요 요소들의 일부

 

구성 요소

1. 3단계 데이터베이스

2. 데이터 언어

3. 사용자

4. DBMS

5. Database Administrator

6. Database Computer

1. 3단계 데이터베이스

- 스키마 (Schema) : 데이터베이스 구조와 제약조건에 대한 명세를 기술한 것

1. 외부 스키마 (일부를 기술) : 데이터베이스 사용자나 응용 프로그래머가 접근하는 데이터베이스 (데이터베이스 전체의 한 논리적 부분이 되기때문에 서브 스키마라고도 부른다.)

2. 개념 스키마 (논리적 구조를 기술) : 범 기관적 입장에서 데이터베이스를 정의한 것

3. 내부 스키마 (물리적 구조를 기술) : 저장 장치의 입장에서 데이터베이스 전체가 저장되는 방법을 명세한 것 (물리적 단계보다 한단계 위에 있다.)

- 외부/개념 사상 : 특정 외부 스키마와 개념 스키마 간의 대응관계를 정의 (응용 인터페이스) - 논리적 데이터 독립성 제공

- 개념/내부 사상 : 개념 스키마와 내부 스키마간의 대응 관계를 정의 (저장 인터페이스) - 물리적 데이터 독립성 제공

 

- 시스템 카탈로그 (데이터 사전) : 데이터베이스에 저장되어 있는 모든 데이터 개체들에 대한 정의나 명세에 관한 정보를 유지 관리하고 있는 시스템

주로 시스템에 의해 사용되므로 시스템(메타) 데이터베이스라고 불리지만, DBA도 사용할 수 있다.


- 데이터 디렉토리 : DB에 저장된 데이터를 참조하는데 필요한 정보를 수록

시스템만 사용

 

- 메타 데이터 : 데이터에 관한 데이터 (스키마 정보) 

2. DBMS

DBMS는 DB를 관리하고 사용자가 요구하는 모든 연산을 수행한다

1. 사용자가 표현한 데이터베이스 접근 요구(질의/Query)를 접수/분석

2. 시스템이 이해할 수 있는 형태(절차적)로 사용자 요구를 변환

3. 외부/개념/내부/저장 구조 간의 사상을 수행하여 저장데이터를 접근

4. 저장 DB에 대해 필요한 연산을 실행

3. 데이터 언어

데이터 정의어 (DDL : Data Definition Language) - 스키마를 기술하고 정의

- 데이터베이스 구조를 정의하고 변경하는데 사용

- 데이터 정의의 내용

1. 논리적 데이터 구조의 정의 : 스키마, 외부 스키마 명세

2. 물리적 데이터 구조의 정의 : 내부 스키마 명세, 데이터 저장 정의어 (DSDL)

3. 논리적 데이터 구조와 물리적 데이터 구조간의 사상을 정의

 

데이터 조작어 (DML : Data Manipulation Language)

- 사용자가 DBMS로 하여금 원하는 데이터를 처리하게끔 명세하는 도구 (검색, 삽입, 삭제, 변경)

- 사용자와 DBMS간의 인터페이스를 제공

1. 절차적 DML : 사용자가 무슨 데이터를 원하며 어떻게 그것을 접근하여 처리해야되는지를 명세해야하는 저급 데이터 언어

- DB 내부에서 사용

- 한번에 하나의 레코드만 처리

- 응용 프로그램 속에 삽입되어 사용

- DML 예비 컴파일러에 의해 처리

2. 비절차적 DML : 사용자가 무슨 데이터를 원하는지만 명세하고 그것을 어떻게 접근하여 처리할 것인가는 DBMS에 위임하는 고급 데이터 언어 (SQL)

- 한번에 여러개의 레코드를 처리

- 질의어 (Query Language)

  - 독자적이고 대화식 : command 타입

  - 프로그램의 추상적 표현

- 데이터 부속어 (DSL, Data Sublanguage)

  - Host Program 속에 삽입되어 사용되는 DML

  - 비절차적 또는 절차적 DML

- 데이터 언어의 완전성 : 사용자가 원하는 데이터베이스의 어떤 객체도 추출할 수 있고, 처리할 수 있으며, 어떤 연산도 표현할 수 있는 데이터언어의 능력

 

데이터 제어어 (DCL : Data Control Language)

- 공용 데이터베이스 관리를 위해 데이터 제어를 정의하고 기술

- 데이터 제어 내용 : 

1. 데이터 보안

2. 데이터 무결성

3. 데이터 회복

4. 병행수행

DB 관리 목적으로 DBA가 사용

4. 사용자

데이터베이스를 이용하기위해 접근하는 사람

1. 일반 사용자 : 

- 비절차적 DML(Query)을 통해서 데이터베이스를 접근

- menu,form, graphics 등의 사용자 인터페이스 이용

- 데이터의 insertion, deletion, update, retrieval

2. 응용 프로그래머 : 

- 응용 프로그램 (host 언어 + DML(DSL))을 통해서 DB를 접근

- Host 언어 : PL/I, COBOL, PASCAL, C, JAVA

 

3. DBA : 

- DDL과 DCL을 통해 DB를 정의하고 제어하는 사람

5. 데이터베이스 관리자

- DB 시스템의 관리, 운영에 대한 모든 책임을 지는 사람

- DB 설계와 운영

  - DB의 구성요소를 결정

  - 스키마 정의

  - 저장 구조와 접근 방법 설정

  - 보안 정책 수립, 권한부여, 유효성 검사

  - 백업, 회복 절차의 수립

  - DB의 무결성 유지

  - 성능 향상과 새로운 요구에 대응한 DB의 재구성

  - Catalog의 유지 관리

- 행정 및 불평 해결

  - 데이터의 표현과 시스템의 문서화에 표준 설정

  - 사용자의 요구 및 불평 해결

- 시스템 감시(monitoring) 및 성능 분석

  - 시스템 성능의 청취

  - 자원의 이용도, 병목현상, 장비 성능 등

  - 사용자 요구의 변화, 데이터 사용 추세, 각종 통계의 종합 분석

6. 하드웨어

DB 기능만을 효율적으로 수행하기 위한 특수 목적의 하드웨어

- Backend Computer

- 지능형 저장장치

- 내용식 메모리

- 병렬 처리

DBMS는 외부 스키마에 직접 접근하지 않는다. 개념스키마로 변환하고, 내부 스키마로 변환 후 접속한다

사용자는 외부 / 개념 스키마를 이용

저작자표시 비영리 변경금지 (새창열림)

'Study > 데이터베이스' 카테고리의 다른 글

데이터베이스 6. SQL  (0) 2023.10.22
데이터베이스 5. 관계대수와 관계해석  (0) 2023.10.22
데이터베이스 4. 관계 데이터베이스  (0) 2023.10.16
데이터베이스 2. 데이터베이스 관리 시스템과 구성  (0) 2023.10.15
데이터베이스 1. 데이타베이스 환경  (0) 2023.09.18
    BlueHarmel
    BlueHarmel
    Interested in Mathematics, Foreign Language, and "Programming"

    티스토리툴바