ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DBMS 개요
    Database 2023. 9. 29. 17:18
    728x90

    DBMS 개요

    데이터 베이스를 ‘데이터의 집합’이라고 정의한다면 DBMS(DataBase Management System)는 이 데이터 베이스를 관리, 운영하는 역할을 한다. 또한 데이터 베이스는 여러 명의 사용자나 응용 프로그램이 공유하고 동시에 접근 할 수 있어야 한다.

     

    DBMS는 데이터 베이스를 관리하는 역할을 하는 소프트웨어의 개념으로 접근 해야하고 다음과 같은 몇 가지 중요한 특징을 가지고 있다.

    데이터의 무결성

    • 데이터베이스 안의 데이터는 어떤 경로를 통해 들어 왔던 데이터의 오류가 있어서는 안된다.
    • 무결성( Integrity)를 위해 데이터베이스는 제약 조건(Constraint)이라는 특성을 가진다.

    데이터의 독립성

    • 데이터베이스의 크기를 변경하거나 데이터 파일의 저장소를 변경하더라도 기존에 작성된 응용 프로그램은 전혀 영향을 받지 않아야 한다. 즉, 서로 독립적인 관계여야 한다.

    보안

    • 데이터베이스 안의 데이터는 데이터를 소유한 사람이나 데이터에 접근이 허가 된 사람만 접근 할 수 있어야 한다. 또, 접근 할 때도 사용자의 계정에 따라 다른 권한을 가져야 한다.

    중복의 최소화

    • 동일한 데이터가 여러 개 중복되어 저장되는 것을 방지한다.동일한 데이터가 존재하는건 효율적인 일이 아니다.

    응용 프로그램 제작 및 수정의 용이성

    데이터 베이스를 사용함으로써 통일된 방식으로 응용 프로그램 작성이 가능해지고, 유지 보수 또한 쉬워져 기존에 각각의 포맷에 맞춰 개발 하던 파일 시스템을 사용 할 때의 번거로움이 사라진다.

    추가

    SQL (Structured Query Language)이란 DBMS에 데이터를 구축하고 관리하기 위해 사용되는 언어로 이 SQL을 사용해서 우리가 DBMS를 통해 중요한 정보들을 입력, 관리, 추출 할 수 있다.

    DBMS 분류

    DBMS의 유형은 크게 계층형(Hierarchical), 망형(Network), 관계형(Relational), 객체 지향형(Object-Oriented) 그리고 객체관계형(Object-Relational) 등으로 분류된다.


    이 중 현재 가장 많이 사용되는 유형은 관계형 DBMS이며 일부 분야에서 객체 지향형이나 객체 관계형이 사용되고 있다.

    계층형 DBMS

    가장 처음 나온 DBMS 개념으로 각 계층은 트리 형태를 가지고, 1:N 관계를 갖는다.
    계층형 DBMS는 주어진 상태에서의 검색은 상당히 빠르지만 처음 구축한 이후에는 구조를 변경하기가 까다롭고 접근의 유연성이 부족해 임의의 검색에는 어려움이 따른다.

    망형 DBMS

    계층형 DBMS의 문제점을 개선하기 위해 만들어졌으며 1:1, 1:N, N:M 관계가 지원되어 효과적이고 빠른 데이터 추출이 가능하지만 계층형과 마찬가지고 매우 복잡한 내부 포인터를 사용해 프로그래머가 모든 구조를 이해해야만 프로그램의 작성이 가능하다는 단점이 개선 되지 않았다.

    관계형 DBMS

    E,F.Codd라는 학자가 수학 모델에 근거해 고안하며 시작되었다. RDBMS의 핵심 개념은 테이블로 관계형 DBMS에서 모든 데이터는 테이블에 저장되므로 테이블이라는 구조가 RDBMS에서 가장 기본적이고 중요한 구성이다.

     

    테이블은 데이터를 효율적으로 저장하기 위한 구조로써 정보 저장을 위해 여러 개의 테이블로 나누어서 저장하여 불필요한 공간의 낭비를 줄이고 데이터 저장의 효율성을 보장 해 줄 수 있다.

     

    또 이렇게 나뉜 테이블의 관계를 기본 키(Primary Key)와 외래 키(Foreign Key)를 사용해 맺어주어 두 테이블을 부모 자식 관계로 묶어 줄 수 있고 두 테이블을 조합해 결과를 얻고자 할 때에는SQL의 조인 기능을 통해 함께 사용 할 수 있다.

     

    관계형 DBMS의 장점

    • 업무가 변화될 경우 쉽게 변화에 순응 할 수 있는 구조이다.
    • 유지 보수 측면에서도 편리한 특징을 가지고 있다.
    • 대용량 데이터의 관리와 데이터 무결성의 보장을 잘 해준다.

    관계형 DBMS의 단점

    • 시스템 자원을 많이 차지해 시스템이 전반적으로 느려진다.

    SQL 개요

    • SQL(Structured Query Language)은 관계형 데이터베이스에서 사용되는 언어로 데이터베이스를 조작하는 언어이지만 일반적인 프로그래밍 언어와는 다른 특성을 갖는다.SQL은 모든 DBMS 제작회사에 공통적으로 공개되고 각 제작 회사는 표준 SQL에 맞춰 DBMS를 개발한다.

      그러므로 표준 SQL의 대부분은 DBMS 제품에서 공통적으로 호환된다.SQL 표준은 서버용, 개인용, 휴대용 장비에서 운용되는 DBMS마다 상호 호환성이 뛰어나다. 그러므로 어느 곳에서 사용된 SQL을 다른 시스템으로 이식하더라도 별 문제가 없다.

      기존 프로그래밍 언어는 프로그램 작성, 컴파일 및 디버깅, 실행이라는 과정을 거쳐야 결과를 확인 할 수 있지만 SQL은 바로 질의하고 결과를 얻는 대화식 언어로 구성되어 있다.
      SQL은 분산형 구조인 클라이언트/서버 구조를 지원하기 때문에 클라이언트에 질의 하면 서버에서 그 질의를 받아 처리한 후 다시 클라이언트에게 전달하는 구조를 가진다.

    • 💡 주의 할 점모든 DBMS의 SQL문이 완벽하게 동일 하지 않다.
      모든 회사가 되도록 표준 SQL에 근거해 개발하지만 각 회사의 DBMS마다 특징이 있기 때문에 제품마다 차이점이 존재한다.

    • 분산형 클라이언트/서버 구조이다

    • 대화식 언어이다

    • 이식성이 좋다

    • DBMS 제작 회사와 독립적이다

     


    'Database' 카테고리의 다른 글

    DB와 B-Tree 인덱스  (0) 2024.01.15
    SQL 튜닝 방법론  (0) 2023.11.28
    데이터베이스  (2) 2023.11.20
Designed by Tistory.