SQL (TABLE)

테이블 이란?

1. 테이블은 오라클 데이타베이스의 기본적인 데이타 저장 단위 입니다.

2. 데이타베이스 테이블은 사용자가 접근 가능한 모든 데이타를 보유하고 레코드와 컬럼으로 구성 됩니다.

3. 테이블은 시스템내에서 독립적으로 사용되길 원하는 엔티티를 표현할수 있습니다.

4. 테이블은 두 엔티티간의 관계를 표현할 수 있습니다.

5. 비록 "테이블"이라는 말이 더 맣이 사용되지만 테이블의 형식어는 "릴레이션" 입니다.


테이블 명명 규칙

  • 테이블명과 칼럼명은 반드시 문자로 시작하고 최대 30자까지 허용한다.
  • A_Z, a-z, 0-9, _, $, #만으로 구성된다.
  • 동일한 사용자가 소유한 다른 객체의 이름과 중복되지 않아야 한다.
  • 예약어는 쓸 수 없다.

 

생성

CREATE TABLE [schma] table_name

(

column datatype [, column datatype...]

)

[TABLESPACE tablespace]

[PCTFREE integer]

[PCTUSED integer]

[INITRANS integer]

[MAXTRANS integer]

[STROAGE storage-clause]

[LOGGING | NOLOGGING]

[CACHE | NOCACHE];

 

- schema : 테이블의 소유자

- table_name : 테이블 이름

- column : 컬럼의 이름

- datatype : 컬럼의 데이터 유형

  • VARCHR2(n) : 가변 길이 문자 데이터(1~4000byte)
  • CHAR(n): 고정길이 문자 데이터(1~2000byte)
  • NUMBER(p,s) : 전체 p자리 중 소수점 이하 s자리(p:1~38,s:-84~127)
  • DATA : 7Byte (BC 4712년 1월 1일부터 AD 9999년 12월 21일)
  • LONG : 가변 길이 분자 데이터 (1~2Gbyte)
  • CLOB : 단일 바이트 가변 길이 문자 데이터 (1~4Gbyte)
  • RAW(n) : n Byte의 원시 이진 데이터(1~2000)
  • LONG RAW : 가변 길이 원시 이진 데이터(1~2Gbyte)
  • BLOB : 가변 길이 이진 데이터(1~4Gbyte)
  • BFILE : 가변 길이 외부 파일에 저장된 이진 데이터(1~4Gbyte)

- TABLESPACE : 테이블이 데이터를 저장 할 테이블스페이스를 지정합니다.

- PCTFREE : 블럭내에 이미 존재하고 있는 Row에 update가 가능하도록 예약시켜 놓는 블럭의 퍼센트 값을 지정합니다.

- PCTUSED : 테이블 데이터가 저장될 블록의 행 데이터 부분의 크기를 퍼센트지로 지정합니다.

- INITRANS : 하나의 데이터를 블록에 지정될 초기 트랙잭션의 값을 지정합니다. (기본값은1)

- MAXTRANS : 하나의 데이터 블록에 지정될 수 있는 트랜젝션 최대 수를 지정 합니다. (기본값은 255)

- LOGGING : 테이블에 대해 이후의 모든 작업이 리두 로그 파일 내에 기록 되도록 지정합니다.

- NOLOGGING : 리두 로그 파일에 테이블의 생성과 특정 유형의 데이터 로드를 기록하지 않도록 지정합니다.

- CACHE : 전체 테이블 스캔이 수행될 때 읽어 들인 블록이 버퍼 캐쉬 내의 LRU 리스트의 가장 최근에 사용된 것의 자리에 위치 하도록 지정합니다.

- NOCACHE : 전체 체이블 스캔이 수행될때 읽어 들인 블록이 버퍼 캐쉬 내의 LRU 리스트의 가장 최근에 사용되지 않은 것의 자리에 위치하도록 지정합니다.

 

테이블에 데이터 추가

INSERT INTO your_table(column_name1,column_name2,...) VALUES ('value1','value2',...);


테이블에 데이터 수정

UPDATE 테이블명 SET 칼럼1=값1[, 칼럼2=값2 ...]

[WHERE 조건식];

테이블 삭제
DELETE FROM 테이블명
[WHERE 조건식];

 

테이블 삭제

DROP TABLE your_table

 

테이블 컬럼 관리

ALTER TABLE your_table ADD (column datatype)

ALTER TABLE your_table MODIFY (column datatype)

ALTER TABLE your_table DROP COLUMN column

 

테이블 설계

1. 테이블이 표현하는 것이 무엇인가?

2. 그것을 얻기 위해 테이블을 어떻게 사용할 것인가?

3. 열들은 쿼리를 짧고 명료하게 할 수 있도록 원자적 데이터를 가지고 있는가?

댓글

이 블로그의 인기 게시물

javascript ===, ==, >=, <=연산자

SQL oracle 내장함수[문자열 처리]

javascript 정규표현식