DataBase+SQL

데이터 베이스 기초

campanula 2023. 6. 12. 17:24

데이터는 관찰의 결과로 나타난 정량적(양을 헤아리는 것) 혹은 정양적.

데이터 베이스: 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 통합, 검색에 용이하게 데이터를 저장하고 수정, 삭제 용이

데이터 베이스 관리 시스템: 지속적으로 유지 관리해야하는 데이터의 집합을 데이터베이스

방대한 양의 데이터를 편리하게 저장하고 효율적으로 관리하고 검색할 수 있는 환경을 제공

 

행: 레코드(로우) 열: 칼럼(구분",")

 

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 급여
EMAIL 사원 이메일 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 문 등으로 구성되며, 행을 삽입하고 변경하고 삭제하는 역할