BACKEND/DATABASE

Database, DBMS, SQL 개념 이해하기

우진하다 2023. 6. 15. 23:00

데이터, 정보, 지식, 지혜의 의미와 차이.

데이터(Data).

데이터는 단순히 사실이나 숫자, 기호 등의 원시적인 형태로 표현된 값들의 집합
데이터는 의미를 가지지 않으며, 가공되거나 해석되기 전에는 그 자체로 유용한 정보를 제공하지 않음
예) 트래픽 데이터 - 1초 동안의 전송된 패킷 수는 1000개라는 데이터

정보(Information).

정보는 데이터에 의미를 부여한 결과물로, 일련의 데이터가 가공되어
가지를 가지고 의미를 전달 할 수 있는 형태로 변환 된것이며
정보는 정확하고 유용한 내용을 제공해 결정을 내릴 수 있도록 도와줌
예) 트래픽 분석 결과 - 네트워크 부하가 높아지는 특정 시간대 라는 패턴을 발견했다면, 이는 정보
이 정보는 네트워크 관리자가 문제를 식별하고 조치를 취할 수 있도록 도움

지식(Knowledge).

지식은 개인이나 조직이 데이터와 정보를 이해하고 응용할 수 있는 능력 또는 습득한 정보에 대한 이해와 경험의 결과물
지식은 개인 또는 조직의 경험, 배경, 교육, 전문성 등을 통해 형성되며
정보를 해석하고 응용하여 문제를 해결하고, 의사 결정을 내리고, 새로운 아이디어를 만들어 내는데 활용
예)  트래픽 관리 전략 - 트워크 부하를 분산하기 위해 로드 밸런싱 기술을 도입해야 한다 라는 지식이 형성될 수 있음
이 지식은 네트워크 관리자가 문제를 해결하고 최적의 성능을 달성하기 위한 전략을 수립하는 데 활용됨

지혜(Wisdom).

지식을 근본적인 이해와 판단력으로 활용하는 능력을 말함
지식을 통해 얻은 통찰력과 경험을 바탕으로 문제를 해결하고 올바른 판단을 내리며 적절한 행동을 취함
지혜는 지식을 더 넓고 깊게 이해하고 적용하면서 발전
예) 유연한 네트워크 운영 -  특정 시간대에 트래픽이 급증할 것으로 예상되는 상황에서는 미리 대비하여 용량을 확장하는 등의 조치를 취하는 것

이러한 개념들은 정보의 변화와 함께 의미와 가치가 증가하는 것을 나타냅니다.
데이터는 원시적인 형태로 존재하며, 가공되어 정보로 변환될 때 의미를 갖게 됩니다.
정보를 이해하고 활용하는 과정을 통해 지식이 형성되고, 지식을 통해 더 깊은 이해와 응용이 가능한 지혜가 발전됩니다.
이러한 과정은 개인과 조직의 성장과 학습에 중요한 역할을 합니다.

 

Database, DBMS, SQL.

  • 데이터베이스(Database, DB)

데이터베이스는 데이터베이스는 체계화된 데이터의 모음으로, 조직적으로 관리되고 저장된 데이터의 집합입니다.
데이터베이스는 여러 사용자 또는 응용 프로그램이 공유하여 접근할 수 있습니다. 
데이터베이스는 구조화된 방식으로 데이터를 저장하고, 데이터의 검색, 수정, 추가, 삭제 등의 작업을 수행할 수 있습니다.

  • DBMS(Database Management System)

DBMS는 데이터베이스를 관리하는 소프트웨어 시스템입니다. 
DBMS는 데이터의 저장, 검색, 수정, 삭제 등의 작업을 수행하며, 
데이터베이스의 구성, 보안, 무결성 유지, 백업 및 복구 등의 관리 작업을 지원합니다. 
대표적인 DBMS로는 Oracle, MySQL, SQL Server, PostgreSQL 등이 있습니다.

  • SQL(Structured Query Language)

SQL은 데이터베이스에서 데이터를 관리하기 위해 사용되는 표준화된 프로그래밍 언어입니다. 
SQL을 사용하여 데이터베이스에 쿼리를 작성하고 실행하여 데이터를 검색, 수정, 추가, 삭제할 수 있습니다. 
SQL은 데이터베이스 스키마 정의, 데이터 조작, 데이터 제어 등 다양한 작업을 수행할 수 있는 강력한 언어입니다. 
SQL은 대부분의 DBMS에서 지원하며, 명령어들은 크게 데이터 정의 언어(DDL), 데이터 조작 언어(DML), 데이터 제어 언어(DCL)로 구분됩니다.

 

DBMS의 분류.

DBMS와 같은 소프트웨어는 특정 목적을 처리하기 위한 프로그램입니다.
예로 문서 작성은 한글이나 워드, 계산은 엑셀, 사진 편집은 포토샵 등을 이용하는 것처럼
데이터베이스를 사용하기 위해서도 소프트웨어 즉, DBMS를 사용해야 합니다.

대표적으로 MySQL, 오라클, SQL서버, MriaDB 등이 있으며
사용 방법과 특징은 다르지만 특정 목적을 위해서는 어떤 것을 사용해도 무방합니다.

DBMS의 유형은 계층형(Hierarchical), 망형(Network), 관계형(Relational), 객체지향형(Object-Oriented), 객체관계형(Object-Relational) 등으로 분류됩니다. 
현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많은 부분을 차지하며, MySQL도 관계형 DBMS에 포함됩니다. 

  • 관계형 DBMS (RDBMS)

관계형 데이터 모델을 기반으로 데이터를 구조화하고 관리합니다.
테이블 형태로 데이터를 저장하며, 각 테이블은 행(row)과 열(column)로 구성됩니다.
SQL(Structured Query Language)을 사용하여 데이터를 조작하고 검색합니다.
ACID (Atomicity, Consistency, Isolation, Durability) 속성을 보장하여 데이터 무결성과 일관성을 유지합니다.
주로 기업의 대규모 데이터 처리 및 관리에 사용됩니다.

  • 객체 관계형 DBMS (ORDBMS)

관계형 데이터 모델에 객체 지향 개념을 결합한 DBMS입니다.
객체 지향 프로그래밍의 개념을 확장하여 객체와 관계를 함께 사용할 수 있습니다.
복잡한 데이터 구조를 표현하고 객체 간의 관계를 표현할 수 있습니다.
객체 지향적인 쿼리 언어를 지원하며, SQL을 확장한 기능을 제공합니다.

  • 계층형 DBMS

데이터를 트리 형태의 계층 구조로 표현하고 관리하는 DBMS입니다.
데이터를 부모-자식 관계로 구성하며, 상위 레코드와 하위 레코드 간의 관계를 표현합니다.
데이터 접근이 계층 구조를 따라야 하므로 복잡한 데이터 관리에는 적합하지 않을 수 있습니다.

  • 네트워크형 DBMS

데이터를 그래프 형태로 표현하고 관리하는 DBMS입니다.
네트워크 모델을 사용하여 데이터 간의 복잡한 관계를 표현할 수 있습니다.
레코드 간의 포인터로 연결되어 있는 구조를 가지며, 다양한 연결 구조를 표현할 수 있습니다.

  • 객체지향 DBMS (OODBMS)

객체 지향 프로그래밍의 개념을 DBMS에 적용한 형태입니다.
객체를 직접 저장하고 관리할 수 있으며, 객체 간의 상속, 다형성, 연관 관계 등을 지원합니다.
객체 지향적인 쿼리 언어를 사용하여 객체를 조작하고 검색할 수 있습니다.

  • XML DBMS

XML (eXtensible Markup Language) 형식의 데이터를 저장하고 관리하는 DBMS입니다.
XML 문서를 구조화하여 저장하고, XPath, XQuery 등의 XML 쿼리 언어를 사용하여 검색하고 조작할 수 있습니다.
주로 XML 데이터 처리 및 관리에 사용됩니다.

  • 메모리 기반 DBMS

주 기억장치 (메모리)를 활용하여 데이터를 저장하고 처리하는 DBMS입니다.
메모리 접근 속도가 빠르기 때문에 높은 성능을 제공합니다.
주로 실시간 응용프로그램, 대용량 데이터 처리 등에 사용됩니다.

각각의 DBMS는 다양한 특징과 용도를 가지고 있으며, 선택은 프로젝트 요구사항과 성능, 확장성, 보안 등을 고려하여 결정해야 합니다.