이 글은 뉴렉쳐 오라클 데이터베이스 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문장들을 하나로 묶어두는 것(계좌 이체 시, 출금과 입금)
참고 자료
📑 [SQL] TCL(transaction control language)이란
소스 코드
'DataBase > Oracle' 카테고리의 다른 글
Oracle SQL 강의 - 06강 MEMBER 테이블 생성하기 (0) | 2023.02.19 |
---|---|
Oracle SQL 강의 - 05강 수업용 사용자와 데이터베이스 생성하기 (0) | 2023.02.12 |
Oracle SQL 강의 - 04강 오라클 PDB 서버에 접속하기 (0) | 2023.02.11 |
Oracle SQL 강의 - 03강 SQL Developer 설치하기 (0) | 2023.01.25 |
Oracle SQL 강의 - 02강 오라클 DBMS 18c XE 설치하기 (0) | 2023.01.24 |