CS

[CS기초] SQL (Structured Query Language)

Rosie_dev 2021. 10. 8. 20:34

SQL (Structured Query Language)

관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어. 초기에 SEQUEL (Structured English Query Language)로 구조 영어 질의어라는 이름이었지만, 영국의 호커 시들리 항공사의 상표와 동일해서 SQL로 변경되었다. 

 

쿼리

웹 서버에 특정한 정보를 보여달라는 클라이언트의 요청이다. 데이터베이스에서 요청사항을 검색하기 위한 코드나 키를 기초로 질의하는 것을 말한다.

 

올바른 쿼리 작성법

>> WHERE절 및 FROM절 사용 순서를 지킨다.

>> SQL 시키마를 가급적 사용한다.

>> 문자열 비교시 후행 공백은 비교하지 않는다.

>> ANSI 표준 문구를 사용한다.

 

관계형 데이터베이스(RDB)

관계형 데이터베이스는 기존의 데이터베이스 모델에서 키-값의 관계를 테이블화 시킨 데이터베이스를 말한다.  관계형 데이터베이스 관리시스템(RDBMS)은 효율적 운영을 위해 ACID 트랜잭션을 갖추고 있다.

 

ACID 트랜잭션

트랜잭션

한 번 질의(쿼리)가 실행되면 질의가 모두 수행되거나 모두 수행되지 않는 작업수행의 논리적 단위. 

 

Atomicity 원자성

트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력.

 

Consistency 일관성

트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 말한다. 일관성 있게 유지하는다는 것은 쿼리 실행 전후의 데이터베이스 일관성을 의미한다.

 

Isolation 격리성

트랜잭션 수행시 다른 트랜잭션의 작성이 끼어들지 못하도록 보장하는 것으로

 

Durability 지속성

commit 상태가 영원히 보장된다는 것을 의미합니다. 

 


웹 백엔드 > 1) SQL이란?-1 : 부스트코스

SQL - 위키백과, 우리 모두의 백과사전

관계형 데이터베이스 - 위키백과, 우리 모두의 백과사전

쿼리 - 해시넷

ACID - 위키백과, 우리 모두의 백과사전

[DB이론] 트랜잭션(transaction)과 ACID 특성을 보장하는 방법 :: victolee

'CS' 카테고리의 다른 글

기타 상식  (0) 2021.10.25
백엔드 로드맵으로 정리해보는 CS기초 [1-1] Internet  (0) 2021.10.23
[CS기초] 서버가 비정상적으로 종료된다면  (0) 2021.10.06
[CS기초] 데이터 베이스와 DBMS  (0) 2021.10.04
Git, GitHub  (0) 2021.06.16
댓글