본문 바로가기
DATABASE/기본 개념

데이터베이스

by 개발자 김맹고 2021. 5. 12.

01_데이터베이스 개념

데이터베이스 : 표준형식에 맞추어 설계된 데이터를 저장한 집합체

  • 여러 사용자가 공동으로 접근하기 위한 목적으로 설계되었다.
  • 여러 프로그램에서 공동으로 사용한다.
  • 여러 응용 시스템이 같은 데이터를 사용하기 위해서는 한 곳에 저장되고 관리되어야 한다.
  • 데이터베이스가 등장하게 된 배경 : 파일 시스템의 문제점으로 인해 새로운 시스템의 요구가 생겼기 때문이다.

 

02_파일 시스템을 사용한 데이터 관리

  • 파일 시스템에서는 모든 응용 프로그램이 개별적으로 파일을 일대일로 밀접하게 연결하여 사용한다.
  • 응용 프로그램 안에 관련된 파일의 접근 방식이 표현되어 있기 때문에 파일의 논리적인 구조나 물리적인 구조 모두 프로그램 안에 표현되어야 한다.

  • 프로그램별로 일대일 대응되는 데이터는 독립성이 보장되지 못하기 때문에 다음과 같은 문제점이 대두되었다.
  1. 데이터의 종속성
    : 각 프로그램마다 개별적으로 유지하는 데이터가 논리적, 물리적으로 종속되어 있다. ( 데이터의 구조나 접근 방법이 변경되면 관련된 프로그램도 변경되어야 함 )
  2. 데이터의 중복성
    : 파일 시스템은 각 응용프로그램마다 개별적으로 데이터를 유지하고 있기 때문에 데이터 파일의 중복이 필연적으로 발생한다. ( 한 쪽 프로그램에서는 사용하는 데이터가 수정되었지만, 다른 프로그램에서 사용하는 데이터는 수정되지 않을 수 있음. 이로 인해 모든 데이터 파일 사이에 자료의 불일치성( inconsistancy ) 문제 발생 )
  3. 데이터의 무결성 문제 ( = 데이터의 정화성 )
    : 데이터를 삽입, 수정, 삭제할 때 제약조건을 자동으로 유지시켜주는 기능이 파일 시스템에는 존재하지 않는다.
  4. 데이터의 보안 문제
    : 파일 시스템은 일반적으로 파일 단위로 접근하기 때문에 사용자 권한에 따른 구체적인 수준의 접근제어가 어렵다.

 

03_데이터베이스의 정의

데이터베이스란? 대량의 정보를 여러 응용시스템이 공동으로 사용하기 위하여 통합되고 저장된 데이터의 집합.

  • 통합된 데이터 ( Integrated Data ) : 중복된 데이터 배제 ( 정확한 데이터를 유지하기 위하여 원칙적으로 데이터가 중복되지 않게 저장 되어야 함 )
  • 저장된 데이터 ( Stored Data ) : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터 ( 일반적으로 하드디스크에 데이터가 저장되어 관리됨 )
  • 운영 데이터 ( Operational Data ) : 한 조직의 기능을 수행하기 위해 운영해야 할 데이터
  • 공용 데이터 ( Shared Data ) ( = 공유 데이터 ) : 여러 사용자가 다른 목적으로 공유하는 데이터

 

04_데이터베이스의 특징

  • 실시간 접근성( Real-Time Accessibility ) : 다수의 사용자가 요구하는 데이터의 검색 및 질의에 대해 실시간 처리 및 응답이 가능해야 한다.
  • 지속적인 변화( Continuous Evolution ) : 데이터베이스에 저장되어 있는 데이터는 데이터가 변경되는 작업에 의해 최신의 데이터로 유지되어야 한다.
  • 동시 공유( Concurrent Sharing ) : 다수의 사용자가 서로 다른 목적으로 데이터를 동시 공유하여 사용할 수 있어야 한다.
  • 내용에 의한 참조( Content Reference ) : 저장되어 있는 데이터의 실제 물리적인 위치로 참조하는 것이 아니라 데이터의 내용으로 참조해야 한다.

 

05_데이터베이스의 구성 요소

데이터베이스의 구성 요소는 속성, 개체, 관계로 표현된다.

  • 속성( Attribute )
    - 데이터베이스를 표현하는 가장 작은 논리적인 단위 ( 더이상 쪼개지지 않는 값 = 원자값 )
    - 테이블의 칼럼에 해당됨
    - 개체를 구성하는 한 단위
    - 개체를 구성하고 있는 특징들을 속성으로 표현하여 개체를 구체화 함
    - 독자적 사용이 불가능함
  • 개체( Entity )
    - 데이터베이스가 표현하고자 하는 개념과 정보의 단위
    - 개체에 관련된 값을 모아서 하나의 단위를 만든 레코드
    - 독자적 사용이 가능한 유·무형 정보
  • 관계( Relation ) = table
    - 속성간의 관계, 개체와 개체간의 관계를 레코드로 표현하여 실제화함

 

06_데이터베이스의 3단계 구조

스키마( Schema ) : 데이터베이스 구조를 사용자 관점에서 3단계로 나눈 것.

  • 외부 스키마 ( 응용 프로그램 )
    - 사용자 관점의 뷰 스키마
    - 응용 프로그램에 따라 여러 가지로 정의되는 외부 스키마가 생성
    - 사용자 관점에서 관심있는 여러 형태의 뷰가 만들어짐
    - 외부 스키마는 전체적인 데이터베이스의 구조를 갖는 개념 스키마의 일부분에 해당됨
  • 개념 스키마 ( 논리적 구조 )
    - 물리적인 구조와는 상관없는 전체 데이터베이스의 논리적인 구조를 기술한 표현
    - 데이터베이스에 저장되는 데이터와 그 데이터간의 관계 및 제약조건 등에 관해 기술
    - 사용자 관점에서 데이터베이스 전체의 정보를 표현
  • 내부 스키마 ( 물리적 구조 )
    - 개념 스키마의 물리적인 저장 구조를 기술하는 개념
    - 하나만 존재함
    - 실질적인 데이터베이스의 자료저장 구조나 크기, 위치 등을 상세히 표현하는 물리적인 구조도

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

 

07_데이터베이스 관리 시스템( DBMS )

데이터베이스 관리 시스템( DataBase Manage-ment System : DBMS ) : 사용자와 데이터베이스 사이에 위치하여 새로운 데이터베이스를 생성하고 입력, 갱신과 검색 등의 작업을 관리하는 프로그램

  • DBMS는 사용자의 외부 스키마와 연관된 개념 스키마를 결정함
  • 저장 인터페이스에 의해 물리적 저장장치 형태, 접근 방법 등을 결정하는 내부 스키마 단계를 통해 사용자에게 정보를 제공함
  • 응용 프로그램과 데이터 사이의 인터페이스 역할을 함
  • 데이터의 독립성을 제공함 ( DBMS의 궁극적인 목적 ) : 데이터의 구조가 변경되더라도 프로그램에는 영향이 없도록 함

 

08_관계형 데이터베이스

관계형 데이터베이스 : 데이터베이스의 구조를 테이블 형태로 표현하는 데이터베이스

  • 테이블의 각 열은 속성을 나타냄
  • 한 행은 튜플이라고 불리움
  • 속성과 속성간의 연관관계를 테이블로 표현하기도 함
  • 개체와 개체사이의 관계도 테이블로 표현함

개체와 개체의 관계가 만들어낸 테이블은 공통적인 열이 있어서 이 공통 열을 통해 연관 되어진 테이블 값을 연결한다.

관계형 데이터베이스의 장점

  • 독립적으로 테이블이 유지된다.
  • 쉬운 방법으로 다양한 관계를 표현할 수 있다.
  • 확장성이 좋다.
  • 처음 데이터베이스를 만든 후 관련되는 응용 프로그램들을 변경하지 않고도, 새로운 데이터 항목을 데이터베이스에 추가할 수 있다.
반응형

댓글