728x90
SQL은 관계형 데이터베이스에서 사용할 수 있는 프로그래밍 언어 중 하나로,
먼저 DB의 기본 개념 및 관계형 DB와 기타 DB의 차이점에 대해 확인한다.
또한 데이터베이스 관리 시스템인 DBMS의 개념에 대해서도 확인한다.
0. 데이터베이스란
넓은 의미에서의 데이터베이스란 컴퓨터 안에 기록된 모든 것, 즉 데이터의 집합이라 할 수 있다.
다만 일반적으로 통용되는 데이터베이스의 개념은 특정 데이터를 확인하고 싶을 때 간단하게 찾아낼 수 있도록 정리된 형태, 즉 정리된 데이터라 할 수 있다.
데이터베이스 내의 데이터는 영구적으로 보존되어야 한다. 따라서 데이터베이스의 데이터는 하드디스크나 SSD 등 비휘발성 저장장치에 저장한다.
1. 시스템 내의 데이터베이스
데이터베이스는 쇼핑몰 웹 시스템의 주문정보, POS 시스템의 판매정보, 스마트폰의 전화번호부 등 다양한 시스템에서 활용된다.
2. DB와 DBMS
Database, 즉 DB는 저장장치 내에 정리되어 저장된 데이터의 집합이며, 이를 효율적으로 관리하는 소프트웨어를 데이터베이스 관리 시스템(Database Management System), 즉 DBMS라 부른다.
※ DBMS가 필요한 이유
- 생산성 : 어떤 시스템에서든지 데이터 검색, 추가, 삭제, 갱신과 같은 처리가 이루어지는데, 이와 같은 기본 기능을 DBMS가 제공하여 시스템 개발 과정에서의 생산성 향상 도모가 가능하다.
- 기능성 : 복수 유저의 요청에 대응하거나, 대용량의 데이터를 저장하고 고속으로 검색하는 기능을 제공하기도 하며, 나아가 DB 관리 기능을 유저가 확장할 수도 있어 유연한 시스템 개발이 가능하다.
- 신뢰성 : 하드웨어를 여러 대로 구성하여 신뢰성을 높이는 클러스터 구성/스케일 아웃을 통해 신뢰성을 높이는 동시에 성능 향상이 가능하다. 또한 DB의 데이터를 다른 저장장치로 Export 하거나 Import 하는 기능을 통해 백업이 가능하다.
3. SQL: 데이터베이스를 조작하는 언어
DB를 관리하는 소프트웨어인 DBMS를 활용하여 DB를 참조하거나 데이터를 추가, 삭제, 갱신할 수 있다.
SQL은 위와 같이 DB를 조작할 수 있는 언어로, 특히 관계형 데이터베이스 관리 시스템(RDBMS; Relational Database Management System) 조작 시 사용한다.
※ SQL 명령어의 종류
- 데이터 조작어 (DML; Data Manipulation Language) : DB에 데이터를 추가, 삭제, 갱신하는 등 데이터 조작 시 사용하며, SQL의 가장 기본이 되는 명령 set.
- 데이터 정의어 (DDL; Data Define Language) : 데이터 베이스 객체(object)를 만들거나 삭제하는 명령어.
- 데이터 조작어 (DCL; Data Control Language) : 트랜잭션을 제어하거나, 데이터 접근권한을 제어하는 등 데이터를 제어하는 명령어.
참고 서적: 아사이 아츠시,"SQL 첫걸음"
- End.
728x90