SQL 첫걸음: 1장

나르·2021년 1월 19일
0

RDBMS

목록 보기
2/15
post-thumbnail

🐬 1강 DATABASE


데이터베이스: 데이터 확인에 용이하도록 저장장치 내에 정리된 데이터의 집합.
영구적으로 보존되어야하므로 비휘발성 저장장치(SSD, 하드디스크 등)에 보관됨

1-1. 시스템 내의 데이터베이스
일반적으로 데이터베이스는 데이터센터 서버에서 운용햇지만 현재에는 웹시스템, POS, 휴대전화 등으로도 접근하거나 내장되어있는 등 보다 다양한 시스템에 사용되고 있으며 일상 생활과 밀접한 관련이 있다.

1-2. DB와 DBMS
DB(데이터베이스)를 효율적으로 관리하기 위한 소프트웨어를 DBMS(DataBase Management System)이라고 부른다.

  • 생산성 데이터의 검색, 추가, 삭제, 갱신과 같은 기본 처리 기능을 제공
  • 기능성 복수 유저의 요청에 대응, 대용량 저장, 고속 검색, 유저에 의한 확장 등 유연한 개발이 가능
  • 신뢰성 하드웨어 여러대로 구성해 확장성(Scalability)과 부하분산(Load balancing)을 구현해 신뢰성을 높이고 성능 향상을 도모하는 "클러스터 구성" (또는 "스케일 아웃"), import와 export를 통한 백업

1-3 데이터베이스 조작 언어 SQL
DBMS를 조작하기 위한 언어 중 하나로, 관계형 데이터 베이스 (RDBMS: Relational DataBase Management System)에서 사용한다.

  • DML Data Manipulation Language (데이터 조작)
  • DDL Data Definition Language (데이터 정의)
  • DCL Data Control Language (데이터 제어)

🐬 2강 다양한 데이터베이스


2-1 데이터베이스의 종류

  • 계층형 데이터베이스 : 역사가 오래된 DBMS로 폴더와 파일의 계층 구조로 데이터를 저장.
  • 관계형 데이터베이스 : 행과 열의 표 형식(2차원)으로 데이터를 저장.
  • 객체지향 데이터베이스 : 가능하면 객체 그대로를 데이터로 저장.
  • XML 데이터베이스 : 태그를 이용한 마크업 형식으로 데이터를 저장. XQuery라는 전용 명령어 사용.
  • Key-Value 스토어(KVS) : NoSQL로부터 생겨난 열 지향 데이터베이스. (dictionary 나 hash table 같은 형태)

2-2 RDBMS 사용 시스템
RDBMS은 메인프레임의 대부분이라고 해도 과언이 아닐만큼 다양한 시스템에서 사용되고, 하드웨어가 진화함에 따라 휴대폰에도 경량화 된 RDBMS가 내장되어있다.

2-3 데이터베이스 제품
RDBMS라는 소프트웨어에는 Oracle, MySQL,SQLite,DB2 등 여러 제품이 있고 모두 SQL을 이용해 제어한다.

2-4 SQL의 방언과 표준화
Oracle의 DELETE (FROM)등 키워드 생략, 외부결합 연산자 등 SQL에는 특정 데이터베이스 제품에만 통용되는 고유 방언이 있다. 하지만 표준 SQL을 사용하는 쪽을 권장한다!

🐬 3강 데이터베이스 서버


RDBMS는 복수 클라이언트의 요청에 응답하기 위해 클라이언트/서버 모델로 동작한다. 클라이언트가 서버에 접속요청이나 SQL명령 실행요청을 보내면, 서버는 이를 처리하고 클라에 결과를 반환한다.

3-1 클라이언트/서버 모델
클라이언트는 사용자 조작에 따라 요청을 전달하고, 서버는 해당 요청 처리한다.

  • 웹시스템 :
    브라우저(클라이언트) - 사용자가 지정한 URL과 연결된 웹서버에 요청(request)
    웹서버 - 요청에 맞는 HTML 데이터를 반환(response)
  • RDBMS : 사용자 ID와 암호를 통한 사용자인증 필요
  • SQL 명령 실행 : RDBMS에 접속하면 서버에 SQL 명령을 보낼 수 있고, 클라이언트를 종료하면 접속도 종료된다.

3-2 웹 애플리케이션 구조
웹 애플리케이션 = 웹 서버 + 데이터베이스 서버
웹사이트가 정적인 HTML로만 구성돼있다면 웹 서버만으로도 충분하지만, 웹앱정도의 규모부터는 DB가 필요하다.
이럴 때 필요한 것이 PHP, Ruby 언어나 ASP.NET(윈도우), Servlet(Java) 등의 CGI인데, 이것을 통해 프로그램과 웹 서버 간을 연동, 통신할 수 있다. 웹 서버의 CGI = 데이터베이스의 클라이언트인 것이다.

3-3 MySQL 서버와 mysql 클라이언트
MySQL 패키지를 인스톨하면 MySQL 서비스(데이터베이스 서버)와 mysql 커맨드(클라이언트)를 이용할 수 있다.

profile
💻 + ☕ = </>

0개의 댓글