728x90
1장. 데이터베이스와 SQL
1강. 데이터베이스
데이터베이스란?
- 데이터란 컴퓨터 안에 기록되어 있는 숫자.
- 데이터베이스란 넓은 의미에서는 데이터의 집합 또는 정리된 데이터.
- 영구적으로 보존되어야 하므로 휘발성 저장장치가 아닌 비휘발성 저장장치에 저장.
시스템 내의 데이터베이스
- 데이터센터 내의 서버에서 운영하는게 일반적이지만, POS기기, 휴대폰의 전화번호부도 모두 데이터베이스로 다양한 시스템에서 사용.
DB? DBMS?
- DB란 데이터베이스(저장장치 내에 정리되어 저장된 데이터의 집합)이며, DBMS는 데이터베이스 관리 시스템(DB를 효율적으로 관리하는 S/W)
DBMS가 필요한 이유
- 생산성
- 검색, 추가, 삭제, 갱신같은 처리 등 기능을 제공
- 기능성
- 복수 유저의 요청에 대응하거나 대용량 데이터를 저장하고 고속으로 검색하는 기능 제공
- 신뢰성
- 확장성, 부하분산을 구현
- 이를 클러스터 구성, 스케일 아웃이라 부름
- 외부로 데이터를 내보내거(export)나 집어넣는 것(import)도 가능
데이터베이스를 조작하는 언어 == SQL
- SQL은 DBMS와 대화하기 위한 언어로 관계형 데이터베이스 관리 시스템을 조작할 때 사용
- SQL은 IBM이 개발한 SEQUEL이라는 관계형 데이터베이스 조작용 언어를 기반
- ISO 등에 의해 표준화가 진행되어 표준 언어가 됨
SQL명령의 종류
- DML(Date Manipulation Language) : 데이터 조작어
- DDL(Data Definition Language) : 데이터 정의어
- DCL(Data Control Languate) : 데이터 제어어로 트랜잭션, 데이터 접근권한하는 명령이 포함됨
2강. 다양한 데이터베이스
데이터베이스 종류
계층형 데이터베이스
- 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식
관계형 데이터베이스
- 관계 대수라는 것에 착안해 고안한 DB로 행과 열을 가지는 표 형식 데이터를 저장하는 데이터베이스
객체지향 데이터베이스
- 가능하면 객체 그대로를 데이터베이스의 데이터로 저장하는 것
- 가능하면 객체 그대로를 데이터베이스의 데이터로 저장하는 것
XML 데이터베이스
- XML이란 자료 형식으로 기록된 데이터를 저장하는 데이터베이스
- SQL을 사용하는 것이 아니라 XQuery를 사용합니다.
키-밸류 스토어(열 지향 데이터베이스)
- 맵이나 해시 테이블 형식으로 저장하는 방식으로 NoSQL이라고도 합니다.
데이터베이스 제품
- Oracle
- DB2
- SQL Server
- PostgreSQL
- MySQL
- SQLite
SQL의 방언과 표준화
- 특정 데이터베이스 제품에만 통용되는 고유 방언이 있음.
- 예를들어 Oracle이나 SQL Server에서 DELETE 뒤에 FROM을 생략해도 되지만, DB2, PostgreSQL, MySQL에서는 FROM을 생략할수 없음.
- IOS나 ANSI가 결정한 SQL-{년도}를 사용하는 것이 좋음
3강. 데이터베이스 서버
클라이언트/서버 모델
- 웹 시스템에서의 클라이언트/서버
- 클라이언트가 요청을 보내고 서버가 응답을 하여 클라이언트가 원하는 답을 받는 방식
- RDBMS의 클라이언트/서버
- 사용자 인증이 필요
- SQL 명령 실행
- 클라이언트가 SQL명령으로 요청을 보내고 DB가 응답을 받음
MySQL 서버와 mysql클라이언트
- MySQL 서비스가 데이터베이스 서버가 되며 mysql 명령어가 클라이언트가 됩니다.
- 클라이언트에서 서버에 접속할 필요가 있는데 네트워크를 경유해서 PC의 서버로 되돌아 오는 형태로 접속하며 이러한 방법을 루프 백 접속이라고 함.
728x90
728x90
'Book' 카테고리의 다른 글
[클린코드] 2장. 의미 있는 이름 (0) | 2021.10.04 |
---|---|
[클린코드] 1장. 깨끗한 코드 (0) | 2021.10.04 |
[함께 자라기] 3장. 애자일 (0) | 2020.10.01 |
[함께 자라기] 2장. 함께 (0) | 2020.10.01 |
[함께 자라기] 1장. 자라기 (0) | 2020.09.26 |