반응형

1. 테이블 스페이스 생성

CREATE TABLESPACE <테이블 스페이스 이름>

DATAFILE '<데이터 파일 경로>' SIZE <데이터파일 크기>

 

 

2. 테이블 스페이스 변경

ALTER TABLESPACE <테이블 스페이스 이름>

ADD DATAFILE '<데이터 파일 경로>' SIZE <데이터파일 크기>

 

 

3. 기존 테이블 스페이스 삭제

DROP TABLESPACE <삭제할 테이블 스페이스 이름>

 

 

4. 테이블 스페이스 조회

SELECT <테이블 스페이스 이름>, <파일 이름> FROM dba_data_files;

 

 

5. 테이블 스페이스 사용

CREATE USER <사용자 계정>

IDENTIFIED BY <비밀번호>

DEFAULT TABLESPACE <사용할 테이블 스페이스 이름>

QUOTA <용량> ON <사용할 테이블 스페이스 이름>

 

권한 부여

GRANT CONNECT, RESOURCE TO <사용자 계정명>

 

반응형

'Computer Science > Database' 카테고리의 다른 글

SQL 2) DML : 삽입, 수정, 삭제, 검색  (0) 2020.10.20
SQL 1) SQL 기본, DDL  (0) 2020.10.20
Oracle 오라클 데이터 구조  (0) 2020.10.16
SQL Plus 명령어  (0) 2020.10.16
관계형 데이터베이스 5) 집합 연산, 조인  (0) 2020.10.13
반응형

 

 

< 논리적 구성요소 >

- 데이터 블록

- 익스텐트

- 세그먼트

- 테이블스페이스

 

< 물리적 구성요소 >

- 데이터 파일

- 컨트롤 파일

- redo 로그 파일

- 매개변수 파일

- alert/trace 로그 파일

- 백업 파일

 

 

 

 

 

 

1. 데이터 블록  

: 데이터가 저장되는 가장 작은 단위 (입출력 단위)

: 데이터 블록 표준 크기는 db_block_size 라는 파라미터 값에 저장

: 데이터베이스 설정 정보는 v$parameter 라는 이름의 테이블에 저장됨

 

 

2. 익스텐트(extent)

: 연속적인 여러 개의 데이터 블록들이 모여 하나의 익스텐트를 구성

 

 

3. 세그먼트(segment)

- data segment : 테이블 데이터를 저장

- index segment : 인덱스 정보를 저장

- temporary segment : 임시 데이터를 저장

- rollback segment : 트랜잭션에 의해 변경되는 데이터의 변경 전 값을 저장

 

 

 

 

 

 

 

 

 

4. 테이블 스페이스

: table, index, view 등 스키마 객체들을 저장

: 성격이 다른 데이터들을 서로 분리해서 저장 관리

: 테이블 스페이스는 하나 이상의 세그먼트를 포함

: 물리적으로는 하나 이상의 데이터 파일들로 구성됨

 

* 테이블 생성 전에 데이터베이스와 테이블스페이스가 먼저 생성이 되어 있어야 함

 

 

< 용도에 따른 테이블 스페이스 구분 >

1. 시스템 테이블 스페이스

- System : 롤백 세그먼트 포함 가능

 

2. 논 시스템 테이블 스페이스

-  Users : 일반 사용자가 생성한 데이터 저장

-  Temp : 임시 데이터

-  Undo : 변경 전 값 저장

 

 

 

 

< 물리적 구성요소 >

1. 컨트롤 파일 : 데이터베이스 이름, 데이터 파일  및 redo 로그파일의 이름과 위치 정보 등 저장

2. Redo 로그 파일 : 데이터베이스 변경 내역을 저장

3. 설정 파일 : 데이터베이스 및 오라클 설정 정보 저장

4. alert/trace log file : 오류 데이터 저장

 

 

 

5. 데이터 파일 : 오라클이 관리하는 데이터가 실제로 저장되는 디스크 상의 파일 

 

 

 

 

< 오라클 서버 인스턴스 구조 >

: 데이터베이스를 사용할 수 있게 하는 프로세스와 메모리 구조의 집합

반응형
반응형

1. 편집 명령어

 

- list : 버퍼에 저장된 내용을 화면에 출력

- edit : 버퍼에 저장된 내용을 메모장 편집기를 통해 편집 가능, 저장

- append : 버퍼에 추가

- change : 버퍼 내용 변경

 

 

 

2. 파일 명령어

 

- save 파일 이름 : 버퍼에 있는 내용을 파일에 저장

- get 파일 이름 : 파일의 내용을 버퍼로 불러옴

- spool 파일 이름 : 이후의 작업 내용을 파일에 저장

- spool off : spool 작업 해제

- host dir : 디렉토리 보기

- host more 파일 이름 : 파일 내용 보기

 

 

 

3. 실행 명령어

 

- start 파일 이름(@ 파일 이름) : 파일에 저장된 SQL 스크립트를 실행

- Run(/) : 버퍼에 있는 SQL문을 실행

 

 

 

4. 환경 명령어

 

- set linesize : 출력하는 페이지의 폭을 문자수로 결정한다.

- set pagesize : 페이지 당 행의 수를 설정한다.

 

 

 

5, 형식 명령어

 

- column 열 이름 format a20 : 열의 폭을 20자로 출력

- column 열 이름 format L99,999 : 열의 값을 통화로 표시

 

 

6. 기타

 

- desc(describe) 테이블이름 : 테이블의 구조 정보 출력

 



반응형
반응형

1. 집합 연산의 종류

합집합 / 차집합 / 교집합 / 카티션 프로덕트 

 

 

 

2. 합집합

 

 

3. 교집합

 

 

 

 

4. 차집합

 

 

 

 

5. 카티션 프로덕트

: 두 개의 테이블에서 각각의 레코드들을 서로 결합하여 하나의 레코드로 구성하면서 가능한 모든 조합의 레코드를 생성

 

 

 

- 교환법칙과 결합법칙이 성립

 

 

 

 

6. 조인

: 두 테이블로부터 특정 조건을 만족하는 레코드들을 하나의 레코드로 결합하는 연산

 

 

 

 

7. 자연 조인

: 두 테이블에서 같은 이름을 갖는 필드 중 하나를 제거하는 연산

-> 이 때 두 필드에서 모두 존재하는 레코드만 가져온다.

 

 

 

 

8. 외부 조인

: 자연 조인에서 두 필드에 모두 존재하지 않더라도 가져올 수 있게 한다.

: 매치되지 않는 레코드는 NULL값 처리

freshman : (name, address)

member : (name, dept_name)

-> 펼쳐져 있는 쪽의 데이터를 가져옴

 

 

 

 

9. 지정 연산

: 중간 결과에 이름을 부여하기 위한 연산

- 재명명 연산이랑 비슷

 

 

반응형
반응형

1. 관계형 데이터베이스란? (RDBMS)

: 하나 이상의 2차원 테이블로 실 세계의 데이터를 표현한 데이터베이스

: SQL 을 사용하여 데이터를 저장, 검색, 수정, 삭제한다.

 

 

* nosql 은?

: 관계형 데이터베이스의 반대로 데이터 간의 관계를 정의하지 않는다. (스키마가 없다)

 

 

- 데이터베이스 스키마 = 테이블 스키마의 집합

데이터베이스 스키마 예제

 

 

- 데이터베이스 인스턴스 = 테이블 인스턴스의 집합

 

데이터베이스 인스턴스

 

 

 

2. 질의어

: 데이터를 삽입, 삭제, 수정, 검색(CRUD) 등 데이터 조작을 위한 연산들을 표현하기 위한 언어

 

- 절차적 언어

: 사용자가 원하는 결과를 얻기 위해 수행되어야 하는 일련의 절차를 명시해야 하는 언어

ex) C, Java, 관계 대수

 

- 비절차적 언어

: 수행 절차는 기술하지 않고 사용자가 원하는 결과만을 형식적, 선언적으로 명시하는 언어

ex) 관계 해석, SQL

 

 

 

 

 

 

* 관계 대수와 관계 해석은 SQL 문법의 이론적 기반을 제공한다.

 

3. 관계대수

 

- 연산 종류

기본 연산 : 선택, 추출, 재명명, 집합 연산(합, 차, 교, cartesian product)

추가 연산 : 조인, 자연조인, 외부조인, 지정연산, 나누기연산

 

 

주의 !!

관계 대수의 결과는 중복을 제거함

다만, Oracle 등 실제 DBMS에서는 대부분 허용함

 

 

 

 

4. 선택(selection)

- 시그마 할 때 's' -> selection

- 조건식 : <, >, <=, >=, <> 와 and(^), or(v), not(기역..) 의 조합

- AND 할 때 A 의 뾰족한 부분이 ^와 닮음

 

만약, 해당 필드의 값이 Null 일 경우?

값을 알지 못하기 때문에 검색 결과에서 배제

 

 

 

예시 1>

 

예시 2>

 

 

 

 

 

5. 추출(projection)

- 파이 할 때 P -> Projection

- 추출하고자 하는 테이블의 필드를 작성

 

 

 

 

ex>

 

 

 

 

6. 연산자들의 조합

 

 

 

 

- 선택 연산은 교환법칙 성립 O

- 추출 연산은 교환법칙 성립 X : 첫 번째 필드가 두 번째 필드를 포함하면 교화법칙 성립

 

 

 

 

7. 재명명 연산(rename)

: 로우 니까 R 이니까 rename

 

 

- 주의

본래 데이터베이스에 저장된 테이블명/필드명이 변경되는 것은 아님

 

 

 

글이 너무 길어지는 관계로

집합은 다음 글에서 설명하도록 하겠습니다.

반응형
반응형

1. 기본키(key)

: 필드의 일부로, 레코드를 유일하게 식별해 낼 수 있는 식별자 역할을 함

-> 관계형 데이터 모델에서 특정 레코드를 구별하기 위한 유일한 방법

 

2. 두 개 이상의 필드로 구성된 복합키를 가질 수도 있음

ex) '학번'과 '주민등록번호' 필드는 레코드마다 유일하므로 키가 될 수 있음

 

 

 

3. 키의 종류

1) 수퍼키 

: 아무런 제약 조건없이 레코드들을 식별할 수 있는 필드의 집합

ex)(주민등록번호), (학번, 주민등록번호)

 

2) 후보키(기본키가 되기위한)

: 레코드를 구별하는데 불필요한 필드를 제외하고 최소한의 필드로만 구성

ex)(주민등록번호), (학번),(이름,학과명)

 

3) 기본키

: 후보키 중에서 레코드들의 식별자로 선택한 하나의 키

ex)(주민등록번호), (학번)

 

 

 

 

여기서 잠깐!!

Quiz 1) (이름, 주소), (이름, 학과명)이 후보키/기본키 자격이 있는가?

-> 있다! 테이블의 모든 가능한 인스턴스에 대해서도 키가 되는 것이 보장되어야 함

 

Quiz 2) 키가 null이 될 수 있나?

-> 기본키는 null 값을 가질 수 없다! null 값을 가지면 식별자로서의 기능을 상실하기 때문이다.

 

 

 

 

4. 외래키(foreign key)

: 다른 테이블의 기본키를 참조하는 필드 집합

 

 

두 스키마 R1, R2에 대하여,

R1의 기본키를 R2가 외래키로서 참조하려면

- R1의 기본키 필드와 R2의 외래키 필드가 동일한 도메인을 가져야 함

- R2의 각 레코드들은 R1 기본키 필드의 값 중 하나와 일치하거나 null 값을 가져야 함

 

* 만약 외래키가 null일 경우, 그 값을 알지 못하거나 아직 결정되지 않았음을 의미함

 

 

 

 

- 자기 자신을 참조하는 외래키가 있을 수도 있음

 

 

반응형

+ Recent posts