oracle 1일차 데이터베이스 DBMS/SQL 과 ORACLE/SQL+

최정민·2023년 12월 5일

ORACLE

목록 보기
1/13

01. 오라클의 시작

데이터베이스 개념을 이해
오라클 21c 다운받아 설치.

1)데이터베이스의 개요

데이터베이스는 유용한 데이터의 집합
검색에 용이하게 데이터를 저장하고 수정, 삭제가 용이해야 한다.
중복데이터 최소화 하여 구조적으로 통합,저장해 놓은 것이 데이터베이스이다.
특징
실시간 접근성 사용자가 데이터 요청 시 실시간으로 결과 서비스
계속적인 변화 데이터 값은 시간에 따라 항상 바뀜
동시 공유 서로 다른 업무 또는 여러 사용자에게 동시 공유됨
내용에 의한 참조 사용자가 요구하는 데이터 내용으로 데이터를 찾는다.

2) 데이터베이스 관리 시스템 DBMS

방대한 양의 데이터를 편리하게 저장하고 효율적으로 관리하고 검색할 수 있는 환경을 제공해 주는 시스템
소프트웨어를 데이터베이스 관리 시스템이다.

DBMS 장점
데이터의 공유가 가능하다
데이터 중복성이 감소된다.
데이터 불일치를 피할 수 있다.
데이터의 무결성을 유지할 수 있다.
데이터 보안을 유지할 수 있다
표준화가 가능하다.

3) 관계형 DBMS

RDBMS의 구성
DBMS의 구성
DBMS는 데이터베이스 객체 중 하나인 테이블에 데이터를 저장한다. 용도에 맞게 최소한의 데이터를 여러 테이블에 저장해 놓고 필요한 경우에 테이블들을 연결하고 관계를 맺어 데이터를 추출하는 것이 관계형 데이터 즉 RDBMS이다.
ROW(행)와COLUMN(열)으로 구성됨.
로우는 하나의 레코드이다.
칼럼은 속성을 나타낸다.
RDBMS는 여러 종류의 DBMS 중에서 관계형 데이터베이스를 기반으로 하는 시스템이다.

한사람의 데이터정보는 행단위로 들어감 레코드.

열(컬럼 또는 필드),도메인
행(로우 또는 레코드) , 튜플

기본키(Primary Key) 각 행을 구분하는 유일한 열. 기본키 열은 비어있지도중복되지도 절대 x

oracle Database
Oracle(오라클)사에서 제작한 데이터베이스 툴로 세계적으로 가장 유명한 제품 중 하나이다.
window,unix, Linux 용 별도로 출시.

오라클 설치 경로에 한글이 포함되어있으면 에러가 날 수 있다.

메인 데이터베이스 (부모데이터 베이스)CDB(container Database)와
플러그인할 수 있는 데이터베이스(실제 업무에 사용될 데이터베이스)인 (자식데이터베이스)PDB(Pluggable DB)

전체를 감싸는 메인 CDB

그 안에 각 업무별 보안,업무 특성 등의 이유로 별도의 데이터베이스를 운영해야 할 경우 간편하게 PDB를 생성하여 각 PDB별 독립성을 보장하여 효율적으로 운영할 수있도록 지원한다.

오라클 서버를 다운받은뒤 정상적으로 서버가 구동되고 있는지 확인하려면

windows powerShell 에 들어가서 리스너 상태 확인 명령을 입력하면 된다.


PORT 번호가 1521이 되어야하고
HOST는 아이피가 되면 안된다. (접속할때마다 바뀌기 때문)
사용자 이름 한글명이면 에러남 오라클 다운로드 할때
경로도 한글금지.

만약 아이피로 설정되있다면
리스너 매개변수 파일에 listenr.ora를 메모장으로 열어 들어가 수정하여야 한다.

아이피를 localHost로 변경

오라클 서버에 접속하기위한 3가지 정보

1)IP주소 : localhost
2)port번호 : 기본 1521
3)11g : SID
12c이상: 서비스 이름 (xe) => CDB
(xepdb1)PDB

02.SQL과 오라클 개발 도구

SQL과 SQL*+의 개념을 이해한다.
SQL의 종류를 학습한다.

1) SQL과 SQL*+의 개념

SQL(Structured Query Language)란?
구조화된 질의 언어의 약자
DB상에서 데이터를 읽고, 쓰고 삭제하는 등 데이터 관리를 위한 프로그램 언어
독자적인 문법을 갖는 DB 표준 언어
다시 말해 대다수의 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어

SQL의 종류
SQL은 데이터를 조회, 저장, 수정, 삭제 등의 조작과 데이터를 저장하기 위한 테이블 등의 다양한 객체를 생성하는 역할을 한다.

DDL(Data Definition Language, 데이터 정의어)
DDL은 데이터베이스 객체를 생성 또는 변경, 제거할때 사용
객체란 테이블,인덱스,뷰,트리거 등 SQL문을 수행하는 대상을 의미한다.

쿼리문 설명
CREATE 테이블이나 인덱스, 뷰 등 데이터베이스 객체를 생성
ALTER 이미 생성된 데이터베이스 객체를 수정
TRUNCATE 테이블의 데이터를 모두 삭제
DROP 생성된 데이터베이스 객체를 영구히 삭제

DML(Data Manipulation Language, 데이터 조작어)

입력 수정 삭제 조회

쿼리문 설명
SELECT 테이블이나 뷰에 있는 데이터를 조회
INSERT 새로운 데이터를 추가
UPDATE 테이블에서 기존의 데이터를 변경
DELETE 테이블에 저장된 데이터를 삭제

CRUD↓
INSERT SLECT UPDATE DELETE

입력수정삭제조회<< 트랜잭션

TCL(Transaction Control Language. 트랜잭션 처리어)
트랜젝션 관련 문장으로 데이터 조작어에 의해 변경된 내용을 관리한다.
데이터를 추가, 변경, 삭제한 내용은 파일에 즉각 저장되는것이 아님. 따라서 사용자의 실수로 잘못 입력한 명령어라면 언제든지 이전 상태로 되돌릴 수 있다. 실수 없이 완벽하게 입력된 명령어라는 것이 확인될 때만 영구히 저장하도록 TCL 사용
COMMIT 변경된 내용을 영구히 저장 //영구히 저장을 하면 되돌리수가 없다.
ROLLLBACK 변경된 데이터를 적용하지 않고 이전 상태로 되돌림.
SAVEPOINT 특정 위치까지 저장 혹은 이전 상태로 되돌릴 수 있는 저장점을 만듬

DCL (Data Control Language, 데이터 제어어)
오라클에 접속하기 위해서는 사용자가 계정을 받아야 하며 그 계정은 DBA가 새롭게 생성해야한다.
오라클에 접속한 모든 사용자들이 데이터를 동일하게 사용해서는 안된다. DBA에 해당되는 사용자는 권한이 막강하지만 일반 사용자는 단순히 데이터를 가져다 사용할 수 있도록 하는 등 사용자마다 데이터를 사용할 수 있는 권한이 달라야 하는데 이렇게 특정 사용자에게 권한을 부여하거나 제거하기 위해서 사용하는 명령어가 DCL이다.

쿼리문 설명
GRANT 사용자에게 작업을 허용하는 특정 권한 부여
REVOKE 사용자로부터 특정 권한을 제어

2)SQL*+

SQL Plus는 오라클에서 제공하는 기본 개발도구. 데이터베이스를 운영할 때 발생할 수 있는 문제에
대비하여 사용자 환경에 구애받지 않고 사용할 수 있는 장점이 있다. SQL Plus는 오라클을 설치할 때 함께 설치되기 때문에 따로 설치x
hr 계정은 오라클에서 실습을 위하여 제공하는 기본 사용자 계정 및 샘플 데이터베이스이다. 실제오라클 관련 서적 및 명령 예에서 가장 많이 사용되는 계정이다.

Oracle SQL 18C 버전 이후로 기본적으로 설치되어 있던 연습용 스키마가 분리되어 별도로 설치하는 방식으로 변경되었다.현재 다루는 버전은 21C 버전으로 윈도우 환경에서 조건에서 실행한다.
hr(human_resources)기준으로 작성하였다. 다른 스키마 역시 동일

sql plus는 확인할거 있으면 간단하게 작성하기 위함.

@?/demo/schema/human_resources/hr_main.sql

Hr 계정 생성 스키마 설치

sysdba 계정 접속 password는 처음 sys비밀번호를 설정했던 것과 같다.

C:\Users\각자사용자명>sqlplus sys/orcl1234 as sysdba

ALTER SESSION SET"_ORACLE_SCRIPT"=TRUE;

명령어입력 이유는 hr 계정 생성시 '올바르지 않은 이름' 오류 방지하기 위함

그다음 실행하면 경로 문제가생긴다
해결하려면
C:\app\user1\product\21c\dbhomeXE\demo\schema\human_resources\hr.main.sql 파일을 메모장으로 열어 경로를 변경한다.

변경전

변경 후

그 후

exit 명령어를 입력하여 sqlplus 를 종료한다.
이후 파라미터값을 넣은 후 명령문 실행 하면 table이 생성된다.

롤 : 권한을 묶어놓은 그룹

오라클 서버에 디폴트값
USERS
TEMP

oracle 쿼리문 주석 : --

명령문 실행 단축기 ctrl + enter , F9

select from tab >> 탭으로부터 모든() 셀렉트를 조회

각 열을 클릭하고 명령문 실행을 눌러야 결과가 나온다.

profile
개발 일지

0개의 댓글