본문 바로가기
WORKS/DataBase

[DataBase] 데이터베이스란? SQL? DBMS란?

by Jelly 젤리 2022. 2. 24.

데이터베이스를 공부하며 잘 이해가 되지 않는 용어들과 데이터베이스에 대한 예제를 다루며 알게 된 개념들을

좀 더 정리해보고자 글을 쓰게 되었습니다.

 

이 글에서는 데이터베이스의 정의, 도입의 장점과 단점, SQL은 무엇인지, DBMS는 무엇인지에 대해 정리합니다.

 

데이터베이스의 정의

데이터베이스란 여러 사람이 공유하여 사용할 목적으로 체계적으로 정리된 정보를 효율적으로 관리하는 데이터의 집합입니다.

즉 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음입니다.

 


데이터베이스 도입의 장점과 단점

공유하여 사용할 목적으로 데이터를 저장한다? - > 파일 시스템도 가능하지 않나요?

데이터를 저장한 파일을 데이터 파일이라고 합니다.

파일 시스템은 데이터를 관리하는 기본이며, 경우에 따라 파일시스템을 이용해서 관리할 경우도 필요합니다.

 

다만 파일시스템에는 문제점들이 존재합니다.

데이터가 중복되고, 불일치되고, 공유가 어렵고, 데이터 용량 증가에 따른 검색 효율이 저하되며, 데이터에 대한 보안성이 미비하고

주로 텍스트 위주의 데이터를 관리한다는 점들이 그것입니다.

 

이러한 문제점들을 데이터베이스를 도입하며 해결합니다.

 

데이터 중복성을 최소화하고, 불일치성을 해결하고, 데이터를 공유하는데 편이성이 증가하며, 정보 표준화에 유리합니다.

또한 데이터 보안성 제공, 데이터 무결성 유지, 대량 데이터의 빠른 검색, 다양한 데이터 관리 가능(이미지 파일 등), 응용 프로그램 개발이 쉽다는 측면에서 큰 이점을 지닙니다.

 

물론 데이터베이스의 단점도 있습니다.

전문가가 필요하다는 점, 많은 비용을 부담해야한다는 점, 데이터의 백업과 복구가 어렵다는 점, 시스템이 복잡하다는 점, 대용량 디스크로 엑세스가 집중되면 과부하가 발생한다는 점이 있습니다.


데이터베이스 모델

데이터베이스 모델은 데이터베이스 관리 시스템이 지원하는 공식 언어로 기술된 데이터베이스의 구조나 형식을 말합니다.

데이터베이스 모델은 데이터베이스 관리 시스템과 결합하는 데 쓰이는 데이터 모델의 응용

쉽게 이야기하면, 데이터베이스가 어떻게 구조화되고 쓰이는지를 알려주는 이론

모델의 종류

- 계층형 모델

- 네트워크형 모델

- 관계형 모델

- 객체-관계형 모델

- 객체형 모델

 

이 중 관계 데이터 모델은 데이터 모델 중 가장 개념이 간단한 모델입니다.

데이터 모델을 개발하기 위해서 테이블 관계로 묘사하는 이론적 모델 과정이 발생했는데 이를 개체관계 모델이라고 합니다.

개체 관계형 데이터베이스를 지원하기 위해 IBM 연구소에서 SQL이라는 언어가 창안되었습니다.

 

즉, 관계형 데이터 베이스 관리시스템의 데이터를 관리하기 위해 설계된 프로그래밍 언어 = > SQL

 


DBMS(DataBase Management System)

DBMS는 DB(데이터베이스)를 관리하는 시스템입니다.

데이터를 저장하고 유지보수(수정, 삭제, 추가)하고 이를 검색하는 시스템을 의미합니다.

DBMS에서는 대량의 데이터를 처리하며, 다양한 자료구조와 검색구조를 사용해 빠른 검색이 가능합니다.

 

DBMS의 종류는 굉장히 다양합니다.

1. RDBS (관계형 데이터베이스): 행과 열로 표현되는 테이블간의 관계를 나타낼 때 사용하며 SQL을 통하여 관리 및 접근한다.

2. NoSQL: RDB특성 뿐만 아니라 다른 특성까지 지원해줌. 대용량 데이터를 다루거나 데이터 분산 처리에 용이.

3. 계층형 데이터베이스 : 데이터간의 관계가 트리 구조인 데이터 모델 사용

4. 네트워크형 데이터베이스 : 데이터간의 관계가 그물망과 같은 모델 사용

더보기

+추가

NoSQL종류

Document 방식 : Collection 데이터모델 구조 사용

key-value 방식 : key 와 value의 데이터가 쌍으로 저장되는 단순한 데이터 모델

Big table DB : key-value형에서 발전된 형태인 Column Family 데이터 모델 구조 사용

등이 있음.

현재는 관계형 DBMS(RDBMS)를 주로 사용합니다.

RDBMS에는 대표적으로 Oracle, MySQL, PostgreSQL, Microsoft SQL Server, IBM DB/2 등이 있습니다.

 


아래 홈페이지에서 그림과 함께 더 쉽게 이해해보세요.

저도 많은 도움을 얻었습니다.

https://hongong.hanbit.co.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-databasedb-dbms-sql%EC%9D%98-%EA%B0%9C%EB%85%90/

 

[데이터베이스 이해하기] Database(DB), DBMS, SQL의 개념

데이터베이스(Database, DB)란? : 데이터의 저장소. DBMS(Database Management System, 데이터베이스 관리 시스템)란? 데이터베이스를 운영하고 관리하는 소프트웨어. 계층형, 망형, 관계형 DBMS 중 대부분의 DBM

hongong.hanbit.co.kr

 

 

더보기

출처: https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4

위키백과에서 Database, DBMS, database model 등을 참고

https://honeyteacs.tistory.com/19

블로그에서 DBMS 종류 등 참고

728x90

댓글