1 minute read

[SQL 첫걸음] 1주차

1장 데이터베이스와 SQL

1강 데이터베이스

  • 데이터: 컴퓨터 안에 기록되어 있는 숫자
  • 데이터베이스 : 데이터의 집합

데이터는 영구적으로 보존되어야 하기 때문에 하드디스크나 SSD 등 비휘발성 저장장치에 저장된다.

  1. 시스템 내의 데이터베이스

데이터베이스의 예시)

데이터센터에 설치된 데이터베이스 : 인터넷 쇼핑몰

데이터베이스에 데이터가 전송되는 경우 : 계산대

휴대용 기기의 데이터베이스 : 핸드폰의 전화번호부

결론 : 데이터베이스는 다양한 시스템에서 사용한다.

  1. DB와 DBMS

DB : 저장장치 내에 정리되어 저장된 데이터의 집합

DBMS : 데이터를 효율적으로 관리하는 소프트웨어

DBMS가 필요한 이유, 사용 목적 :

- 생산성 : 시스템 개발 과정에서의 생산성 향상. 데이터 검색, 추가, 삭제, 갱신과 같은 기본 기능을 DBMS가 제공한다.

- 기능성 : 데이터베이스를 다루는 기능을 많이 제공. 복수 유저 대응, 대용량 데이터 처리 etc.

- 신뢰성 : 대규모 데이터베이스는 많은 요청에 대응할 수 있도록 만들어져있다. 클러스터 구성, 스케일 아웃.

  1. 데이터베이스를 조작하는 언어 SQL

DBMS에서 사용하는 언어이다. 관계형 데이터베이스 관리 시스템(RDBMS)을 조작할 때 사용된다.

SQL 명령은 크게 DML, DDL, DCL로 나뉘어 진다.

2강 다양한 데이터베이스

DBMS는 다양한 종류가 존재한다.

그중에서 SQL로 데이터를 다루는 데이터베이스를 관계형 데이터베이스(RDB)라고 부른다.

  1. 데이터베이스 종류

DBMS는 데이터 저장 방법에 따라 몇가지로 분류할 수 있다.

- 계층형 데이터베이스 :폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식. 요즘에는 잘 사용하지 않는다.

- 관계형 데이터베이스 : 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 DB. SQL 명령어로 조작할 수 있다.

- 객체지향 데이터베이스 : 객체 그대로를 데이터베이스의 데이터로 저장하는 것

- XML 데이터베이스 : XML 형식으로 기록된 데이터를 저장하는 데이터베이스

- 키-밸류 스토어 (KVS) : 키와 그에 대응하는 값이라는 단순한 형태의 데이털ㄹ 저장하는 데이터베이스

앞으로 관계형 데이터베이스에 집중할 것이다.

  1. RDBMS 사용 시스템

일반적로 사용하는 인프라는 인터넷이다.

요즘은 웹 시스템과 연동하여 사용하는 경우도 많다.

  1. 데이터베이스 제품

RDBMS : 관계형 데이터베이스를 관리하는 소프트웨어

아래는 모두 RDBMS 제품으로 SQL을 사용할 수 있다.

- Oracle : 현재 가장 많이 쓰이는 RDBMS 중 하나이다.

- db2 : IBM이 개발

- SQL server : MS가 개발. 윈도우에서만 작동

- postgreSQL : 오픈소스 커뮤니티가 개발. 무료이다.

- MySQL : 오픈소스 커뮤니티에서 개발.

- SQLite : 오픈소스 커뮤니티에서 개발. 임베디드 시스템이서 자주 쓰이는 작은 RDBMS이다.

  1. SQL이 방언과 표준화

모든 RDBMS에서 SQL을 사용할수는 있지만 각 제품마다 별도의 확장 기능이 생겨나면서 특정 데이터베이스 제품에서만 통용되는 ‘방언’이라는 것이 생겨났다.

예시) 키워드 생략

DELETE 명령어. 어떤 DB는 FROM을 생략해도 되고 어떤 DB는 생략하면 에러가 난다.

예시) 외부결합

Oracle에서는 + 연산자를, SQL Server에서는 *= 연산자를 사용한다.

하지만 표준 SQL을 사용하기를 권장한다.

Updated: