ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Database system
    Database 2021. 3. 16. 23:04

    Database system

    : 데이터를 데이터베이스로 저장 관리하여 정보를 생성하는 컴퓨터 중심 시스템

     

    3 level db

    data languages

    users

    dbms

    database administrator

    database computer

     

    데이터베이스 시스템 구성도

     

    DB의 3단계 표현

    DB에 대한 3단계 관점(View)

    - 개인, 기관전체, 저장장치

    외부 단계

    개념 단계

    내부 단계

     

    스키마: DB의 구조(개체, 관계)와 제약조건(constraints)에 관한 명세

    • 3-level DB 구조에 기반
    • 외부 스키마(external schema)
    • 개념 스키마(conceptual schema)
    • 내부 스키마(external schema)

     

    외부 스키마(external schema)

    • 개개 사용자 관점에서 정의한 DB스키마
    • 전체 DB의 한 논리적인 부분
    • subschema

    개념 스키마(conceptual schema)

    • 범 기관적인 관점에서 정의한 DB스키마
    • 모든 응용에 대한 전체적인 통합된 데이터 구조
    • schema

     

    내부 스키마(internal schema)

    • 저장장치 관점에서 정의한 DB스키마
    • 개념 스키마에 대한 저장구조(storage structure)를 정의

    각각의 스키마는 매핑에 의해 독립성을 갖게 된다.

     

    카탈로그(Catalog)

    • 시스템 내의 모든 객체들에 대한 정의나 명세에 대한 정보를 수록
    • 시스템DB, 메타 데이터베이스
    • DB관리자(DBA)가 사용하는 도구
    • 사용자와 시스템 모두 사용
    • 데이터 사전(data dictionary)이라고도 함

     

    데이터 디렉토리(data directory)

    • DB에 저장된 데이터를 참조(reference)하는데 필요한 정보를 수록
    • 시스템만 사용

     

     

    데이터 언어(data language)

    데이터베이스를 정의, 조작, 제어하기 위한 시스템과의 통신수단

     

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

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

    ex) CREATE TABLE(StudentNumber INT, LastName CHAR(25), FirstName CHAR(25), EmailAddress CHAR(100));

     

    데이터 정의의 내용

    논리적 데이터 구조의 정의

        -스키마, 외부 스키마 명세

    물리적 데이터 구조의 정의

        -내부 스키마 명세

        -데이터 저장 정의어(data storage definition language)

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

     

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

    • 사용자(응용프로그램)와 DBMS 사이의 통신수단
    • 데이터 처리 연산(operations)의 집합(데이터의 검색, 삽입, 삭제, 변경 연산)

    절차적(procedural) DML

    • 저급 데이터언어(low-level data language)
    • what과 how를 명세
    • 한번에 하나의 레코드만 처리
    • 응용 프로그램 속에 삽입(embedded)되어 사용
    • DML예비 컴파일러(precompiler)에 의해 처리

    비절차적(non-procedural) DML

    • 고급 데이터 언어(high-level data language)
    • what만 명세하고 how는 시스템에 위임
    • 한번에 여러 개의 레코드를 처리
    • 질의어(Query Language)
    • 독자적이고 대화식 : command 타입
    • 프로그램의 추상적 표현

    NOTE

    데이터 부속어(DSL, Data SubLanguage)

    • host program 속에 삽입되어 사용되는 DML
    • 비절차적 또는 절차적 DML

    데이터 언어의 완전성(completeness of data language)

    • 사용자가 원하면 어떤 객체도 추출할 수 있고, 관계도 표현할 수 있는 능력

     

     

    ※비절차적 DML 예제(SQL)

     

    질의: Sam의 EmailAddress를 검색하라

    SELECT EmailAddress
    FROM STUDENT
    WHERE FirstName = 'Sam';
    ▶Sam.Cooke@OutU.edu

     

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

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

     

    데이터 제어 내용

    • 데이터 보안
    • 데이터 무결성
    • 데이터 회복
    • 병행수행

     

    DB관리 목적으로 DBA가 사용한다.

     

    ※DCL예제(SQL)

     

    (DBA가) user1에게 STUDENT테이블에 대한 검색(select)권한을 부여하라

    GRANT SELECT ON STUDENT TO user1;

     

    데이터 언어(SQL)

    DDL

    • CREATE 생성
    • ALTER 수정
    • DROP 제거

    DML

    • SELECT 검색
    • INSERT 삽입
    • UPDATE 갱신
    • DELETE 삭제

    DCL

    • 권한부여 GRANT, REVOKE
    • 무결성 CHECK
    • 회복 COMMIT, ROLLBACK
    • 병행제어 LOCK, UNLOCK

     

    사용자(Users)

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

     

    일반 사용자(end user)

    • 비절차적 DML(query language)을 통해서 데이터베이스를 접근
    • menu, form, graphics
    • 데이터의 insertion, deletion, update, retrieval

    응용 프로그래머(application programmer) 

    • 응용 프로그램(host언어 + DML(DSL))을 통해서 DB를 접근
    • host 언어 : PL/I, COBOL, PASCAL, C, Java

    DB관리자(DBA)

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

     

     

     

    'Database' 카테고리의 다른 글

    관계 데이터베이스  (0) 2021.03.23
    DBMS(2)  (0) 2021.03.23
    데이터 독립성, DBMS의 발전과정  (0) 2021.03.15
    DBMS  (0) 2021.03.14
    Database 정의,특성,구성요소,구조  (0) 2021.03.14
Designed by Tistory.