해당 글은 뉴렉처 오라클 DB SQL 강의를 보며 개인 공부 및 리뷰를 위해 작성하였습니다.
SQL이란 DBMS에 질의하는 명령어이며 DBMS는 Database를 관리하는 시스템이다.

DBMS가 없었을 시절에는 각 부서별로 정보가 저장된 파일을 가지고 업무처리를 하고 이들의 싱크를 맞추는 작업이 필요했다. 하지만 싱크가 맞지 않는 기간 동안에 업무가 처리가 되지 않는 등의 문제가 발생했다.

따라서 각기 관리하던 정보를 한군데에 몰아 관리하게 되는 시스템을 구축하게 되며 이것이 DBMS이다. 여러 DBMS 구조가 등장하였지만 이 중 '관계형 DBMS'에 대해 알아본다.

위와 같이 데이터의 중복을 없앨 수 있게 되었지만 다시금 업무를 처리할 때 이들을 연결해야 하는 필요성이 있는데 이 정보들의 관계를 정립하는 것이 관계형 DBMS이다.

하지만 DBMS의 무결성을 유지하기 위해서는 3가지 문제를 해결해야 했는데 그것이 동시성, 성능, 보안 이었다. 따라서 이것을 해결하기 위해 관리자를 두게 되었고 관리자에게 SQL만 전달하면 해당 명령이 수행되는 방식으로 구동된다.

SQL의 종류는 3가지가 있으며 각기 다른 역할을 수행한다.
| SQL 종류 | 약어 | 설명 | 종류 |
|---|---|---|---|
| DDL | Data Definition Language | 데이터를 정의할 때 사용 | CREATE / ALTER / DROP |
| DML | Data Manipulation Language | 데이터를 조작할 때 사용 | SELECT / INSERT / UPDATE / ... |
| DCL | Data Control Language | 데이터를 제어할 때 사용 | GRANT / REVOKE |
다운받은 프로그램은 Oracle Server Program 및 Client Program이다. 사용자는 서버 프로그램에 직접 접근할 수 없고 클라이언트 프로그램을 통해 인증/실행/결과확인의 절차로 Database에 간접적으로 접근한다.



| 항목 | 내용 |
|---|---|
| Name | 사용할 이름 |
| 사용자 이름 | sys |
| 롤 | SYSDBA |
| 비밀번호 | 설치 시 입력한 비밀번호 |
테스트를 눌렀는데 아래와 같이 상태에 실패가 뜨며 에러 메시지가 The Network Adapter could not establish the connection이라고 한다면 다음과 같은 수순으로 해결해본다.

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [컴퓨터 이름])(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)