개념 : Constraint란 데이터 무결성 유지를 위하여 사용자가 지정할 수 있는 성질이다. 모든 Constraint은 데이터 사전에 저장된다. 의미있는 이름을 부여했다면 Constraint을 참조하기 쉽게 된다. Constraint의 이름은 표준 객체 명명법을 따르는게 좋다. Constraint의 이름은 한 사용자 내에서 중복될 수 없다. Constraint의 이름을 생략했다면 ORACLE은 SYS_Cn형식의 이름을 만든다. 정의 방법 : 컬럼 [CONSTRAINT 제약조건 이름] 제한조건 유형, 컬럼,... [CONSTRAINT 제약조건 이름] 제한조건 유형(컬럼1, 컬럼2...) 종류 : NOT NULL : 컬럼이 널값을 가질 수 없음 NOT NULL 제약 조건은 NULL 값을 칼럼에 사용할 수 없게 한다. NOT NULL 제약 조건이 없는 칼럼은 NULL 값을 가질 수 있다. NOT NULL 제약 조건은 칼럼 레벨로만 정의할 수 있다. UNIQUE : 컬럼이나 컬럼의 조합이 테이블의 모든 행에서 고유한 값을 가져야 함 UNIQUE 제약조건은 칼럼이나 컬럼의 조합을 고유 키로 지정한다. 테이블에는 이 키에 대한 같은 값을 갖느느 행이 하나 밖에 없다. UNIQUE 키는 한 칼럼에 대한 것이라면 NULL 값을 쓸 수 있다. 칼럼 레벨이나 테이블 레벨에서 모두 정의할 수 있다. UNIQUE 칼럼에 대해 UNIQUE 인덱스가 자동으로 생성된다. PRIMARY KEY : 컬럼이나 컬럼의 조합이 테이블의 각 행을 유일하게 구별시켜 줌 테이블에 단 하나의 Primary key만 허용한다. 여러 칼럼일지도 NULL값을 허용하지 않는다. 테이블이나 칼럼 레벨에서 정의할 수 있다. UNIQUE 인덱스를 자동으로 생성한다. FOREIGN KEY : 컬럼이나 컬럼의 조합이 다른 테이블의 컬럼이나 컬럼의 조함을 참조함 foreign key는 자식(child) 테이블에 정의한다. 부모 테이블의 값과 일치하거나 NULL이어야...
Collection: 가장 상위 인터페이스이다. Set : 중복을 허용하지 않는 집합을 처리하기 위한 인터페이스이다. SortedSet : 오름차순을 갖는 Set 인터페이스이다. List : 순서가 있는 집합을 처리하기 위한 인터페이스이기 때문에 인덱스가 있어 위치를 지정하여 값을 찾을 수 있다. 중복을 허용하며, List 인터페이스를 상속받는 클래스 중에 가장 많이 사용하는 것으로 Vector가 있다. Queue : 여러 개의 객체를 처리하기 전에 담아서 처리할 때 사용하기 위한 인터페이스이다. 기본적으로 FIFO를 따른다. Map : Map은 키와 값의 쌍으로 구성된 객체의 집합을 처리하기 위한 인터페이스이다. 이 객체는 중복되는 키를 허용하지 않는다. SortedMap : 키를 오름차순으로 정렬하는 Map 인터페이스이다. Set HashSet : 데이터를 해쉬 테이블에 담는 클래스로 순서 없이 저장된다. TreeSet : red-black이라는 트리에 데이터를 담는다. 값에 따라서 순서가 정해진다. HashSet보다 성능상 느리다. 데이터를 담으면서 동시에 정렬할 때 유용하다. LinkedHashSet : 해쉬 테이블에 데이터를 담는데, 저장된 순서에 따라서 순서가 결정된다. List Vector : 크기를 객체 생성시 지정할 필요가 없는 배열 클래스이다. ArrayList : Vector와 비슷하지만, 동기화 처리가 되어 있지 않다. LinkedList : ArrayList와 동일 하지만, Queue 인터페이스를 구현했기 때문에 FIFO큐 작업을 수행한다. Map Hashtable : 데이터를 해쉬 테이블에 담는 클래스이다. 내부에서 관리하는 해쉬 테이블 객체가 동기화되어 있으므로, 동기화가 필요한 부분에서는 이 클래스를 사용하기 바란다. TreeMap : red-black 트리에 데이터를 담는다. TreeSet과 다른 점은 키에 의해서 순서가 정해진다는 것이다. LinkedHashMap : HashMap과 거의 동일하며 이중 연결 리스트라는 방식을 사...
테이블 이란? 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 ...
댓글
댓글 쓰기