개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 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 .



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




 

 

 

 

 

Java Basic 실무과정 ] 바이트코드


Java Basic 실무과정 ] 바이트코드


 

 


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



바이트코드



​* Byte-Code 는 머신 코드보다 추상적인 형태를 띠는 중간

  코드의 일종이다.


- 추상


​※ '추상'이란 구체적인 사물들 간에 발견되는 공통적인 특징 또는 그 모양새


※ 추상화한것은 실제 세계만큼 real 하지는 못하지만 하나 이상의 사물들을 포괄할 수 있다는 이점이 있다

※ 크로스 플랫폼 쳬계의 기본 요건이기도 하다.

: 크로스플랫폼이란 것이 질적인 기계들 간에서도 동일한 의모로서 파악될 수 있는 어떤 '텍스트'를 요구하기 떄문이다​

​- 바이트코드는 이 같은 요구에 부응하도록 고안된 언어이다.

​- Byte-Code 란 다시 말해서,   프로그래머가 저ㅏㄱ성한 원시언어가 이종의 기계들 사이에서  효율적으로 작동하기 위해서는

  머신 공통의 논리로 정제 되어야 하는데, 이때 머신 공통의 논리로 정제된 결과물이 바로 바이트코드 이다

- 인터프리터는 바이트코드를 통해 '무엇을' '어떻게' 수행해야 하는지 습득한 후 그 내용을 자신의 기계에 맞게 구체적으로

  풀어내면 된다

- 중간 코드라고 불리는 까닭은 바이트코드가 원시코드와 기계어 사이에서 이 같은 매개 역활을 하기 때문이다.

 

+ Recent posts