일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 모두를 위한 딥러닝
- 깃 터미널 연동
- 백준 4358번
- SQL
- 리액트 네이티브 프로젝트 생성
- 팀플회고
- HTTP
- 지네릭스
- 깃 연동
- 딥러닝
- 네트워크
- 백준
- 리액트 네이티브
- 리액트 네이티브 시작하기
- 백준 5525번
- 모두의네트워크
- 깃허브 로그인
- 모두의 네트워크
- 머신러닝
- 정리
- 문자열
- 모두를위한딥러닝
- 데베
- 깃허브 토큰 인증
- 자바
- 백준 4358 자바
- 백준 4949번
- React Native
- 데이터베이스
- 스터디
- Today
- Total
솜이의 데브로그
3,4강 ) 데이터베이스 서버, Hello World 실행 본문
Reference : SQL 첫걸음
3강 ) 데이터베이스 서버
많은 RDBMS는 클라이언트/서버 모델을 채택해 가동중이다.
데이터를 네트워크로 연결된 서버라는 관점으로 두고 진행.
- 클라이언트 : 서버에 접속 요청이나 SQL 명령 실행 요청을 보낼 수 있다.
- 서버 : 이를 처리하고 클라이언트에 그 결과 반환.
일반적인 RDBMS는 네트워크 상에 하나의 서버를 두고 독점해 사용. (연습할땐 자신의 pc에 클라이언트와 서버 모두 실행)
1. 클라이언트/서버 모델
사용자조작에 따라 요청을 전달하는 클라이언트 + 해당 요청을 받아 처리하는 서버
복수의 컴퓨터 상에서 하나의 모델을 구현하는 시스템.
웹 시스템에서의 클라이언트/서버
웹시스템에서 클라이언트 기능을 하는 브라우저는 사용자가 지정한 URL과 연결된 웹 서버에 요청을 보낸다.
클라이언트가 보내는 요청을 request라고 한다. (대부분 페이지 열람 요청)
요청을 받은 웹 서버에서는 그에 맞게 처리. 페이지 열람 요청의 경우, 브라우저가 페이지를 표시할 수 있도록 HTML로 된 데이터를 클라이언트로 반환. 서버의 응답은 response 라고 한다.
RDBMS의 클라이언트/서버
웹 시스템에는 없었던 사용자 인증이 필요하다. RDBMS는 사용자별로 데이터베이스 접근을 제한 할 수 있기 때문.
사용자 인증은 사용자 ID와 비밀번호로 실행.
SQL 명령 실행
RDBMS에 접속하면 SQL명령을 서버에 보낼 수 있다.
서버가 가동중이고 네트워크에 연결되어 있다면, 클라이언트에서 SQL 명령을 보낼 때 서버는 응답할 것이다.
2. 웹 애플리케이션의 구조
웹 애플리케이션은 일반적으로 웹 서버 + 데이터베이스 서버
웹 시스템은 클라이언트/서버 모델로 구성되며, 브라우저가 클라이언트, 아파치, IIS와 같은 웹 소프트웨어가 서버 역할을 함.
웹 서버에서 동적으로 HTML을 생성하려면 제어용 프로그램이 필요하다. 웹 서버에는 CGI라 불리는 동적 콘텐츠를 위한 확장 방식이 있다. 이 CGI를 이용하여 프로그램과 웹 서버간을 연동, 통신하여 처리.
이 때 프로그래밍 언어는 Perl, PHP, Ruby 등의 스크립트를 많이 사용.
실제로 데이터베이스에 접속하는것은 PHP 나 루비 등의 프로그래밍 언어로 만들어진 CGI 프로그램이다.
웹서버의 CGI 프로그램은 데이터베이스의 클라이언트가 된다.
웹 서버와 데이터베이스 서버를 서로 다른 머신에 두면 처리가 분산되어 시스템 전체 성능이 향상된다.
★클라이언트/서버 모델은 유연한 하드웨어 구성을 실현한다!
3. MySQL 서버와 mysql 클라이언트
MySQL 패키지를 PC에 인스톨하면 서버와 클라이언트 모두 사용할 수 있다. 하지만 네트워크 기능은 필요.
클라이언트에서 서버에 접속할 때, 네트워크를 경유해서 PC의 서버로 되돌아오는 형태로 접속하는 것을 '루프 백 접속'이라 부른다.
4강 ) Hello World 실행하기
Select 명령
SELECT * FROM 테이블명;
SELECT 명령은 '질의' 또는 '쿼리'라고 불리기도 한다.
SELECT : 선택, * : 모든 열, FROM : ~테이블에서.
위의 명령어 실행 결과 테이블의 모든 행과 열의 데이터가 화면에 출력된다.
SQL명령은 mysql 클라이언트에 문자를 입력하여 실행할 수 있다. mysql 클라이언트를 명령 프롬프트에서 실행한다.
→ mysql 클라이언트에 SQL 명령을 입력하여 실행할 수 있으며, 명령의 마지막에는 ; 를 붙인다.
예약어와 데이터베이스 객체명
- SELECT, FROM : 구를 결정하는 키워드이자 예약어.
- 통상적으로 데이터베이스 객체 명에는 예약어와 동일한 이름을 사용할 수 없다.
- 예약어와 데이터베이스 객체명은 대소문자를 구별하지 않는다.
- 숫자만으로 구성된 데이터를 '수치형' 데이터라고 한다. 오른쪽 정렬로 표시.
- 임의의 문자로 구성된 데이터를 '문자열형' 데이터라고 한다. 왼쪽으로 정렬
- 날짜와 시각을 나타내는 데이터를 '날짜시간형' 데이터라고 한다. 왼쪽 정렬
★ 열은 하나의 자료형만 가질 수 있다.
값이 없는 데이터 = NULL
NULL 은 특별한 데이터값으로 아무것도 저장되어 있지 않은 상태를 의미한다.
'CS > Database' 카테고리의 다른 글
5,6강 ) 테이블 구조 참조하기, 검색 조건 지정하기 (0) | 2021.09.26 |
---|---|
3장 ) 데이터베이스 초기비용 (0) | 2021.09.25 |
2장 ) 관계형 데이터베이스란 (0) | 2021.09.15 |
1, 2강 ) 데이터베이스 (0) | 2021.09.08 |
1장) 데이터베이스란 (0) | 2021.09.08 |