본문 바로가기
Computer Science/DataBase

[데이터베이스] 1장 데이터베이스 시스템 (2)

by na1-4an 2023. 10. 10.

1-4 DBMS 언어

1. 데이터 정의어(DDL: Data Definition Language)  - 

: 데이터 베이스 스키마 정의. DDL이 입력되면 DBMS는 사용자가 정의한 스키마 명세를 시스템 카탈로그에 저장.

  - DDL의 기본 기능(4): 데이터 구조 생성(CREATE TABLE)/ 변경(ALTER TABLE)/

                     삭제(DROP TABLE)/ 데이터 접근을 위해 특정 애트리뷰트 위에 인덱스 정의(CREATE INDEX)

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

: 데이터베이스 내의 원하는 데이터를 조작.

  - 종류(2): 절차적 언어(C, JAVA), 비절차적언어(SQL,  절차를 안 알려줘도 스스로 처리.)

  - 특징(2): SUM과 같은 내장 함수를 가짐./ 대화식 입력 or 고급프로그래밍 언어로 작성된 프로그램에 내포됨.

  - DML의 기본 기능(4): 데이터 검색(SELECT), 수정(UPDATE), 삭제(DELELTE), 삽입(INSERT)

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

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

 

1-5 DBMS 사용자

1. 데이터 베이스 관리자(DBA: Database Administrator)

: 조직들의 상이한 요구를 만족시키기 위해, 일관성있는 데이터 베이스 스키마를 생성하고 유지하는 사람.

  - 역할(6)

  • 데이터베이스 스키마의 생성과 변경
  • 무결성 제약조건을 명시(범위, 데이터 타입 명시*+6)
  • 사용자의 권한을 허용하거나 취소
  • 저장구조와 접근방법(물리적 스키마) 정의
  • 백업과 회복
  • 표준화 시행(코드의 표준화)

2. 응용 프로그래머

: 데이터베이스 위에서 특정 응용이나 인터페이스를 구현하는 사람.

  - 특징: 이들이 작성한 프로그램은 최종 사용자들이 반복해서 수행하므로 기작성 트랜잭션(canned transaction)라고 함.

3. 최종 사용자

: 데이터베이스를 사용하는 사람. 

  - 종류(2): 캐주얼 사용자(데이터베이스 질의어로 매번 다른 정보를 찾음)/ 초보 사용자(기작성 트랜잭션 반복 수행)

4. 데이터베이스 설계자

: CASE도구들을 이용해 데이터베이스 설계. 데이터 베이스의 일관성을 유지하기 위해 정규화를 수행.

5. 오퍼레이터

: DBMS가 운영되고 있는 컴퓨터 시스템과 전산실을 관리하는 사람

 

1-6 ANSI/SPARC 아키텍처와 데이터 독립성

1. ANSI/SPARC 아키텍처란?

: 사용자에게 추상적인 뷰를 제공하는 것. 외부단계, 개념 단계, 내부 단계로 나뉨

2. ① 외부 단계

: 각 사용자의 뷰.

  - 동일한 개념 단계로부터 , 다수의 서로 다른 뷰가 제공될 수 있

  - 최종 사용자와 응용 프로그래머들은 데이터베이스의 일부분에만 관심을 가짐.

     (경리과에서는 학생들의 수강에 대해는 관심이 없음.)

  - 동일한 데이터에 대한 서로 다른 표현들을 제공할 수 있음.

3. ② 개념 단계

: 사용자 공동체의 뷰

  - 조직체 전체에 관한 스키마 포함.

  - 데이터 베이스마다 오직 1개의 개념 스키마가 존재.

  - 데이터 간에 어떤 관계가 존재하고, 어떤 무결성 제약조건들이 명시되어 있는지를 기술.

(+ 개념단계 비유: 지하철 전체 노선도, 외부단계 비유: 1호선만 표시된 지하철 노선도)

4. ③ 내부 단계

: 물리적 또는 저장 뷰

  - 실제의 물리적인 데이터 구조에 관한 스키마.

  - 개념 스키마에는 영향을 미치지 않으면서 성능을 향상시키기 위해 내부 스키마를 변경하는 것이 바람직

  - 내부 단계 아래에는 물리적 단계가 존재.(DBMS의 지시에 따라 운영체제가 관리.)

5. 스키마 간의 사상(mapping)(2)

  - 외부/개념 사상: 외부 단계 뷰로 입력된 사용자의 질의를  개념 단계의 스키마를 사용한 질의로 변환.

  - 개념/내부 사상: 내부 단계의 스키마로 변환하여 디스크의 데이터베이스를 접근

6. 데이터 독립성(2)

  - 논리적인 데이터 독립성: 개념 스키마의 변화로부터 외부 스키마가 영향을 받지 않음을 의미.

  - 물리적인 데이터 독립성: 내부 스키마의 변화로부터 개념 스키마가 영향을 받지 않음을 의미.

 

1-7 데이터베이스 시스템 아키텍처

1. 데이터베이스 시스템의 간단한 아키텍쳐(4)

  - 데이터 정의어 컴파일러 모듈: DDL로 테이블 생성 요청 → 데이터베이스에 테이블 생성, 시스템 카탈로그에 명세 저장.

  - 질의 처리기 모듈: 데이터 조작어를 수행하는 최적의 방법을 찾고  기계어 코드로 번역

  - 런타임 데이터베이스 관리기 모듈: 디스크에 저장된 데이터베이스를 접근

  - 트랜잭션 관리 모듈: 동시성 제어 모듈, 회복 모듈(항상 둘 다 가지고 있어야함. 일관성 유지에 필요)

2 .데이터베이스 API

ex. ODBC(Open Database Connectivity): MS에서 개발함. ODBC를 지원하는 DBMS끼리는 서로 db 접근 가능.

3. 데이터 베이스 시스템 종류(3)

  ① 중앙 집중식 데이터베이스 시스템: 데이터 베이스 시스템이 하나의 컴퓨터 시스템에서 운영됨

  ② 분산 데이터베이스 시스템: 데이터베이스와 데이터베이스 시스템이여러 컴퓨터 시스템에서 운영됨. 다른 사이트에 저장된 데이터베이스도 접근할 수 있음.

       - 종류(2): 동질적(Homegeneous)-DBMS회사 통일/ 이질적(Heterogeneous)-DBMS회사 통일 안함.

  ③ 클라이언트-서버 데이터베이스 시스템

       - 서버(8): db 저장. dbms 운영. 질의 최적화. 권한 검사. 동시성 제어. 회복 기능. 무결성 유지. DB 접근 관리

       - 클라이언트: 사용자 인터페이스 관리.

       - 종류(2):

             - 2층 모델: 클라이언트 - 서버

             - 3층 모델: 클라이언트 - 응용 서버 - 서버

       - 장점(2): 데이터베이스를 보다 넓은 지역에서 접근할 수 있음/ 다양한 컴퓨터 시스템 사용할 수 있음

       - 단점(1): 보안이 다소 취약할 수 있음.

   + 클라이언트 - 서버 시스템에서 Application Logic(3)

      - Presentation Logic(2): GUI Interface

          : 입력(키보드, 마우스 등), 출력(모니터, 프린터 등)

      - Processing Logic(3): Produres, functions, programs

          : I/O processing, Business rules,(기업의 규칙), Datamanagement

      - Storage Logic(1): DBMS activities

          : Data storage/retrieval

   + 파일서버구조 → 데이터베이스 구조   3층 모델 구조 순서로 클라이언트가 하는 일이 작아짐