Query란?
직역하면 질의문
가장 친숙한 예시로는 검색창에 적는 검색어도 Query의 일종이다.
저장되어 있는 정보를 필터하기 위한 질문
SQL이란?
Structured Query Language
구조화된 Query 언어
데이터베이스 용 프로그래밍 언어
데이터베이스에 Query를 보내 원하는 데이터만 뽑아올 수 있다.
데이터베이스가 필요한 이유
In-memory
- 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터 베이스 관리 시스템
- 내부 최적화 알고리즘이 단순하여 적은 CPU 명령을 실행
- RAM의 휘발성으로 인해 전원이 소실되면 저장된 데이터는 손실됨
File I/O
- 파일을 입력하고(Input), 출력한다(Output)는 뜻을 가짐
- 원하는 데이터만 가져올 수 없고 항상 모든 데이터를 가져온 뒤, 서버에서 필터링이 필요
Database
- 필터링 외에도 File I/O로 구현이 힘든 관리를 위한 여러 기능들을 가지고 있는 데이터에 특화된 서버
서버와 클라이언트, 데이터베이스 간의 관계를 간단히 정리하면 다음과 같다.
먼저 클라이언트 측에서 서버로 "남자 직원들을 보여줘."라고 요청하면
서버는 데이터베이스에 쿼리문을 보낸다.
데이터베이스는 받은 쿼리문을 필터링을 한 뒤.. 서버에 다시 전달하고
서버는 필터링 된 데이터를 받아 온다.
트랜잭션(Transaction)이란?
데이터베이스의 상태를 변환시키는 논리적 기능을 수행하기 위해 행해지는 하나 이상의 쿼리를 모아 놓은 하나의 작업 단위
ACID
데이터베이스 트랜잭션이 발생했을 때, 그 안정성을 보장할 수 있는 성질
ACID 성질
Atomicity (원자성)
Durability (내구성)
Isolation (격리)
Consistency (일관성)
1. Atomicity - 하나의 트랜잭션 내에는 모든 연산이 성공하거나 모두 실패해야 한다.
2. Consistency - 하나의 트랜잭션 전후에 데이터베이스의 일관된 상태가 유지되어야 한다.
3. Isolation - 각각의 트랜잭션은 독립적이며, 서로의 연산을 확인받거나 영향을 줄 수 없다.
4. Durability - 하나의 성공된 트랜잭션에 대한 로그가 기록되고 영구적으로 남는다.
MySQL command practice
데이터베이스, 테이블 , 데이터의 CRUD를 간단히 실습해보자.
1. 서버 (MySQL) 접속
2. 데이터베이스 생성
3. 데이터베이스 목록 조회
4. 데이터베이스 선택
5. 테이블 생성
6. 테이블에 컬럼 추가
7. 테이블 목록 조회
8. 선택 테이블 구조 보기
9. 테이블에 데이터 추가하기
INSERT INTO 테이블명(Field 이름 목록) VALUES(넣을 값);
10. 테이블의 모든 컬럼 읽기
'CodeStates 45th' 카테고리의 다른 글
[Spring MVC] API 계층 (0) | 2023.06.19 |
---|---|
[Section 2] Spring Framework 핵심 개념 - DI (0) | 2023.05.30 |
[Section 2] Spring Framework 기본 (0) | 2023.05.21 |
[Section 1] 회고 (1) | 2023.05.09 |
[Section 1] JAVA 객체지향 프로그래밍 기초 (0) | 2023.04.25 |