본문 바로가기

Back_end/-----------DB------------

[ DB/DBMS ] DB 와 DBMS

DB(DataBase) 정의


  • DATA(데이터)

    • 컴퓨터 안에 기록되어 있는 숫자를 의미

  • DataBase(데이터베이스)

    • 데이터의 집합

    • 넓은 의미 : 컴퓨터 안에 기록된 모든 것

  • DBMS(DataBase Management System)

    • DB를 효율적으로 관리하는 소프트웨어

    • [ 사용하는 이유 ]

      1. 생산성

        • 데이터 검색, 추가, 삭제 갱신과 같은 기본기능을 DBMS가 제공합니다.

        • 시스템을 구축할 때 필요한 기본기능을 제공하여 효율적인 개발을 돕습니다.

      2. 기능성

        • 데이터베이스를 다루는 기능을 많이 제공합니다.복수 유저의 요청에 대응하거나, 대용량의 데이터를 저장하고 고속으로 검색하는 ㄴ기능을 제공하기도 합니다.

        • 데이터베이스 관리 기능을 유저가 확장할 수도 있어 유연하게 시스템을 개발할 수 있습니다.

      3. 신뢰성

        • 많은 DBMS가 데이터베이스의 데이터를 다른 저장장치로 보내거나, 반대로 데이터베이스 안에 데이터를 집어넣는등의 기능을 갖추고 있습니다. 이떄 집어넣기 및 내보내기 기능을 통해 데이터베이스를 간단하게 백업할 수 있습니다.


DB(DataBase)의 특성


  • 실시간 접근성(Real-time Accessability)

    • 사용자의 요구를 즉시 처리할 수 있다.

  • 계속적인 변화(Continuous Evolution)

    • 정확한 값을 유지하려고 삽입 * 삭제 * 수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있다.

  • 동시 공유성(Continuous Evolution)

    • 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근하고 이용할 수 있다.

  • 내용참조(Content Reference)

    • 저장한 데이터 레코드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조할 수 있어야 한다.



DataBase 종류


  • DBMS는 데이터 저장 방법에 따라 몇 가지로 분류할 수 있습니다. 지금부터 오래된 순서대로 몇몇 DBMS를 소개합니다.

  1. 계층형 데이터베이스

    • 역사가 오래된 DBMS 로, 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 데이터베이스입니다.

    • 하드디스크나 DVD파일시스템을 계층형 데이터베이스라고 할 수 있습니다.

    • 하지만 현재 DBMS로서 채택되는 경우는 많지 않습니다.

  2. 관계형 데이터베이스

    • 관계대수라는 것에 착안하여 고안한 데이터베이스입니다.

    • 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리킵니다.

  3. 객체지향 데이터베이스

    • 객체지향 언어란 객체라는 것을 중심으로 프로그래밍하는 언어입니다.

    • 가능하면 객체 그대로를 데이터베이스의 데이터로 저장하는 것이 객체지향 데이터베이스입니다.

  4. XML 데이터베이스

    • XML이란 자료형식을 가리키는 용어로, 태그를 이용해 마크업 문서를 작성할 수 있게 정의한 것입니다.

    • XML 데이터베이스는 이처럼 XML 형식으로 기록된 데이터를 저장하는 데이터베이스입니다.

    • XML 데이터베이스에서는 SQL명령을 사용할 수 없습니다. 대신에 XML 데이터를 검색할 떄는 XQuery라는 전용 명령어를사용합니다.

  • 데이터베이스 제품

    • Oracle(오라클)오라클에서 개발한 RDBMS입니다.현재 가장 많이 쓰이는 RDBMS중 하나 입니다.

    • DB2IBM에서 개발한 RDBMS입니다.

    • SQL Server마이크로소프트가 개발한 RDBMS입니다. 윈도우 플랫폼에서만 작동합니다.

    • MySQLMySQL은 오픈소스 커뮤니티에서 태어난 RDBMS입니다.세상에 나올 당시 경량데이터베이스를 강조하다 보니 필요한 최소한의 기능만을 갖추었습니다. 하지만 기능이 확장되면서 지금은 다른 RDBMS와 비교해도 부족하지 않을 정도입니다.

    • SQLite오픈소스 커뮤니티에서 태어난 SQLite는 임베디드 시스템어 자주 쓰이는 작은 RDBMS입니다.





DBMS(Database Management System)


  • 데이터베이스를 관리하는 소프트웨어

  • 여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에 데이터베이스에 접근하여 사용할 수 있게 한다.

  • 필수 3기능

    • 정의기능 : 데이터 베이스의 논리적, 물리적 구조를 정의

    • 조작기능 : 데이터를 검색, 삭제, 갱신, 삽입, 삭제하는 기능

    • 제어기능 : 데이터베이스 내용의 정확성과 안정성을 유지하도록 제어할 수 있는 기능

  • 예시로 Oracle, SQL Server, MySQL, DB2 등의 상용 또는 공개 DBMS가 있다.



데이터 베이스 관리 시스템 장/단점


  • 장점

    • 데이터 중복이 최소화

    • 데이터의 일관성 및 무결성 유지

    • 데이터 보안 보장

  • 단점

    • 운영비가 비싸다

    • 백업 및 복구에 대한 관리가 복잡

    • 부분적 데이터베이스 손실이 전체 시스템을 정지




'Back_end > -----------DB------------' 카테고리의 다른 글

[ DB ] 정규화 (수정중)  (0) 2018.08.02