본문 바로가기
DATABASE/DB study

DB 종류/DB 서버 모델/웹 애플리케이션 구조/SqlLite

by 개폰지밥 2019. 5. 9.
반응형

Sql 첫걸음 읽으면서 정리

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

Sql은 그중 관계형 데이터베이스 관리 시스템(RDBMS: Relational Database Management System)’을 조작할 때 사용합니다.

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

 

데이터베이스 종류

- 계층형 데이터베이스

폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 데이터베이스입니다. 하드디스크나 dvd 파일시스템을 이러한 계층형 데이터베이스라고 할 수 있습니다.

-  관계형 데이터베이스

관계 대수라는 것에 착안하여 고안한 데이터베이스입니다. 관계 대수라고 하면 뭔가 어려워 보이지만, 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리킵니다.

- 객체지향 데이터베이스

객체(object)라는 것을 중심으로 프로그래밍하는 언어입니다. 여기서 가능하면 객체 그대로를 데이터베이스의 데이터로 저장하는 것이 객체지향 데이터베이스입니다.

- Xml 데이터베이스

xml이란 자료 형식을 가리키는 용어로, 태그를 이용해 마크업 문서를 작성할 수 있게 정의한 것입니다. 태그는 <data>데이터</data>와 같은 형식으로 표현합니다. 마치 html과 흡사합니다. Xml 데이터베이스는 이처럼 xml 형식으로 기록된 데이터를 저장하는 데이터베이스입니다.

 

SQLite란?

이름에서 알 수 있듯이 SQLite는 휴대단말 등 작은 하드웨어용으로 경량화한, 임베디드 시스템에 자주 쓰이는 RDBMS입니다.

 

DB 서버

클라이언트/서버 모델

많은 rdbms가 클라이언트/서버 모델을 채택해 가동 중입니다. 일반적인 rdbms는 네트워크 상에 하나의 서버를 두고 독점해 사용합니다. 하지만 이 글을 보고 있는 우리는 데이터베이스를 공부할 때나 개발을 진행할 때 고가의 서버를 준비하기가 어려울 수 있습니다. 이런 경우 자신의 pc에 클라이언트와 서버 모두를 실행시켜 운용할 수 있습니다.

- 웹 시스템에서의 클라이언트/서버

웹 시스템에서 클라이언트가 웹 서버에 요청을 보냅니다. 요청 내용은 대부분 이 페이지를 열람하고 싶다입니다. 이것을 리퀘스트라고 합니다. 클라이언트의 요청을 받은 웹 서버에서는 그에 맞게 처리합니다. 요청이 이 페이지를 열람하고 싶다이므로, 서버는 브라우저가 페이지를 표시할 수 있도록 HTML로 된 데이터를 클라이언트로 반환합니다. 이렇게 서버의 응답을 리스폰스라고 합니다.

이것으로, 전형적인 클라이언트/서버 모델에서의 처리가 하나 종료되었습니다.

실제 웹에서는 요청과 응답이 되풀이되면서 웹 페이지가 표시됩니다.

 

- RDBMS의 클라이언트/서버

사용자 인증이 필요하다.

 

웹 애플리케이션의 구조

웹 애플리케이션은 일반적으로 웹 서버와 데이터베이스 서버의 조합으로 구축됩니다. 웹 시스템은 클라이언트/서버 모델로 구성되며 브라우저가 클라이언트, 아파치나 IIS와 같은 웹 소프트웨어가 서버 역할을 합니다.

웹 사이트가 정적인 HTML만으로 구성되어 있다면 웹 서버만으로도 시스템을 구축할 수 있을 것입니다. 하지만 웹 애플리케이션이라 부를 정도의 규모라면 데이터베이스가 필요합니다.

웹 서버에서 동적으로 HTML을 생성하려면 제어용 프로그램이 필요합니다. 웹 서버에서는 CGI라 불리는 동적 콘텐츠를 위한 확장 방식이 있습니다.

프로그래밍 언어로서는 펄(Perl)이나 PHP, 루비(Ruby)등의 스크립트 언어가 자주 사용됩니다. 윈도우의 경우는 ASP.NET이 많이 사용되며, 자바와 Servlet과 같은 조합도 있습니다.

실제로 데이터베이스에 접속하는 것은 PHP나 루비 등의 프로그래밍 언어로 만들어진 CGI 프로그램입니다. 데이터베이스 서버를 사용하기 위해서는 먼저 데이터베이스 서버와의 접속이 성립되어야 합니다. 그 후 데이터베이스에 필요한 SQL 명령을 전달하고, 실행 결과는 클라이언트로 되돌아 갑니다. 이때 웹 서버의 CGI 프로그램이 데이터베이스의 클라이언트가 됩니다.

MYSQL 패키지를 PC에 인스톨하면 서버와 클라이언트 모두 사용할 수 있습니다. MYSQL 서비스가 데이터베이스 서버가 되고, mysql 커맨드가 클라이언트가 됩니다.

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

 

[정리]

- 데이터베이스

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

- DBMS

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

- RDBMS

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

- SQL

RDBMS에서 데이터를 조작하는 명령입니다.

- SQL 방언

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

- 데이터베이스 서버

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

반응형

'DATABASE > DB study' 카테고리의 다른 글

postsql basic sql  (0) 2019.08.20
what different between oracle 11g and oracle 12c  (2) 2019.08.02
oracle Encrypt(DigestSHA256) - 1  (0) 2019.02.21
plug-in  (0) 2019.02.20
sql developer 접속할 때 생기는 에러  (0) 2019.02.07

댓글