ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터베이스 시스템
    Engineering WIKI/Database 2019. 1. 19. 11:27

    [데이터베이스의 특징]

    * 실시간 접근성 : 데이터베이스는 실시간으로 서비스된다. 사용자가 데이터를 요청하면 수 초 내에 결과를 서비스한다

    * 계속적인 변화 : 데이터베이스에 저장된 내용은 한 순간의 상태이지만, 데이터 값은 시간에 따라 항상 바뀐다.

    *동시공유 : 데이터베이스는 서로 다른 업무, 여러 사용자에게 동시에 공유된다. (병행 = parallel)

    * 내용에 따른 참조 : 데이터베이스에 저장된 데이터는 물리적인 위치가 아니라 값에 따라 참조된다.


    [데이터베이스 시스템의 구성]

    * DBMS : 사용자와 데이터베이스를 연결시켜주는 소프트웨어

    * 데이터베이스 : 데이터를 모아둔 토대

    * 데이터 모델 : 데이터가 저장되는 기법에 관한 내용


    일반적으로 데이터들은 데이터베이스에 저자오디어 있습니다. 그런데 그러한 데이터를 어떻게 저장할 것인가를 의미하는 것이 데이터 모델이고, 개발자가 데이터베이스로부터 데이터를 꺼내오기 위해서 데이터베이스와 연결을 시켜주는 소프트웨어가 DBMS(DataBaseManagementSystem)이다.


    [파일 시스템과 비교한 DBMS의 장점]




    [DBMS의 기능]

    * 데이터 정의(Definition) : 데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행함

    * 데이터 조작(Manipulation) : 데이터를 조작하는 프로그램이 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원함

    * 데이터 추출(Retrieval) : 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출함

    * 데이터 제어(Control) : 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어함, 백업과 회복, 동시제어성 등을 지원


    데이터 정의 와 데이터 조작의 차이

    * 데이터 정의는 데이터 구조(Table)에 대해서 작업을 하는 것이고 데이터 조작은 Table에 들어있는 혹은 Table에 넣을 데이터에 대해서 작업을 하는 것.



    [데이터 모델(Data Model)]

    * 계층 데이터 모델(hierarchial data model)

    * 네트워크 데이터 모델(network data model)

    * 관계 데이터 모델(relation data model)

    * 객체 데이터 모델(object data model)

    * 객체-관계 데이터 모델(object-relational data model)


    실제로 가장 많이 사용되는 모델은 관계 데이터 모델이다.

    관계데이터모델은 서로 연관된 데이터들을 테이블로 모아두는 구조인데, 오늘날 객체지향 프로그래밍언어와는 모델이 맞지 않아서 ORM(Object Relational Mapping)을 사용하는 경우가 많다.




    [ 3단계 데이터베이스 구조]

    * 외부스키마(External Schema)

    * 개념스키마(Conceptual Schema)

    * 내부스키마(Internal Schema)








    [외부 스키마]

    * 일반 사용자나 응용 프로그래머가 접근하는 계층으로 전체 데이터베이스 중 하나의 논리적인 부분을 의미

    * 여러 개의 외부 스키마가 있을 수 있음

    * 서브 스키마(Sub Schema)라고도 하며, View의 개념임


    외부스키마는 개념스키마의 부분집합.




    [개념 스키마]

    * 전체 데이터베이스의 정의를 의미

    * 통합 조직별로 하나만 존재하며 DBA가 관리함

    * 하나의 데이터베이스에는 하나의 개념 스키마가 존재


    개념스키마란 개발하는데 필요한 모든 데이터베이스를 정의해 놓은 것.



    [내부 스키마]


    * 물리적 저장장치에 데이터베이스가 실제로 저장되는 방법의 표현

    * 내부 스키마 역시 하나만 존재

    * 인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함됨.


    내부스키마란 실제 구현에 관한 이야기로, 이 속성이 어떠한 형태(Integer or Varchar or 등등)이며 어느 정도의 크기를 갖는지 등에 관해서 기술해둔 스키마를 의미한다.



    [매핑(Mapping)]

    * 외부/개념 매핑

    * 개념/내부 매핑


    외부/개념 매핑은 사용자의 외부스키마와 개념 스키마 간의 매핑(사상)을 의미하며 외부스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시키는 것.


    개념/내부 매핑은 개념 스키마의 데이터가 내부스키마의 물리적 장치 어디에 어떤 방법으로 저장되는지를 대응 시키는 것.

    'Engineering WIKI > Database' 카테고리의 다른 글

    [Oracle]오라클 NVL 사용법  (0) 2020.03.09
    [MySQL] 날짜 조회  (0) 2020.03.09
    [MySql] Curdate() 와 Now()의 차이점  (0) 2019.11.27
    [MySql] 패스워드 해시 업데이트  (0) 2019.11.26
    [MySql] JOIN  (0) 2019.07.04
    [MySql] 유저 등록  (0) 2019.05.30
    [MySql] CAST 를 이용하여 만 나이 계산하기  (0) 2019.02.14
    [Mysql] Having 조건  (0) 2019.01.19
Designed by Tistory.