20221013(목)
- 목차
- SQL, PS/SQL
- 테이블스페이스 생성
< SQL, PS/SQL > - 데이터베이스 프로그래밍 언어
- SQL (Structured Query Language)
➡ DBMS 상에서 데이터를 읽고 쓰고 삭제하는 등 데이터를 관리하기 위한 일종의 프로그램 언어
ISO 국제 표준화 기구와 미국국립표준협회 ANSI에서 RDBMS의 표준 언어로 SQL를 채택했다. - PL/SQL (Procedural Language extension to SQL)
➡ SQL을 확장한 절차적 언어(Procedural Language)이다. - 테이블스페이스 생성
오라클 = 데이터를 관리하는 시스템
데이터를 어딘가에 저장해 놓고 사용해야 하는데, 데이터 저장 단위 중 가장 상위 개념이 바로 테이블스페이스다.
데이터 저장 단위는 물리적, 논리적 단위로 나눌 수 있다.
물리적 단위는 물론 파일이며,
논리적 단위는 크기 순으로 ‘데이터 블록 → 익스텐트 → 세그먼트 → 테이블스페이스’다.
블록이 여러 개 모여 익스텐트를, 여러 개의 익스텐트가 모여 세그먼트를 구성하는 식이다.
저장 단위는 4개지만, 실제로 SQL을 이용해서 데이터를 조작하는 대상은 테이블이다.
테이블들을 담을 커다란 공간이 바로 테이블스페이스며, 지금부터 새로운 테이블스페이스를 만들어 보자.
[ 테이블 스페이스 생성 ]
(1) 오라클 설치 폴더에서 app ➡ oracle ➡ oradata ➡ XE폴더 경로 복사
(2) 관리자_SYSTEM 워크시트에 테이블 스페이스 생성 (아래 내용 입력 후 스크립트 출력)
CREATE TABLESPACE myts DATAFILE
'XE 폴더 경로\myts.dbf' SIZE 100M AUTOEXTEND ON NEXT 5M;
(3 - 1) MYTS.DBF 파일 생성 확인하기(물리적)
(3 - 2) MYTS.DBF 파일 생성 확인하기(논리적)
1) DBA 탭 나타내기 (상단 보기 탭 ➡ DBA 클릭) ➡ ➕ 버튼 클릭 ➡ 접속 선택 후 확인 클릭
2) 관리자_ SYSTEM ➡ 저장 영역 ➡ 테이블스페이스 ➡ MYTS 확인
(4) SAMPLE 테이블스페이스 생성하기
DBA ➡ 저장영역 ➡ 테이블스페이스 우클릭 및 생성
* 이름 디렉토리 파일크기 등 설정하기
이름 설정 시 " " 큰 따옴표로 묶어야 입력가능
(사이즈 정해줘야 나중에 해킹당했을 때 크기피해 줄일 수 있음)
(5) SAMPLE.DBF 생성 확인하기
- 파란색 : 물리적 파일
- 빨간색 : 논리적 파일
[ 임시계정 만들기 / SAMPLE 파일 안에 만들기 ]
(1) spring 임시계정 만들기
(2) ORA_USER의 사용자 편집에서 기본 테이블스페이스를 MYTS로, 임시를 TEMP로 설정
(3) 적용하면 ORA_USER로 새로 생성한 MYTS.DBF 안에 내용을 작성할 수 있게 되는 것이다.😊
< 데이터베이스 객체 >
데이터베이스 객체란 데이터베이스 내에 존재하는 논리적인 저장구조.
데이터베이스 객체 | 설명 |
테이블 | 데이터를 담고 있는 객체 // 多 사용됨 |
뷰 | 하나 이상의 테이블을 연결해 마치 테이블인 것처럼 사용하는 객체 |
인덱스 | 테이블에 있는 데이터를 빠르게 찾기 위한 객체 |
시노님 | 데이터베이스 객체에 대한 별칭을 부여한 객체 |
시퀀스 | 일련번호 채번을 할 때 사용되는 객체 |
함수 | 특정 연산을 하고 값을 반환하는 객체 |
프로시저 | 함수와 비슷하지만 값을 반환하지는 않는 객체 |
패키지 | 용도에 맞게 함수나 프로시저를 하나로 묶어 놓은 객체 |
테이블은 CREATE 문으로 생성할 수 있는데, 기본 구문은 다음과 같다.
CREATE TABLE [스키마.]테이블명(
컬럼1 컬럼1_데이터타입 [NULL, NOT NULL],
컬럼2 컬럼2_데이터타입 [NULL, NOT NULL],
...
)[TABLESPACE 테이블스페이스명];
1) 테이블명, 컬럼명의 최대 크기는 30바이트다.
2) 테이블명, 컬럼명으로 예약어는 사용할 수 없다.
3) 테이블명, 컬럼명으로 문자, 숫자, ‘_’, ‘\$’, ‘#’을 사용할 수 있지만, 첫 글자는 문자만 올 수 있다.
4) 한 테이블에 사용 가능한 컬럼은 최대 255개까지다.
'🏫 Open API_JAVA' 카테고리의 다른 글
[58일차] 테이블 변경 / 테이블 복사 / 뷰 / 인덱스 / 시노님 / 시퀀스 / 파티션 테이블 / SELECT문 (0) | 2022.10.17 |
---|---|
[57일차] 데이터 타입(문자, 숫자, 날짜, LOB) / NULL vs NOT NULL / 제약조건 (Constraints) (0) | 2022.10.17 |
[55일차] 데이터 베이스 설정 및 샘플 스키마 설치 (0) | 2022.10.14 |
[52일차] 보조 스트림 / 네트워크 기초 (0) | 2022.10.08 |
[51일차] InputStream / OutputStream / Reader / Writer / 콘솔 입출력 (0) | 2022.10.07 |