[sql 첫걸음] 1. 데이터베이스와 SQL

ㅎㅎ·2021년 9월 12일
0

SQL

목록 보기
3/5

📌 1강 데이터 베이스

- 데이터 베이스

데이터의 집합을 데이터베이스라고 한다. 이 데이터베이스 내의 데이터는 영구적으로 보전되어야하는데 따라서 데이터베이스의 모든 데이터는 하드디스크나 플래시메모리(SSD)와 같은 비휘발성 저장장치에 저장해야한다.

- DB와 DBMS

DB: Database의 약자
DBMS : 데이터 베이스를 효율적으로 관리하는 소프트웨어를 데이터베이스 관리 시스템 (Database Management System)

  • DBMS와 같은 전용 소프트웨어 가 필요한 이유?
  1. 생산성 : 시스템 개발 과정에서의 생산성 향상을 도모할 수 있다. 어떤 시스템에서든지 데이터 검색, 추가, 삭제, 갱신과 같은 처리가 이루어지는 이런 기능 기능을 DBMS가 제공한다.
  2. 기능성 : DBMS는 데이터베이스를 다루는 기능을 많이 제공한다. 복수 유저의 요청에 대응하거나, 대용량의 데이터를 저장하고 고속으로 검색하는 기능을 제공한다.
  3. 신뢰성 : 대규모 데이터 베이스는 많은 요청에 대응할 수 있도록 만들어져 있는데 이를 위해 하드웨어를 여러대로 구성해 신뢰성을 높이는 동시에 성능 향상을 하기도 한다.

- 데이터베이스를 조장하는 언어 sql

이렇듯 DBMS를 이용하면 간접적으로 데이터베이스를 참조할 수 있고, 데이터를 추가하거나 삭제,갱신할 수 있다. 이 같은 DBMS와의 대화에 필요한 것이 바로 sql이다. 데이터베이스에도 몇 가지 종류가 있으나 sql은 그중 관계형 데이터베이스 관리 시스템(RDBMS : Retaional Database Management System)을 조정할 때 사용한다.

  • sql 명령의 종류
  1. DML : Data Manipilation Language 즉 데이터 조작. 데이터 베이스에 새롭게 데이터를 추가하거나 삭제,갱신하는 등 데이터를 조작할 때 사용한다.
  2. DDL : Data Definition Language 즉 데이터 정의. 데이터 베이스는 '데이터 베이스 객체(object)'라는 데이터 그릇을 이용해 데이터를 관리하는데 이 같은 객체를 만들거나 삭제하는 명령어다 .
  3. DCL : Data Control Langauge 즉 데이터베이스 제어. DCL이는 트랜잭션을 제어하는 명령과 데이터 접근권한을 제어하는 명령이 포함되어 있다.

📌 2강. 다양한 데이터베이스

- 데이터베이스 종류

데이터베이스 중에서도 sql로 데이터를 다루는 데이터베이스를 관계형 데이터 베이스(RDB : Relational Database) 라고 한다.

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

1. 계층형 데이터 베이스
폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 데이터베이스. 하드디스크나 DVD파일 시스템을 이러한 계층형 데이터 베이스라고 한다. 하지만 현재 DBMS로써 채택되는 경우는 많지 않다.

2. 관계형 데이터 베이스
행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터 베이스를 가리킨다. 여기서 표 형식이 데이터란 2차원 데이터를 말한다. 가로 방향으로는 "열", 세로 방향으로는 "행"을 나열한다. 엑셀시트를 떠올리면 된다. 관계형 데이터베이스에는 이러한 표를 잔뜩 저장해두고, 각각의 표에 이름을 붙여 관리한다. 그리고 안의 데이터는 sql 명령어로 조작한다.

3. 객체지향 데이터 베이스
자바나 C++를 객체지향 언어라고 하는데 객체 그대로를 데이터베이스의 데이터로 저장하는 것이 객체지향 데이터베이스이다.

4. XML 데이터 베이스
XML이란 자료 형식을 가리키는 용어로, 태그를 이용해 마크업 문서를 작성할 수 있게 정의한 것이다. 태그는 HTML태그처럼 <data> </data>와 같은 형식으로 표현한다. XML데이터 베이스는 이처럼 XML형식으로 기록된 데이터를 저장하는 데이터베이스이며, sql 명령을 사용하지 못하고, XQuery라는 전용 명령어를 사용한다.

5. 키-밸류 스토어(KVS)
키와 그에 대응하는 값(value)라는 단순한 형태의 데이터를 저장하는 데이터베이스이다. 키와 밸류의 조합은 연상배열, 해시테이블에서 자주 볼 수 있다. Nosql이라는 슬로건으로부터 생겨난 데이터베이스이고 열 지향 데이터베이스라고 불린다.


📌 3강. 데이터베이스 서버

RDBMS는 복수의 클라이언트가 보내오는 요청에 응답할 수 있도록 클라이언트/서버 모델로 동작한다. 클라이언트는 서버에 접속 요청이나 sql 명령 실행요청을 보낼 수 있다. 그리고 서버는 이를 처리라고, 클라이언트에 그 결과를 반환한다.

- 클라이언트/서버 모델

웹 시스템에서 클라이언트 기능을 하는 브라우저는 사용자가 지정한 url과 연결된 웹 서버에 요청을 보낸다. 그리고 이때 클라이언트가 보내는 요구사항을 웹 용어로는 리퀘스트(요청)하고 한다. 클라이언트의 요청을 받은 웹 서버에서는 요청에 맞게 처리를 한다. 서버는 브라우저가 페이지를 표시할 수 있도록 HTMl로 된 데이터를 클라이언트로 반환한다. 이 서버의 응답은 리스폰스(응답)라고 한다.

RDBMS도 웹 시스템과 마찬가지로 클라이언트/서버 모델로 시스템이 구성된다. 하지만 단순히 요청/응답을 되풀이하지는 않는다. RDBMS는 사용자 별로 데이터베이스 접근을 제한할 수 있기 때문에 먼저 사용자 인증이 필요하다. 사용자 인증은 사용자 ID와 비밀번호로 실행된다.

0개의 댓글