IT/SQL

[SQL 기초] 1-3. 데이터베이스 서버

AmeliaY 2024. 1. 25. 09:08
728x90

 

 

1. 클라이언트/서버 모델

 

클라이언트/서버 모델이란, 사용자 조작에 따라 요청을 전달하는 '클라이언트'와 해당 요청을 받아 처리하는 '서버'로 소프트웨어를 나누고, 복수의 컴퓨터 상에서 하나의 모델을 구현하는 시스템을 말한다.

클라이언트/서버 모델

 

  • 웹 시스템에서의 클라이언트/서버 : 브라우저와 웹 서버로 구성되는 클라이언트/서버 모델의 시스템. 클라이언트가 웹 서버로 요청(request)을 보내면, 웹 서버는 데이터를 클라이언트로 반환하며, 네트워크를 통해 응답(response)한다.

웹 시스템에서의 클라이언트/서버
요청(request)과 응답(response)

  • RDBMS의 클라이언트/서버 : 요청과 응답을 위해 웹 시스템에는 없었던 사용자 인증이 필요하다. 

사용자 인증

  • SQL 명령 실행 : 서버가 가동 중이고 네트워크에도 연결되어 있다면, RDBMS에 접속하면 SQL 명령을 서버에 보낼 수 있다.

 

 

2. 웹 애플리케이션의 구조

 

웹 시스템은 클라이언트/서버 모델로 구성되며 브라우저가 클라이언트, 아파치나 IIS와 같은 웹 소프트웨어가 서버 역할을 한다. 클라이언트가 서버에게 요청하면 웹 서버는 클라이언트에 응답한다.

웹 시스템의 요청과 응답

 

웹 서버에서 동적으로 HTML을 생성하려면 제어용 프로그램이 필요하다. 웹 서버에는 CGI라 불리는 동적 콘텐츠를 위한 확장 방식이 있는데, 이 CGI를 이용하여 프로그램과 웹 서버 간을 연동, 통신하여 처리한다.

웹 시스템과 CGI

 

실제 데이터베이스 서버에 접속하는 것은 CGI 프로그램이다. 데이터베이스 서버를 사용하기 위해서는 데이터베이스 서버와의 접속이 성립되어야 하며, 그 후 데이터베이스에 필요한 SQL 명령을 전달하고 실행 결과는 클라이언트로 되돌아 간다. 이 때 웹 서버의 CGI 프로그램이 데이터베이스의 클라이언트가 된다.

CGI와 데이터베이스

 

 

3. MySQL 서버와 mysql 클라이언트

 

[SQL 기초] 포스팅에서는 MySQL을 기반으로 한다.

MySQL 패키지를 PC에 인스톨하면 서버와 클라이언트 모두 사용 가능하다.

 

이처럼 PC 한 대로 클라이언트와 서버 모두 실행할 수 있지만 네트워크 기능은 필요하다. 클라이언트에서 서버에 접속할 필요가 있는데, 이때 네트워크를 경유해서 PC의 서버로 되돌아오는 형태로 접속하는 것을 '루프 백 접속'이라 한다.

 

 

※ 1장 용어 모음

데이터베이스
비 휘발성 저장장치에 저장되는 영속된 데이터의 집합. 단순 저장에 그치지 않고, 용이한 검색을 실현하도록 정리해 준다.

DBMS
데이터베이스를 관리하는 소프트웨어.

RDBMS
데이터베이스를 관계형 모델로 관리하는 소프트웨어.

SQL
RDBMS에서 데이터를 조작하는 명령.

SQL 방언
데이터베이스 제품 종류는 다양하며, 경우에 따라 표준과 다른 SQL 명령을 사용하기도 하는데, 이를 SQL 방언이라고 부른다.

데이터베이스 서버
RDBMS는 클라이언트/서버 모델로 구성된다. 클라이언트는 데이터베이스 서버에 접속해 SQL 명령을 실행하여 데이터베이스를 조작할 수 있다. 

 

 

참고 서적: 아사이 아츠시,"SQL 첫걸음"

 

 

- End.

728x90