Data base 21

DEFAULT

-- DEFAULT : 컬럼에 기본값. CREATE TABLE ex2_10 ( Col1 VARCHAR2(10) NOT NULL, Col2 VARCHAR2(10) NULL, Create_date DATE DEFAULT SYSDATE --오라클 날짜 체크 함수 SYSDATE -- DATE 타입과 뒤에오는 타입이 일치해야한다 ); -- 입력시 테이블명에 컬럼명을 생략하면, 모든 컬럼명을 의미한다. 1,2번은 동일하다. INSERT INTO ex2_10 VALUES ('AA', 'AA'); --1 "not enough values" INSERT INTO ex2_10(COL1,COL2,CREATE_DATE) VALUES('AA', 'AA'); --2 "not enough values" --입력컬럼명을 생략한 경우..

Data base 2022.10.14

CHECK

-- CHECK /* 컬럼에 입력되는 데이터를 체크해 특정 조건에 맞는 데이터만 입력 받고 그렇지 않으면 오류를 뱉어 낸다. CONSTRAINT 체크명 CHECK(체크조건) */ -- 제약조건객체도 데이터베이스 객체. 구성요소중 하나이다. CREATE TABLE ex2_9 ( num1 NUMBER CONSTRAINTS check1 CHECK ( num1 BETWEEN 1 AND 9), -- 이름 생성없다면 CONSTRAINTS check1 빼기 gender VARCHAR2(10) CONSTRAINTS check2 CHECK ( gender IN ('MALE', 'FEMALE')) ); -- 앞의 CONSTRAINTS check1 제약이 생성되어 있으므로, 아래구문에서 CONSTRAINTS check1 제..

Data base 2022.10.14

외래키(Foreign key)

예제 1 /* 외래키 외래키Foreign key는 테이블 간의 참조 데이터 무결성을 위한 제약조건이다. CONSTRAINT 외래키명 FOREIGN KEY(컬럼명, ...) REFERENCES 참조 테이블(참조 테이블 컬럼명, ...) 반드시 참조하는 테이블이 먼저 생성되어야 하며, 참조키가 참조 테이블의 기본키로 만들어져 있어야 한다. 외래키에 사용할 수 있는 컬럼 개수는 최대 32개다. 여러 컬럼을 외래키로 만들려면, 참조하는 컬럼과 외래키 컬럼의 순서와 개수는 같아야 한다. */ -- 1) 참조키 설정이 없는경우 --부서테이블 CREATE TABLE DEPT( DEPT_CODE NUMBER PRIMARY KEY, DEPT_NAME VARCHAR2(20) NOT NULL ); --사원테이블 CREATE..

Data base 2022.10.14

기본키(Primary key)

/* 기본키는 UNIQUE와 NOT NULL 속성을 동시에 가진 제약조건으로, 테이블 당 1개의 기본키만 생성할 수 있다. 컬럼명 데이터타입 PRIMARY KEY 혹은 CONSTRAINTS 제약조건명 PRIMARY KEY(컬럼명, ...) // 테이블수준제약 */ -- 기본키 CREATE TABLE ex2_8 ( COL1 VARCHAR2(10) PRIMARY KEY, -- UNIQUE + NOT NULL 포함 // 제약객체이름이 내부적으로 자동생성 COL2 VARCHAR2(10) -- NULL 생략 ); -- 테이블 제약조건 정보 조회 SELECT constraint_name, constraint_type, table_name, search_condition FROM user_constraints WHE..

Data base 2022.10.14

UNIQUE

/* UNIQUE : UNIQUE 제약조건은 말 그대로 해당 컬럼에 들어가는 값이 유일해야 한다는 의미다. 즉 중복 값을 허용하지 않는다. 컬럼에 제약조건 설정시 1)테이블수준제약: 컬럼을 다 정의하고 나서, 마지막에 제약조건설정 예> CREATE TABLE 테이블명( 컬럼명1 테이터타입, 컬럼명2 테이터타입, 컬럼명3 테이터타입, CONSTRATINS 제약조건객체이름 재약조건명령어(컬럼명1) ); 2)컬럼수준제약 : 컬럼 생성시 제약조건 설정 예> 컬럼명 데이터타입 제약조건명령어 */ CREATE TABLE ex2_7 ( COL_UNIQUE_NULL VARCHAR2(10) UNIQUE, -- NULL 생략됨.제약객체이름 자동으로 생성 COL_UNIQUE_NNULL VARCHAR2(10) UNIQUE N..

Data base 2022.10.14

NULL, 제약조건(Constraints),시스템 뷰

NULL은 ‘값이 없음’을 의미하며 테이블을 생성할 때 컬럼 속성에 기술한다. 디폴트 값이 NULL이므로 별도로 지정하지 않으면 해당 컬럼은 NULL을 허용하게 된다. NULL을 허용하지 않으려면 NOT NULL 구문을 명시해야 한다. NULL 허용이란 해당 컬럼에 값을 넣지 않아도 된다는 의미이며, NOT NULL로 명시한 컬럼에 데이터를 넣지 않으면 해당 로우 INSERT 자체가 불가능하다. 제약조건Constraints 은 컬럼에 대한 속성 형태로 정의하지만 엄연히 오라클 데이터베이스 객체 중 하나이며 데이터 무결성(잘못된 데이터)을 보장하기 위한 용도로 사용된다. 제약조건에는 NOT NULL, UNIQUE, 기본키, 외래키, CHECK 등이 있다. (NULL포함X) -- NULL : 컬럼에 데이터를..

Data base 2022.10.14

LOB 데이터 타입

LOB는 ‘Large OBject’의 약자로 대용량 데이터를 저장할 수 있는 데이터 타입이다. CLOB 문자형 대용량 객체. 고정길이와 가변길이 문자 집합 지원, 최대 크기는 (4GB-1) * (데이터베이스 블록 사이즈) NCLOB 유니코드(다국어 지원)를 포함한 문자형 대용량 객체. 최대 크기는 (4GB-1) * (데이터베이스 블록 사이즈) BLOB 이진형 대용량 객체. 최대 크기는(4GB-1) * (데이터베이스 블록 사이즈) BFILE 대용량 이진 파일에 대한 로케이터(위치, 이름)저장. 최대 크기는 4GB 텍스트, 그래픽, 이미지, 사운드 등 비정형 데이터는 그 크기가 매우 커서 이런 데이터를 저장하는 데 LOB 타입을 사용한다.

Data base 2022.10.14

날짜 데이터 타입

오라클에서 제공하는 대표적인 날짜형 데이터 DATE BC 4712년 1월 1일부터 9999년 12월 31일, 연,월,일,시,분,초까지 입력 가능하다. TIMESTAMP [(fractional_seconds_precision)] 연도, 월, 일, 시, 분, 초는 물론 밀리초까지 입력 가능하다. fractional_seconds_precision은 0~9까지 입력할 수 있고 디폴트 값은 6이다. -툴에서 날짜,시간 형식지정으로 보이는 형식이 달라질수있다. 도구-환경설정-데이터베이스-NLS설정 CREATE TABLE ex2_5 ( COL_DATE DATE, -- 년,월,일 시,분,초 COL_TIMESTAMP TIMESTAMP --년,월,일시,분,초,밀리세컨드 );

Data base 2022.10.14

NUMBER형 표기

NUMBER형 예제 123.54 NUMBER 123.54 정상 123.54 NUMBER(3) 124 s는 명시하지 않아 0, p가 3이므로 소수점 첫 자리에서 반올림됨 123.54 NUMBER(3, 2) 오류 p가 3인데 입력값인 123.54는 유효숫자가 다섯 자리여서 오류. 유효숫자가 p보다 크면 오류 발생 123.54 NUMBER(5, 2) 123.54 정상 123.54 NUMBER(7, 1) 123.5 s가 1이므로 .54가 반올림되어 .5 123.54 NUMBER(7, -1) 120 s가 -1이어서 소수점 왼쪽 첫 자리 3이 반올림되어 120 125.54 NUMBER(7, -1) 130 s가 -1이어서 소수점 왼쪽 첫 자리 5가 반올림되어 130 0.1234 NUMBER(4,5) 오류 유효숫자는 ..

Data base 2022.10.14

데이터 타입

데이터 타입 데이터 타입(Datatype)이란 컬럼이 저장되는 데이터 유형을 말하며, 오라클에서는 기본으로 제공되는 기본 데이터 타입(원시 데이터 타입이라고도 함) 데이터 타입설명 CHAR (크기[ BYTE | CHAR ]) 고정길이 문자, 최대 2000byte, 디폴트 값은 1byte VARCARCHAR2 (크기[ BYTE | CHAR ]) 가변길이 문자, 최대 4000byte, 디폴트 값은 1byte NCHAR (크기) 고정길이 유니코드 문자(다국어 입력 가능), 최대 2000byte, 디폴트 값은 1 NVARCARCHAR2 (크기) 가변길이 유니코드 문자(다국어 입력 가능), 최대 4000byte, 디폴트 값은 1 LONG 최대 2GB 크기의 가변길이 문자형, 잘 사용하지 않음 --한글 데이터입력시..

Data base 2022.10.14