[1] DATABASE와  DBMS의 개요

: 데이터를 한 곳에 모아 관리하여 중복을 없애는 방법으로 결함을 줄임

- 동시성, 성능, 보안(무결성) 문제를 해결하기 위해 관리 소프트웨어를 통해서 데이터를 사용 (프로그램이 데이터 직접 사용X)

 

[2] SQL(Structured Query Language)?

: DBMS(*DATABASE+MANAGEMENT SYSTEM) 에게 질의하는 명령어 (구조화된 데이터를 질의)

 

DDL : create / alter / drop - 테이블 생성/변경/삭제

DML: select / inesrt / update / delete - CRUD

DCL: grant / revoke

 

[3] 오라클 PDB서버에 접속

: 데이터 베이스 두종류

원랜 하나의 인스턴스에 하나의 DB가 들어가 있었으나, multi tenent기능이 도입되면서 하나의 인스턴스 내에 멀티 DB가 들어갈 수 있게 되었다.

 

CDB : 데이터를 CONTAIN하고있는 데이터베이스. 데이터 자체가 컨테이너.

PDB (PLUGGABLE DATABASE) : CDB 아래에 연결된 가상 데이터베이스. CDB안에 끼워진 DB

 

seed는 pluggable을 만들기위한 템플릿 같은것.
원격 설정이 가능하도록 값을 FALSE로 변경 > local host 대신 IP주소를 통해 원격으로 접속가능해짐

 

 

[4] 데이터베이스와 데이터파일, 테이블스페이스

: 구조가 마련된 데이터베이스 = 스키마

 

테이블 스페이스는 영구적 데이터 저장 목적 하나와 임시로 사용하는 저장소 (트랜잭션관련) - 로그스페이스 총 2개가 생성된다.

보기 - DBA - 테이블스페이스 - 새로만들기로 스페이스 두개 추가.

보기 - DBA - 사용자 - 권한을 가진 관리자용 사용자 추가.

작업할 PDB에 관리자 권한으로 서버를 실행한 후 테이블 작성 진행.

 

 

[5] 테이블 생성 CREATE

테이블 정의 = 데이터 구조 정의 = 개념상의 데이터 정의 = ENTITY 정의

: 개념화된 데이터를 데이터베이스에 알려줘야 함

 

[6] 오라클 데이터형식 

 Oracle Built in Data Types (오라클 내장형) 

TYPE Example
Character 'nEWlec'
'A'
'140'
Numeric 36, 5.33 , 6.3f , 192
Date '2023-02-03'
TIMESTAMP '2023-12-31 10.38.29.00000'

 

6-1) Character 형식 

: 이때 괄호 안에 들어가는 숫자는 글자 개수가 아니라 BYTE

CHAR(3) : 고정길이 데이터

CHAR [(size [BYTE | CHAR])]
// 기본값은 BYTE지만 CHAR로도 지정가능
공간차지를 많이함. 비효율적 size: 1byte
VARCHAR2(3) : 가변길이 데이터. 최대값지정

VARCHAR2(size [BYTE | CHAR])
쓰이지 않은 데이터를 반환함  size: 1byte
NCHAR(3)
national character 여러 나라 문자가 값으로 들어오는 경우
size : 2 or 3byte
encoding and three times size for UTF8 encoding
NVARCHAR(3)

: LONG 대신 CLOB을 사용함

: CLOB 대용량 텍스트 데이터 타입 (최대 4GBYTE)

: NCLOB 대용량 텍스트 유니코드 데이터 타입 (최대 4GBYTE)

 

 

6-2) 숫자형식 NUMBER

NUMBER(4) 최대 4자로 이루어진 숫자  9999
NUMBER(6,2) 소수점 2자리를 포함하는 최대 6자리 (소수점 둘째에서 반올림)
NUMBER(6,-2) 소수점 -2자리에서 반올림하는 최대 6자리
NUMBER NUMBER(38,*) MAXIMUM 38로 인식
NUMBER(*,5) NUMBER(38,5) 38자리로 자동인식

 

 

6-3) 날짜형식 DATE, TIMESTAMP

DATE 01-JAN-99
TIMESTAMP NLS_TIMETAMP_FORMAT 파라미터에 명시된 값을 따름
TIMESTAMP WITH TIME ZONE NLS_TIMESTAMP_TZ_FORMAT 파라미터에 명시된 값을 따름
TIMESTAMP WITH LOCAL TIME ZONE
지역변수에 따라 표현되는 방법이 다름
NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따름
SELECT * FROM NLS_DATABASE_PARAMETERS

 

 

[7] 테이블 수정 ALTER

✔ 테이블 항목 수정 (단, 데이터들이 변경될 속성에 일치하는 상황이어야 한다)

ALTER TABLE MEMBER MODIFY ID NVARCHAR2(50);

 

✔ 테이블 내 컬럼 삭제

ALTER TABLE MEMBER DROP COLUMN AGE;

 

✔ 테이블 내 컬럼 추가

ALTER TABLE MEMBER ADD EMAIL VARCHAR2(200);

 

 

 

 

 

+ Recent posts