데이터 베이스 기초
데이터는 관찰의 결과로 나타난 정량적(양을 헤아리는 것) 혹은 정양적.
데이터 베이스: 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 통합, 검색에 용이하게 데이터를 저장하고 수정, 삭제 용이
데이터 베이스 관리 시스템: 지속적으로 유지 관리해야하는 데이터의 집합을 데이터베이스
방대한 양의 데이터를 편리하게 저장하고 효율적으로 관리하고 검색할 수 있는 환경을 제공
행: 레코드(로우) 열: 칼럼(구분",")
DBMS 장점
- 데이터의 공유가 가능하다
- 데이터 중복성이 감소
- 데이터 불일치를 피할 수 있다
- 데이터의 무결성을 유지
- 데이터 보안을 유지
- 표준화가 가능
공통사용자는 c##<사용자명>의 형태로 이루어지며 PDB사용자는 각 PDB에서 별도로 생성하여 PDB에 로그인
접근이 안되거나 ip가 뜰 때 service들어가서 서버 재구동
oracleServiceXE, oracleListener
1.오라클 서버의 IP주소 필요
2.포트 (기본 포트: 1521)
3.서비스 이름
SQL: 구조화된 질의 언어
쿼리문: 대소문자 구분X, 값: 대소문자 구분
DB 상에서 데이터를 읽고 , 쓰고 삭제하는 등 데이터 관리를 위한 프로그램 언어
DDL(Data Definition Language, 데이터 정의어)
-데이터베이스 객체를 생성 또는 변경, 제거 할 때 사용(자동 commit)
CREATE | 테이블이나 인덱스, 뷰 등 데이터베이스 객체를 생성 |
ALTER | 이미 생성된 데이터베이스 객체를 수정 |
DROP | 테이블의 데이터를 모두 삭제 (복원이 불가능) |
TRUNCATE | 생성된 데이터 베이스 객체를 영구히 삭제 |
DML(Data Manipulation Language, 데이터 조작어)
-데이터를 조작하는 역할
SELECT | 테이블이나 뷰에 있는 데이터를 조회 |
INSERT | 새로운 데이터를 추가 |
UPDATE | 테이블에서 기존의 데이터를 변경 |
DELETE | 테이블에 저장된 데이터를 삭제 |
TCL(Transaction Control Language, 트랜잭션 처리어)
-트랜젝션 관련 문장으로 데이터 조작어에 의해 변경된 내용을 관리
데이터를 추가, 변경, 삭제한 내용은 파일에 즉각 저장되는 것이 아니다. 따라서 사용자의 실수로 잘못 입력한 명령어라면 언제든지 이전 상태로 되돌릴 수 있다. 실수 없이 완벽하게 입력된 명령어라는 것이 확인될 때에만 영구히 저장하도록 TCL을 사용(all or nothing)
COMMIT | 변경된 내용을 영구히 저장 |
ROLLBACK | 변경된 데이터를 적용하지 않고 이전 상태로 되돌림 |
SAVEPOINT | 특정 위치까지를 영구히 저장 혹은 이전 상태로 되돌릴 수 있는 저장점을 만듦. |
DCL(Data Control Language, 데이터 제어어)
-사용자마다 데이터를 사용할 수 있는 권한이 달라야 하는데 이렇게 특정 사용자에게 권한을 부여하거나 제거하기 위해서 사용하는 명령어가 DCL
GRANT | 사용자에게 작업을 허용하는 특정 권한을 부여 |
REVOKE | 사용자로부터 특정 권한을 제거 |
SQL*Plus(보기가 어렵다.)
-오라클에서 제공하는 기본 개발 도구, 오라클을 설치할 때 함께 설치
hr 계정은 오라클에서 실습을 위하여 제공하는 기본 사용자 계정 및 샘플 데이터베이스(실제 오라클 관련 서적 및 명령 예에서 가장 많이 사용되는 계정)
SQL Plus 실행: 명령 프롬프트에 sqlplus sys/비밀번호@localhost:1521/xe as sysdba(CDB_SYS)
SQL>alter pluggable database all open;
SQL>alter pulggable database all save state;
SQL>alter user hr account unlock; (잠금 해제)(PDB_SYS)
SQL>alter user hr identified by hr1234; (비밀 번호 설정)
SQL> select * from tab; (모든 테이블)
SQL Developer
1.오라클 서버 IP주소 - localhost(127.0.0.1/192.168.0.1)
2.오라클 서버 port 번호-1521
3.11g->SID//18c->서비스 이름
v 시작 SystemTable
F9 실행
CDB=xe
PDB=xepdb1
SYSDBA=최고권한자
[HR 사용자에 저장된 테이블 정보]
EMPLOYEE_ID | 사원 번호 | HIRE_DATE | 입사일 |
FIRST_NAME LAST_NAME |
사원 이름 | SALARY | 급여 |
사원 이메일 | COMMISSION_PCT | 커미션 비율 | |
PHONE_NUMBER | 사원 전화번호 | JOB_ID | 업무(직무)번호 |
MANAGER_ID | 해당 사원의 상사번호 | DEPARTMENT_ID | 부서번호(DEPARTMENTS 테이블의 EDPARTMENT_ID와 연결됨) |
[부서 테이블 (DEPARTMENTS)의 컬럼]
DEPARTMENT_ID | 부서번호 |
DEPARTMENT_NAME | 부서명 |
MANAGER_ID | 부서의 매니저번호 EMPLOYEES 테이블의 EMPLOYEE_ID열에 대한 외래키 |
LOCATION_ID | 지역명 |
1. SQL은 관계 DB를 처리하기 위해 고안된 언어로, 독자적인 문법을 갖는 DB 표준 언어
2. SQLPlus는 SQL 언어를 구현하여 오라클 RDBMS를 관리할 수 있는 오라클 사의 클라이언트 틀 제품면
3.SELECT 문은 데이터베이스로부터 필요한 데이터를 가져온다.
4.DML문은 INSERT, UPDATE, DELETE 문 등으로 구성되며, 행을 삽입하고 변경하고 삭제하는 역할