1. 데이터베이스란?
1-1. 데이터베이스(Database)의 정의
- 여러 사람에게 공유되어 사용될 목적을 가지고, 구조적인 방식으로 관리되는 데이터의 집합이다.
- 데이터베이스의 체계적인 관리는 데이터베이스 관리 시스템(DBMS: Database Management System)을 통해 이루어진다.
- 대표적인 DBMS는 Ofacle, MySQL, MsSQL, Teradata, SyBase 등이고 한국에서 가장 널리 배포되어 있는 DBMS는 Oracle이다.
1-2. 데이터베이스 관리 시스템(DBMS)의 특성
1) 실시간 접근성: 저장 장치에서 관리되는 데이터베이스는 지속적이고 질의에 대하여 실시간 처리가 가능해야 한다.
2) 계속적인 변화: 새로운 데이터 삽입(insert), 기존의 데이터 삭제(Delete), 갱신(Update) 등의 변화를 주어 정확한 데이터를 유지해야 한다.
3) 동시 공용: 다수의 사용자가 동시에 각자 원하는 데이터에 접근하여 이용할 수 있어야 한다.
4) 내용에 의한 참조: 데이터의 참조는 레코드의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터의 내용, 즉 데이터가 가지고 있는 값에 따라 참조된다.
1-3. SQL 사용을 위해 필요한 데이터베이스 용어
1) 테이블(Table): 정보를 효율적이면서 효과적으로 보관하기 위해 만들어 놓은 공간(ex. 엑셀의 스프레트 시트)
2) 스키마(Schema): 테이블에 데이터가 저장되는 방식을 정의할 수 있다.
3) 열(Column): 열은 테이블을 구성하는 각각의 정보를 말한다.
4) 행(Row): 테이블의 데이터는 행에 저장된다.
5) 기본 키(Primary key): 테이블에는 각 행을 고유하게 하는 열이 존재한다. 이를 기본 키(Primary key)라고 한다.
(ex. customer 테이블에서 각 행을 고유하게 하는 키(key)값은 고객 ID이다.)
2. SQL이란?
2-1. SQL의 정의
- SQL은 Structured Query Language의 약자로, 사용자와 데이터베이스 시스템 간의 의사소통을 위해 특별히 고안된 언어이다.
- SQL은 관계형 데이터베이스모델의 규칙에 따라 정의되어 있기 때문에 관계형 데이터베이스 언어라고도 할 수 있다.
2-2 SQL의 종류
- SQL은 구조화된 질의 언어이다.
- 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL), 트랜잭션 제어어(TCL)로 구분된다.
구분 | 내용 | 명령어 | 내용 |
DDL(데이터 정의어) | 데이터를 저장할 공간(테이블)과형식(스키마)을 정의 | CREATE | 테이블 생성 |
DROP | 테이블 삭제 | ||
ALTER | 테이블 재정의 | ||
DML(데이터 조작어) | 데이터를 저장, 수정, 삭제, 조회 | INSERT | 데이터 삽입/입력 |
DELETE | 데이터 삭제 | ||
UPDATE | 데이터 수정 | ||
SELECT | 데이터 검색 | ||
DCL(데이터 제어어) | 사용자의 권한 제어 | GRANT | 사용자 권한 부여 |
REVOKE | 사용자 권한 취소/회수 | ||
TCL(트랜잭션 제어어) | 트랜잭션 제어 | COMMIT | 작업 내용 저장 |
ROLLBACK | 작업 내용 취소 |
3. SQL의 활용
3-1. 빅데이터의 세상
- 오늘날은 컴퓨터, 스마트폰, 태블릿 및 기타 개인 장치를 이용하여 수많은 사람들이 엄청난 양의 데이터를 창출하는 '데이터 홍수의 시대'라고 할 수 있다.
- 빅데이터 분석은 대용량의 정형 또는 비정형 데이터 집합으로부터 가치를 추출하고 결과를 분석하는 기술을 뜻한다.
3-2. 빅데이터 시대의 SQL 활용
- SQL은 거대한 데이터베이스로부터 자료를 읽고 쓰기 위해 사용하는 언어이다.
- 유통, 금융, 제조업 등 많은 분야에서 SQL을 활용하여 비즈니스 통찰력을 증대시키기 위한 많은 작업들이 진행 중이다.
'SQL > 칼퇴족 김대리는 알고 나만 모르는 SQL' 카테고리의 다른 글
[SQL] DAY 05. 논리연산자를 활용한 데이터 조건 주기 (0) | 2023.05.01 |
---|---|
[SQL] DAY 04. WHERE 조건절을 활용한 데이터 조건 주기 (0) | 2023.05.01 |
[SQL] DAY 03. SELECT문에 추가적으로 필요한 키워드 (0) | 2023.05.01 |
[SQL] DAY 02. SQL의 기초 (0) | 2023.04.21 |
칼퇴족 김대리는 알고 나만 모르는 SQL (0) | 2023.04.21 |
댓글