개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 * 사용 예
 - 학생 테이블에서 모든 ROWID와 학번을 출력하여라

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 참조만 될 뿐 데이터베이스에 따로 저장되지 않음
* Oracle의 Pseudo-column은 테이블의 실제적인 컬럼은 아니므로 테이블의 describe을 통해서는 보이지 않지만 매우 유용하게 사용
- CURRVAL, NEXTVAL ( sequence number generator )
- LEVEL ( for hierarchical queries )
- ROWNUM ( a row's relative number ) 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* ROWID는 단지 Transaction의 길이 동안만

Consistence의 유지가 보장
- User 프로그램 내부에 하나 이상의 Transaction이 존재한다면, ROWID가 변화할 수도 있음


* Multi-user 환경에서 예상되는 문제점
- 다른 user가 현재 특정 user가 사용하고 있는 ROWID를 invalidate 하게 하는

UPDATE나 INSERT, DELETE 작업을 수행할 수도 있음
- INSERT나 length를 줄이는 UPDATE 작업 등에서 내부적으로 자동으로 ROWID를 변경할 수 있음 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Oracle 테이블의 모든 Row는 ROWID라고 하는 물리적인 Address로 assign
- Non-clustered table 에 대해서는 이러한 address는 유일
* 내부적으로 ROWID는 binary 값을 가짐
* 외부적으로 Display 될때 에는 VARCHAR2 type의 column에 저장된 3 part의 hexdecimal string으로 표현 (Oralce 7)

- 첫번째 부분( position 1 through 8 ) : block ID
- 두번째 부분( position 10 through 13 ) : block 내부에서 row의 sequence number
- 세번째 부분( position 15 through 18) : data file ID를 나타낸다.

 

 

 

* Oracle 8에서 Object와 Partition의 개념이 도입되면서 Database의 Segment를 식별하기 위한 Data Object Number가 추가 -> A four-piece FORMAT
- 지수가 64인 Encoding 형태로 사용
- 18문자 넓이를 가짐
* OOOOOOFFFBBBBBBRRR
- OOOOOO : Database Segment를 식별하기 위한 Data Object Number (오브젝트번호)
- FFF : Tablespace에 상대적인 Datafile Number (데이터파일번호)
- BBBBBB : Row를 포함하는 Data Block Number (블록번호)
- RRR : Block에서의 Row의 Slot (로우스롯번호)
* Rule-based optimizer에서 ROWID를 이용하여 데이터를 엑세스하는 것이 가장 상위로 랭크된 엑세스 방법이며 가장 빠른 방법
* Pseudo-column 임
- 참조만 가능하며 데이타베이스에 값이 저장되지 않음

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

 

형식


- 데이터 객체 번호(data object number)
데이터 객체 생성 시 할당(32bit)
- 상대적 파일 번호(relative file number)
데이터가 저장되는 물리적인 데이터 파일 번호(10bit)
- 블록 번호( block number)
데이터 파일내에서 행을 포함하는 블록 위치(22bit)
- 행 번호(row number)
블록 헤더내에서 행 디렉토리 슬롯의 위치(16bit)

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 개요 *


- 테이블에서 행의 위치를 지정하는 논리적인 주소 값
- 데이타베이스 전체에서 중복되지 않는 유일한 값
- 테이블에 새로운 행이 삽입되면 테이블 내부에서 의사 칼럼(pseudo column)

형태로 자동적으로 생성
- 특정 레코드를 랜덤 액세스하기 위한 가장 빠른 방법
- ROWID 는 데이터베이스에 저장되지 않음
- SELECT 명령문으로 조회는 가능하나, INSERT, UPDATE와 같은

DML 문으로 임의적으로 변경 불가능 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 개요

- 텍스트, 그래픽, 이미지, 동영상, 사운드 등과 같이

구조화되지 않은 대용량의 텍스트나 멀티미디어 데이터를

저장하기 위한 데이터 타입
- 최대 4GB까지 저장


종류
- BLOB
- 그래픽 이미지, 동영상, 사운드와 같이 구조화되지 않은 바이너리 데이터를 저장하기 위해 사용
- CLOB
- e-Book,html 과 같은 대용량의 텍스트 데이터 저장
- NCLOB
- 국가별 문자셋(유니코드) 데이터 저장
- BFILE
- 바이너리 데이터를 파일 형태로 저장,

읽기 전용이므로 내용 변경 불가능

Java Basic 실무과정 ] 자바 실행단계 및 프로그램 동작순서


Java Basic 실무과정 ] 자바 실행단계 및 프로그램 동작순서



실무자를 위한 최고의 교육센터 오라클자바교육센터
www.oraclejava.co.kr www.oraclejava.co.kr .



자바 실행단계 및 프로그램 동작순서




 

 

 

 

 

+ Recent posts