데이터 베이스(Database,DB)는 여러 사람이 공유하여 사용할 목적으로 체계화하여 서버를 통해 넘어오는 데이터를 통합 및 관리하는 데이터의 집합입니다. 한마디로 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터 창고 역할을 한다고 볼 수 있습니다. 논리적으로 연관된 하나 이상의 자료의 모음으로 고도의 구조화를 통해 검색 및 갱신의 효율을 높입니다. 데이터베이스에 과부하가 걸리면 서버에도 지장을 주고, 관리가 잘못되면 데이터가 모두 삭제되는 상황이 벌어질 수도 있으니 주의하는 것이 필요합니다.

 

 


 


1. 데이터 베이스의 특징

 

-실시간 접근성: 사용자의 질의에 대하여 즉시 처리하여 응답합니다.

-계속적인 진화: 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지합니다.

-동시 공유: 여러 사용자가 동시에 원하는 데이터를 공유할 수 있는 특징을 갖습니다.

-내용에 의한 참조: 데이터베이스에 있는 데이터를 참조할 때 투플(Tuple)의 주소나 위치가 아닌 사용자가 요구하는 데이터 내용에 따라 참조합니다.

-데이터 논리적 독립성: 응용프로그램과 데이터베이스를 독립시킴으로써 데이터 논리적 구조를 변경시키더라도 응용프로그램은 변경되지 않습니다.

 

2. 데이터 베이스의 장점

-데이터 중복 최소화
-데이터 공유
-일관성, 무결성, 보완성 유지
-최신의 데이터 유지
-데이터의 표준화 가능
-데이터의 논리적, 물리적 독립성
-용이한 데이터 접근
-데이터 저장 공간 절약 

3. 데이터베이스 관리 시스템(DBMS)이란?
 데이터베이스 관리 시스템은 데이터베이스를 조작하는 별도의 소프트웨어로, DBMS를 통해 데이터베이스를 관리하여 응용 프로그램들이 데이터베이스를 공유하고, 사용할 수 있는 환경을 제공합니다. DBMS는 데이터베이스를 구축하는 틀을 제공하고, 효율적으로 데이터를 검색/저장하는 기능을 제공합니다.
 또한, 응용 프로그램들이 데이터베이스에 접근할 수 있는 인터페이스를 제공하며, 장애에 대한 복구 기능, 사용자 권한에 따른 보안성 유지 기능등을 제공합니다. 즉, 데이터베이스 내의 정보를 구성하는 컴퓨터 프로그램의 집합으로서 자료의 중복성을 제거하고 다른 특징들 중에 무결성, 일관성,  유용성을 보장하기 위해서 자료를 제거하고 관리하는 소프트웨어 체계라고 할 수 있습니다.

4. DBMS의 기능들

 

1)정의: 데이터의 형식, 구조, 제약들을 명시하는 기능입니다. 데이터베이스에 대한 정의 및 설명은 카탈로그나 사전의 형태로 저장됩니다.

2)구축: DBMS가 관리하는 기억 장치에 데이터를 저장하는 기능입니다.

3)조작: 특정한 데이터를 검색하기 위한 질의, 데이터베이스의 갱신, 보고서 생성 기능 등을 포함합니다.

4)공유: 여러 사용자와 프로그램이 데이터베이스에 동시에 접근하도록 하는 기능입니다.

5)보호: 하드웨어나 소프트웨어의 오작동 또는 권한이 없는 악의적인 접근으로부터 시스템을 보호합니다.

6)유지보수: 시간이 지남에 따라 변화하는 요구사항을 반영할 수 있도록 하는 기능입니다.

 

5. DBMS의 장점과 유형
DBMS는 자료와의 관계성을 정의하기 때문에 자료의 통합성을 증진시키고, 데이터의 접근성이 용이하다는 장점이 있습니다. 또한 데이터 통제 및 보안이 강화되며, 애플리케이션 프로그램들을 쉽게 개발하고 관리할 수 있습니다. 

DBMS의 유형은 크게 다음과 같이 분류할 수 있습니다.

1) 관계형 데이터베이스 관리 시스템(RDBMS): 가장 많이 사용되는 데이터베이스로 흔히 행(column)과 열(row)로 표현되는 테이블간의 관계를 나타낼 때, 이렇게 표현된 데이터베이스는 SQL을 통하여 관리 및 접근하게 됩니다.
2) NoSQL DBMS: Not Only SQL로 RDB의 특성 뿐만 아니라 다른 특성까지도 지원해 주는 데이터베이스라는 의미를 지닙니다. 대용량 데이터를 다루거나 데이터 분산 처리에 용이하며 유연한 모델링이 가능하다는 특징이 있습니다. 또한 Cloud Computing에 적합합니다.

*NoSQL의 종류
1)Document방식
2)Key-Value방식
3)Big Table DB

6. 관계형 데이터베이스
데이터베이스에서 키(key)와 값(value)의 관계(relationship)로 이루어진 표(table)로 데이터를 구성하는 방식으로, RDB/오라클/MySQL,Microsoft SQL Server 등 가장 널리 쓰이는 데이터베이스 관리 시스템이 관계형 데이터 베이스 모델을 따르고 있습니다.

(출처:위키백과)
1)특징
-데이터의 분류, 정렬, 탐색 속도가 빠릅니다.
-오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장해줍니다.
-기존에 작성된 스키마를 수정하기가 어렵습니다.
-데이터베이스의 부하를 분석하는 것이 어렵습니다.

2)​관계의 종류

 

-​일대일관계

-일대다관계

-다대다관계


7. 쿼리(Query)
관계형데이터베이스에서 데이터를 요청하고 관리하기 위해서는 SQL이라는 데이터베이스 언어를 써야 합니다. SQL을 이용하면 데이터베이스에 쿼리, 즉 질의를 통해 원하는 조건에 맞는 데이터를 추철하거나 조작할 수 있다. 즉 관계형 데이터베이스에서 데이터를 조회, 추출, 조작하기 위해 쓰는 명령어 혹은 질의 자체를 쿼리라고 합니다.

8. 관계형 DBMS의 종류 및 특징

 

 Oracle

 MySQL

 MSSQL

 MariaDB

 -오라클에서 만들어 판매중인 상업용 데이터 베이스

 

-윈도우,리눅스,유닉스 등 다양한 운영체제(OS)에서 설치 가능

 

-MySQL,MSSQL보다 대량의 데이터 처리 용이

 

-대기업에서 주로 사용하며, 글로벌 DB 시장 점유율 1위

 

-비공개 소스, 폐쇄적인 운영

-가장 널리 사용되는 RDBMS

 -MySQL사에서 개발,썬마이크로시스템즈를 거쳐 오라클에서 인수합병

 

-윈도우,리눅스,유닉스 등 다양한 운영체제에서 설치 가능

 

-오픈소스로 이루어져있는 무료 프로그램(상업적 사용시 비용 발생)

 

-가격 등의 장점을 앞세워 다수의 중소기업에서 사용 중인 RDBMS

 

-마이크로소프트(MS)사에서 개발한 상업용 데이터베이스

 

-다른 운영체제에서도 사용가능하지만 윈도우에 특화됨

 

-비공개 소스로 폐쇄적인 운영(리눅스 버전은 오픈소스)

 

-중소기업에서 주로 사용중인 RDBMS

 

-MySQL이 오라클에 인수 합병된 후 불확실한 라이선스 문제를 해결하려고 나온 오픈소스 RDBMS

 

-구현언어: C++

 

-MySQL과 동일한 소스 코드 기반

 

-MySQL과 비교해 애플리케이션 부분 속도가 약 4~5천배 정도 빠름

 

 

 

-출처 및 참고글: https://m.blog.naver.com/sundooedu/221301384166