본문 바로가기
DataBase/Oracle

Oracle SQL 강의 - 01강 학습 안내(SQL, DB, DBMS의 의미와 필요성)

by HJ0216 2023. 1. 17.

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

01강 - 학습안내(SQL, DB, DBMS의 의미와 필요성)

 

 

🧐 DB, DBMS, SQL의 의미와 필요성

1. DataBase가 필요한 이유

행정실: 등록금 납입 관련 Data 보유

도서관: 도서 대여 관련 Data 보유

⚠️ 행정실에서 등록금 납입 후 도서관에서 도서를 대여하고자 할 경우, Data가 동기화되지 않았다면 등록금을 납입하고도 도서를 대여할 수 없는 문제가 발생

이에 Data를 각각 보유하고 있지 말고, DataBase를 둔다면

  • 데이터의 불일치를 제거할 수 있음
  • 도서관에서 갖고 있는 행정실 데이터의 중복을 없앨 수 있음

 

⚠️ 데이터의 중복과 불일치를 제거했지만, 행정실과 도서관이 각각 갖고있는 정보와 연결시키는 어려움이 발생할 수 있음

⚠️ 동시성 문제로 사용자들이 상이한 작업을 수행하고자 할 때 문제가 발생할 수 있음(수정 vs 삭제)

⚠️ 한 번에 많은 사용자들이 접속하기때문에 접근 속도 및 보안 문제가 발생할 수 있음

 

👩‍🔧 DataBase에 관리자를 두어 DataBase로의 직접 접근을 막고 발생할 수 있는 문제를 해결할 수 있음

 

 

DataBase의 관리자와의 소통을 위한 약속, SQL(Structural Query Language)

SQL: Data Base Management System에게 질의하는 명령어

 

SQL 종류

1. DDL: create/alter/drop

→ Data Definition Language, 데이터 정의어: 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어

2. DML: select/insert/update/delete

→ Data Manpulation Language, 데이터 조작어: DB 테이블에 들어있는 데이터에 변형을 가하는 종류의 명령어

3. DCL: grant/revoke

→ Data Control Language, 데이터 제어어: DB 관리자가 사용자의 DB 접근에 대한 제어하는 명령어

4. TCL: commit/rollback/savepoint

→ Transaction Control Language, 트렌젝션 제어어: DCL에서 Transaction*을 제어하는 명령어

* Transaction: 하나의 논리적인 작업 단위를 구성하는 세부적인 연산들의 집합

→ 꼭 같이 작동되거나 같이 작동되지 말아야 하는 SQL문장들을 하나로 묶어두는 것(계좌 이체 시, 출금과 입금)

 

 

 

참고 자료

📑 [DB] DDL, DML, DCL 이란?

📑 [SQL] TCL(transaction control language)이란

 

소스 코드

🔗 HJ0216/TIL/OracleSQL