• 데이터 베이스 개요

    2017. 6. 26. 18:22

    by. 위지원

    데이터 베이스 배움터 -홍의경을 보고 공부한 내용


    데이터 베이스란

    -어떤 조직체에 관련된 사실들을 수집한 데이터

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

    -데이터 베이스 스키마(자주변하지않음)는 내포 데이터베이스 상태(자주 변함)는 외연이라고 부름


    시스템 카탈로그(데이터 사전)

    -저장된 데이터 베이스의 스키마 정보를 유지


    DBMS

    -사용자가 데이터를 효율적으로 질의,수정할 수 있도록 함

    -권한이 없는 사용자,시스템고장으로부터 데이터 보호

    -데이터베이스 동시 접속 제어

    -소프트웨어 패키지

    -데이터베이스 언어라고 부르는 특별한 프로그래밍 언어를 한 개 이상 제공

    -한 DBMS에서 여러 데이터 베이스를 관리


    DBMS장점

    -중복성과 불일치 감소

    -보다 나은 서비스 제공

    -프로그램-데이터 독립성 향상

    -개발,유지 비용 감소

    -표준화 시행 용이

    -보안 향상

    -무결정 향상

    -조직체의 요구사항을 식별

    -다양한 유형의 고장으로부터 데이터 베이스를 회복할 수 있음

    -다양한 도구 활용

    -데이터 베이스의 공유와 동시 접근이 가능


    DBMS단점

    -DBMS의 자체 구입 비용이 상당히 비쌈

    -DBMS가 자동적으로 DB의 일관성을 유지하기 위해 컴퓨터 자원을 많이 필요로 하여 응답시간이 오래걸림

    -백업과 회복의 복잡도도 높고 역설적으로 중앙 집중과 관련된 문제가 발생

    -다수 사용자의 접근으로 인해 프라이버시 노출

    -데이터 갱신 사용자들을 제어해야 함


    그러므로! 


    1. 초기의 투자비용이 너무 큼
    2. 오버헤드가 너무 큼
    3. 응용이 단순하고 잘 정의 되었으며 변경되지 않음
    4. 엄격한 실시간 처리 요구사항 존재
    5. 데이터에 대한 다수 사용자 접근 불필요


    할땐 DBMS를 사용하지 않는 것이 바람직할 수 도 있음!



    데이터 모델

    -고수준(개념적) 데이터 모델 : 사람이 인식하는 것과 유사하게 데이터베이스의 전체적인 논리적인 구조를 명시 (Ex. entity-Relationship)

    -표현(구현) 데이터 모델 : 최종 사용자가 이해하는 개념이면서 컴퓨터 내에서 데이터가 조직되는 방식과 멀리 떨어지지 않음


    1)계층 데이터 모델 : 

    ㄱ.데이터 접근을 미리 응용프로그램에 정의해야함

    ㄴ.생성시 관계정의도 미리해야함

    ㄷ.레코드 구조 변경도 어렵고 응용프로그램 수정도 어려워 데이터 독립성이 매우 제한적 

    ㄹ.질의어가 절차적이라서 한개의 레코드를 검색 할 수 있음


    2)네트워크 데이터 모델

    ㄱ.레코드 구조 변경도 어렵고 응용프로그램 수정도 어려워 데이터 독립성이 매우 제한적 

    ㄴ.질의어가 절차적이라서 한개의 레코드를 검색 할 수 있음



    3)관계형 데이터 모델

    ㄱ.모델이 간단하여 이해하기 쉬움

    ㄴ.데이터의 위치와 접근방법을 dbms가 결정


    -저수준(물리적) 데이터 모델 : 시스템이 인식하는것과 같은데,db에 data가 어떻게 저장되는가를 기술 (Ex. ISAM,VSAM)



    DBMS 언어

    -DDL(데이터 정의어) : CREATE,ALTER,DROP,CREATE INDEX

    -DML(데이터 조작어) : SELECT,UPDATE,DELETE,INSERT

    -DCL(데이터 제어어) : 트랜잭션 명시, 권한 부여 또는 취소


    ANSI/SPARC 3단계 아키텍처

    -외부 단계 : 각 사용자의 뷰

    -개념 단계: 사용자 공동체의 뷰 - 조직체의 정보 모델 조직체 전체에 관한 스키마

    -내부 단계: 물리적 또는 저장 뷰

    **각 하위단계는 상위단계에 영향을 미쳐서는 안됨 

    -외부/개념 사상 : 외부 단계의 뷰를 사용해 질의를 개념단계의 스키마를 사용한 질의로 변환 

    -개념/내부 사상 : 변환된 질의를 내부 단계의 스키마로 변환하여 디스크의 DB에 접근


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

    -물리적 데이터 독립성 : 내부 스키마의 변화가 개념적 스키마,외부스키마에 영향을 미치지 않음


    출처 url 

    https://zetawiki.com/wiki/%EA%B4%80%EA%B3%84%EB%AA%A8%EB%8D%B8,_%EA%B4%80%EA%B3%84%ED%98%95DB


    '2017년 > Database' 카테고리의 다른 글

    DB Browser for SQLite  (0) 2017.07.05
    sas university edition을 사용해보자  (0) 2017.06.29
    sqlite란 2부  (0) 2017.06.29
    데이터 베이스 설계 1부  (0) 2017.06.26
    sqlite란 1부  (0) 2017.06.25