ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3일차 - 데이터베이스 시스템
    CS지식/데이터베이스 2021. 4. 13. 23:50

    강의를 보기 전, 데이터베이스 관리 시스템에서 관리라는 단어만 빠졌는데 무엇을 배우는지 궁금했었는데 들어보니까

    완전 다른 개념이라기 보다는 데이터베이스 시스템이 더 큰 개념으로 사용되는 것 같다.

    오늘도 무언가를 배웠다는 것에 뿌듯하다.

     

    1. 데이터베이스 시스템이란?

    데이터베이스 시스템은 데이터베이스에 데이터를 저장하고, 이를 관리하여 조직에 필요한 정보를 생성해주는 시스템을 의미한다.

    이러한 데이터베이스 시스템은 데이터베이스, 데이터베이스 관리 시스템, 데이터 언어, 데이터 사용자를 포함한다.

     

     

    2. 데이터베이스의 구조

    이미 1일차 때 데이터베이스에 대해 배웠지만 여기서 조금 더 추가된 내용을 배웠다.

    데이터베이스의 구조는 스키마인스턴스로 이루어져있다.

     

    스키마란 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것이다.

    인스턴스란 스키마에 따라 데이터베이스에 실제로 저장된 값이다.

     

     

    3. 3단계 데이터베이스 구조

    데이터베이스의 구조를 3단계로 나누어 사용하기도 한다. 외부단계, 개념단계, 내부단계로 나뉘어지고 이 3단계에 대해 자세히 알아보자.

     

    1) 외부단계

    외부단계는 데이터베이스를 개별 사용자 관점에서 이해하고 표현하는 단계이다.

    이 단계에서 사용하는 스키마를 외부 스키마라고 하는데 외부 스키마는 데이터베이스 하나에 여러 개가 존재할 수 있다.

    외부 스키마는 다른 말로 서브 스키마라고도 부른다.

     

    2) 개념단계

    개념단계는 데이터베이스를 조직 전체의 관점에서 이해하고 표현하는 단계이다.

    이 단계에서 사용하는 스키마를 개념 스키마라고 하고 개념 스키마는 데이터베이스 하나에 하나만 존재한다.

    개념 스키마는 전체 데이터베이스에 저장된 데이터의 정보와 제약조건, 보안 정책이나 접근 권한에 대한 정의가 포함되어 있다.

     

    3) 내부단계

    내부단계는 데이터베이스를 저장장치의 관점에서 이해하고 표현하는 단계이다.

    이 단계에서 사용하는 스키마를 내부 스키마라고 하고 내부 스키마도 데이터베이스 하나에 하나만 존재한다.

    내부 스키마는 레코드 구조, 필드크기, 레코드 접근경로 등 물리적인 저장 구조를 정의한다.

     

    이렇게 데이터베이스를 3단계로 나누고 단계별로 스키마를 정의하여 유지하고 스키마 사이에 대응 관계를 정의하는 이유는 무엇일까?

    그 이유는 데이터 독립성을 실현하기 위해서이다.

     

    그러면 데이터 독립성은 무엇일까?

    데이터 독립성은 하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않는 특성이다.

    즉, 개념 스키마(하위)가 변경되어도 외부 스키마(상위)는 영향을 받지 않고

    내부 스키마(하위)가 변경되어도 개념 스키마(상위)는 영향을 받지 않는다.

     

    그러면 수정된 사항은 어떻게 상위 스키마에 반영을 하게 될까?

    변경된 경우에는 하위 스키마와 상위 스키마의 관계를 나타내는 외부/개념 사상, 개념/내부 사상만 수정해주면 된다.

     

     

    4. 데이터베이스 사용자

    데이터베이스 다음으로 데이터베이스 사용자에 대해 배웠다.

    데이터베이스 사용자는 데이터베이스를 이용하기 위해 접근하는 모든 사람을 의미하며 데이터베이스관리자, 최종사용자, 응용 프로그래머로 나뉜다.

     

    - 데이터베이스관리자 : 데이터베이스 시스템을 운영하고 관리

    - 최종사용자(일반사용자) : 데이터베이스에 접근하여 데이터를 조작

    - 응용프로그래머 : 데이터 언어를 삽입하여 응용 프로그램을 작성

     

     

    5. 데이터 언어

    데이터 언어란 사용자와 데이터베이스 관리시스템간의 통신수단으로 우리가 흔히 아닌 SQL언어가 데이터 언어 중 하나이다.

    데이터 언어는 데이터 정의어, 데이터 조작어, 데이터 제어어로 나뉜다.

     

    - 데이터 정의어(DDL) : 스키마를 정의하거나 수정 또는 삭제하기 위해 사용

    - 데이터 조작어(DML) : 데이터의 삽입, 삭제, 수정, 검색 등의 처리를 요구하기 위해서 사용

    - 데이터 제어어(DCL) : 내부적으로 필요한 규칙이나 기법을 정의하기 위해서 사용

    댓글

Designed by Tistory.