Database/SQL

[SQL] SQL과 데이터베이스에 대한 기본 이해

Untitled_Blue 2023. 5. 3. 23:20
반응형

안녕하세요. 이번 글에서는 SQL과 데이터베이스에 대한 기본적인 이해에 대한 내용에 대해 설명하겠습니다.

- SQL이란?

SQL이란 Structured Query Lanuage의 약자로서 데이터베이스에서 데이터를 저장, 조작, 검색 등 데이터를 관리하기 위한 작업 언어를 의미한다. SQL은 1986년에 ANSI (American National Standards Institute), 미국표준협회와 1987년에 ISO (Intenational Organization for Standardzation), 국제표준기구에서 데이터베이스를 다루는 부분에서 국제 표준화 언어임을 인증했다. 그만큼 SQL은 데이터베이스를 다루는 부분에서 안정화된 언어임을 확인할 수 있다.

- 자료와 정보의 상관관계

자료 : 어떤 목적에 의해 존재하지만 실제 사용 내지 활용하기 위한 가공이 되지 않은 값

정보 : 자료를 기반으로 특정 목적을 위해 분석 및 가공하여 실질적으로 활용가능하도록 의미 또는 가치가 부여된 결과

 

이 둘의 상관관계를 예시로 들어보겠다.

예를 들어 우리가 카드나 모바일 페이를 통해 결제를 하면 자동적으로 카드사나 토스 같은 뱅킹 어플 서버에 자동으로 사용 내역이 저장된다.

자료가 모여서 분석 및 가공하면 하나의 정보가 된다.

다음과 같이 소비하면 카드사로부터 문자가 전송됨과 동시에 카드사 관련 DB에는 우리의 소비 정보가 전송된다.

그리고 우리가 소비한 내역들을 토대로 어느 부분에서 얼마나 사용하고 있는지와 전체 퍼센트 중 얼마나 비중을 차지하고 있는지에 대한 소비 패턴을 보여준다. 이를 본 사용자는 자신의 소비패턴을 파악하고 앞으로의 소비 계획을 세우고 불필요한 지출을 줄이려고 할 것이다. 이처럼 수많은 자료를 기반으로 분석 및 가공하여 사용자에게 유용한 정보를 제공하는 것을 시작으로 의사결정에 도움을 줄 수 있다. 이를 통해 자료와 정보의 상관관계를 확인할 수 있다.

- 데이터베이스란?

데이터베이스(Database)란 특정한 목적을 중심으로 여러 사용자들과 데이터를 공유 및 사용하면서 효율적인 데이터 검색 및 관리를 위해 정형화된 데이터의 집합을 의미한다.

이때 효율적인 데이터 관리라는 것은 '여러 사용자들과의 공유', '데이터 누락 및 중복 없음', '일관된 방법을 통한 관리', '데이터 통합 관리' 이 4가지의 조건이 전제되어 있다.

여기서 '일관된 방법을 통한 관리'는 SQL 명령어를 활용한 관리를 의미한다. 정해진 명령어를 통해서만 데이터를 사용 및 관리할 수 있기 때문이다. '데이터 통합 관리' 부분은 기존 파일 시스템과 비교해서 보면 파일 시스템은 데이터가 각 프로그램마다 존재하기 때문에 아무리 같은 데이터로 시작했어도 한 곳에서 변경하면 다른 곳에서 그들의 데이터 처리 현황을 알 수 없다. 이러한 과정에서 데이터의 불일치성이 발생하고 중복 또는 누락도 발생한다.

이는 실제 현장에서 이러한 일이 발생하게 되면 데이터의 불일치 때문에 상호 협력이 안되며 업무 처리하는 데 어려움을 겪게 한다. 이러한 이유 때문에 서로 데이터를 공유해야 하는 상황에서는 데이터베이스가 필수이다.

데이터베이스를 사용하게 된다면 하나의 데이터 공간을 각각 다른 프로그램에서 공유하고 데이터를 다루는 현황을 모두 실시간으로 볼 수 있기 때문에 데이터의 불일치성으로 나오는 불편함이 개선된다.

이는 곧 효율적인 데이터 관리의 모든 특성을 설명하는 좋은 부분이 될 것이라고 본다.

 

관계형 데이터베이스(Relationship Database)란 관계형 데이터 모델을 바탕으로 서로 다른 데이터베이스끼리의 관계를 중심으로 데이터를 저장하고 관리하는 데이터베이스를 의미한다. 이때 관계형 데이터 모델이란 데이터 간의 관계를 중점으로 두는 모델을 의미한다.

 

이러한 데이터베이스를 전적으로 관리하는 시스템을 'DBMS (DataBase Management System)'이라고 한다.

- SQL 문법 종류

SQL 질의어 종류

SQL의 질의어는 크게 5가지로 구성되어 있으며 각 종류마다 사용하는 목적과 처리되는 단위가 다르다.

  • DQL (Data Query Language) : 원하는 데이터를 조회하는 명령어
  • DDL (Data Definition Language) : 데이터 관리를 위한 테이블을 시작으로 객체 생성, 수정, 삭제하는 명령어
  • DML (Data Manipulation Language) : 테이블의 데이터를 저장, 수정, 삭제하는 명령어
  • TCL (Transaction Control Language) : 트랜잭션 데이터의 영구 저장 및 취소, 백업 기점 등과 관련된 명령어
  • DCL (Data Control Language) : 데이터 사용 권한과 관련된 명령어

+ 데이터베이스에서는 테이블을 하나의 객체로 본다.

+ 데이터베이스 트랜잭션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위 (출처 : 위키백과)

 

다음 글은 데이터 모델에 대한 설명에 대한 글입니다.

반응형