##본 포스팅은 "SQL 첫걸음 - 아사이 아츠시" 책을 보고 요약한 것입니다.
데이터베이스 서버
> 클라이언트/서버 모델
사용자 조작에 따라 요청을 전달하는 '클라이언트'와 해당 요청을 받아 처리하는 '서버'로 소프트웨어를 나누고,
복수의 컴퓨터 상에서 하나의 모델을 구현하는 시스템이다.
클라이언트/서버 모델은 시스템의 하드웨어 구성을 유연하게 변경할 수 있도록 해준다.
클라이언트가 많아져 서버의 능력이 부족해지면 추가로 설치하여 분산해 시스템 전체 성능을 높일 수도 있는 것이다.
> 웹 어플리케이션에서의 서버
웹 서버에서 동적으로 HTML을 생성하려면, 제어용 프로그램이 필요하다.
웹 서버에는 CGI라 불리는 동적 컨텐츠를 위한 확장 방식이 있는데, 이를 이용하여 프로그램과 웹 서버 간을 연동, 통신하여 처리한다.
프로그래밍 언어로는 펄이나 PHP, 루비 등의 스크립트 언어가 자주 사용되며, 윈도우의 경우엔 ASP.NET, 자바와 Servlet도 있다.
실제로 데이터베이스에 접속하는 것은 PHP나 루비 등의 프로그래밍 언어로 만들어진 CGI 프로그램이다.
데이터베이스 서버를 사용하기 위해서는 아래와 같은 과정이 필요하다.
1) 데이터베이스 서버와의 접속이 성립
2) 데이터베이스에게 필요한 SQL 명령을 전달
3) 실행 결과는 클라이언트로 되돌아 감
이 때 웹 서버의 CGI 프로그램이 데이터베이스의 클라이언트가 된다.
웹 서버와 데이터베이스 서버를 서로 다른 머신에 두면 처리가 분산되어 시스템 전체 성능이 향상된다.
> 루프 백 접속
PC 한 대로 클라이언트와 서버 모두 실행할 수 있지만 네트워크 기능은 필요하다.
클라이언트에서 서버에 접속할 필요가 있는데, 이 때 네트워크를 경유해서 PC의 서버로 되돌아오는 형태로 접속한다.
Hello World
SQL에서의 Hello World
SELECT * FROM table1;
(아는 것은 간단히 적고, 새로 알게된 것 위주로 정리하자면)
SQL 명령은 키워드에 의해 '구'라는 단위로 나눌 수 있다.
위와 같은 경우엔, SELECT구 / FROM구
> 예약어와 데이터베이스 객체명
위 경우엔, SELECT와 FROM이 예약어이자 키워드이다.
데이터베이스에는 테이블과 뷰와 같은 다양한 데이터를 저장하거나 관리하는 '데이터베이스 객체'를 만들 수 있다.
이는 이름을 붙여 관리하는데 이때 예약어와 동일한 이름으로는 지을 수 없다.
> 테이블은 행과 열로 구성된 표 형식의 데이터
테이블은 행(레코드), 열(컬럼/필드)로 구성된다.
행과 열이 만나는 셀에는 데이터가 저장되어있는데,
- 숫자로만 구성된 데이터 = 수치형 데이터
- 문자로만 구성된 데이터 = 문자열형 데이터
- 날짜와 시각을 나타내는 데이터 = 날짜시간형
으로 나눌 수 있으며, 열은 하나의 자료형만 가질 수 있다.
값이 없는 경우는 NULL로 표시된다.
'Database' 카테고리의 다른 글
데이터베이스 첫걸음 3강] 데이터베이스 비용 (0) | 2021.09.26 |
---|---|
SQL 첫걸음 5장~6장] 테이블 구조 참조와 검색 조건 (0) | 2021.09.26 |
데이터베이스 첫걸음 2장] 관계형 데이터베이스 (0) | 2021.09.19 |
데이터베이스 첫 걸음 1장] 데이터베이스 (0) | 2021.09.12 |
SQL 첫걸음 1장~2장] 데이터베이스와 SQL (0) | 2021.09.11 |