본문 바로가기
SQL

[SQL] 데이터베이스와 SQL

by lmyourpearl 2025. 11. 18.

'잘 수집된 데이터를 분석하고 가공하면 새로운 가치를 만들어 낼 수 있는 정보를 얻을 수 있다.'

데이터는 어떤 필요 때문에 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체를 의미하며,

정보는 수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여 가치를 추가하거나 새로운 의미를 이끌어 낼 수 있는 결과.

 

데이터 베이스

아래의 조건을 만족하면서 특정 목적을 위해 여러 사람이 공유하여 사용할 수 있으며 효율적인 관리와 검색을 위해 구조화된 데이터 집합.

  • 데이터를 통합하여 관리
  • 일관된 방법으로 관리
  • 데이터 누락 확인과 중복 제거
  • 여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능

데이터베이스를 통한 관리란 여러 목적으로 사용할 데이터의 접근,관리 등의 업무를 데이터베이스 관리 시스템(DBMS)가 전담하는 방식을 말한다. 응용 프로그램이 필요한 데이터 작업을 DBMS에 요청하면 DBMS는 자신이 관리하는 데이터베이스로 관련 작업을 수행하고 결과를 제공하고, 이러한 작업 영역의 분리는 응용 프로그램의 서비스 제공과 데이터 관련 작업 효율을 높임. 또한 여러 응용 프로그램이 하나의 통합된 데이터를 같은 방식으로 사용,관리할 수 있으므로 데이터 누락이나 중복을 방지할 수 있음.


데이터 모델

컴퓨터로 데이터를 저장하고 관리하는 방식을 정의한 개념으로 계층형, 네트워크형, 객체 지향형, 관계형 등이 있음.

  • 계층형 데이터 모델은 나뭇가지 형태의 tree구조를 활용하여 데이터 관련성을 계층별로 나누어 부모 자식 관계로 정의하고 데이터를 관리하며, 일대다(1:N) 관계의 데이터 구조를 파악해야 함.
  • 네트워크형 데이터 모델은 망형 데이터 모델이라고도 하며 graph구조를 기반으로하며, 개체 간 관계를 그래프 구조로 연결하므로 자식 개체가 여러 부모 개체를 가질 수 있다는 점에서 계층형 데이터 모델과 차이가 있음.
  • 객체 지향형 데이터 모델(object-oriented data model)은 객체 지향 프로그래밍에서 사용하는 객체 개념을 기반으로 한 데이터 모델로, 데이터를 독립된 객체로 구성하고 관리하며 상속,오버라이드 등 객체 지향 프로그래밍에 사용하는 강력한 기능을 활용할 수 있음.
  • 관계형 데이터 모델(relational data model)은 다른 모델과 달리 데이터 간 관계에 초점을 두어 각 데이터의 독립 특성만을 규정하여 데이터 묶음을 나눔.
이름 설명
개체
(entity)
데이터베이스에서 데이터화하려는 사물, 개념의 정보 단위.
관계형 데이터베이스의 테이블(table)개념과 대응하며, 테이블은 릴레이션(relation)으로 표기하기도 함.
속성
(attribute)
개체를 구성하는 데이터의 가장 작은 논리적 단위로, 데이터의 종류,특성,상태 등을 정의함.
관계형 데이터베이스의 열(column)개념과 대응함.
관계
(relationship)
개체와 개체 또는 속성 간의 연관성을 나타낼 때 사용.
관계형 데이터베이스에서는 테이블 간의 관계를 외래키(foreign key)등으로 구현하여 사용함.

이 핵심 구성 요소를 활용하여 데이터의 독립성(independency)과 무결성(integrity)처럼 데이터를 안전하게 관리하는데 필요한 개념.

* 오라클 데이터베이스를 포함한 여러 관계형 데이터베이스는 관계형 데이터 모델을 바탕으로 함.


관계형 데이터베이스(RDBMS:Relational Database Management System)

관계형 데이터 모델 개념을 바탕으로 데이터를 저장,관리하는 데이터베이스로 ORACLE, MS-SQL, MySQL, MariaDB, PostgreSQL, DB2등이 있음.

 

SQL(Structured Query Language)

에스큐엘, 시퀄이라고 하며 RDBMS에서 데이터를 다루고 관리하는 데 사용하는 데이터베이스 질의 언어.

종류 설명
DQL(Data Query Language) RDBMS에 저장한 데이터를 원하는 방식으로 조회하는 명령어
DML(Data Manipulation Language) RDBMS 내 테이블의 데이터를 저장,수정,삭제하는 명령어
DDL(Data Definition Language) RDBMS 내 데이터 관리를 위해 테이블을 포함한 여러 객체를 생성,수정,삭제하는 명령어
TCL(Transaction Control Language) 트랜잭션 데이터의 영구 저장,취소 등과 관련된 명령어
DCL(Data Control Language) 데이터 사용 권한과 관련된 명령어

 

수 많은 데이터에서 모델링과 실험에 필요한 데이터를 얻고가 관계형 데이터베이스 내 데이터를 제어하는 방법으로 SQL구문을 사용함으로

SQL 구문을 학습해 관계형 데이터베이스에서 필요한 데이터만 조회하는 방법을 알아야함.