FireDrago
[DB] 데이터베이스 (DB), SQL의 필요성 본문
1. 데이터베이스 (DB)
데이터베이스(DB)는 데이터의 중복을 제거하고, 통합하여 관리하는 데이터의 집합을 말한다.
데이터를 한 장소에 모음으로써 데이터의 중복을 줄이고, 데이터를 효율적으로 관리할 수 있다.
데이터베이스의 종류중에서 가장 많이 사용되는 것은 관계형 데이터베이스(RDBMS)이다.
관계형 데이터베이스는 2차원의 행과 열로 데이터를 표시한다.
비교적 간단하게 데이터를 저장하기때문에 SQL 역시 복잡하지 않다.
데이터베이스는 테이블스페이스 라는 공간에 데이터를 저장한다.
테이블스페이스는 각각의 데이터를 담고있는 테이블과,
데이터를 검색하기위한 색인과 같은 역할을 하는 인덱스 등으로 구성되어있다.
테이블과 인덱스등의 테이블스페이스의 논리적구성을 스키마(SCHEMA) 라고 한다.

2. SQL
데이터베이스는 데이터를 효율적으로 관리할 수 있게해주지만 혼자서는 그냥 '데이터 창고' 역할 밖에 할 수 없다.
창고에 데이터를 저장하고, 외부의 요청에 맞게 데이터를 가져오는 역할을 하는 관리자가 필수적이다.
이러한 관리자의 역할을 하는 소프트웨어가 DBMS (Data Base Management System)이다. (오라클, MySQL등등...)
DBMS가 필요한 이유는 또 있다. 동시에 여러사람이 이용할 수 있어야하고 (동시성), 이용할때 렉이 없어야하며 (성능)
권한 없는 사람이 접근할 수 없도록 막아야 한다. (보안)
이러한 이유에서 개인 사용자는 데이터베이스에서 직접 데이터를 가져올 수 없다.
우리는 DBMS를 통해서만 데이터베이스에 데이터를 저장하고, 가져올 수 있다.
DBMS와 사용자가 소통하기위한 언어가 SQL이다.

<SQL의 구분>
| 명령어 종류 | 설명 |
| DDL (데이터 정의어) |
테이블 같은 데이터의 구조를 정의한다. 자바로 치면 클래스 ( CREATE / ALTER / DROP) |
| DML (데이터 조작어) |
데이터를 수정 , 조회한다. 가장 중요 (INSERT / SELECT / UPDATE / DELETE) |
| DCL (데이터 제어어) |
권한을 주거나 회수한다. ( GRANT / REVOKE) |
'DB' 카테고리의 다른 글
| [mySQL] 제약조건 (0) | 2023.08.07 |
|---|---|
| [mySQL] JOIN 문 (0) | 2023.08.03 |
| [DB] SELECT문 총정리 (0) | 2023.08.01 |
| [Oracle] INSERT / SELECT / UPDATE / DELETE 기본문법 (0) | 2023.05.13 |
| [Oracle] 오라클 데이터 타입 (0) | 2023.05.13 |