본문 바로가기

오라클/제약조건

참조키(외래키, FORIGN KEY) -- 참조키(외래키, FORIGN KEY) -- 두 테이블간으로 연결을 설정하고 강제 적용( 개체간의 무결성 유지) -- 부모테이블이 먼저 만들어지고 자식테이블을 작성 -- FORIGN KEY는 부모의 PRIMARY KEY, UNIQUE만 설정 할 수 있다.!!!!!!!!!!!!!!!! -- 부모테이블의 컬러명과 자식 테이블의 컬럼명이 달라도 관계를 설정 할 수 있다. -- 참조제약조건이 설정된 경우 부모테이블에 없는 참조키값은 자식테이블에 추가하거나 수정 할 수 없다. -- 참조제약조건이 설정된 자식테이블에 존재하는 값을 부모테이블에서 제거할 수 없다. -- ON DELETE CASCADE 옵션을 부여하면 부모쪽이 지워지면 자식도 자동으로 삭제된다. -- ON DELETE SET NULL 옵션을 부여하.. 더보기
제약조건 DEFAULT 디폴트 --DEFAULT --INSERT 할 때 값을 입력 하지 않으면 DEFAULT에 설정한 값이 입력 --INSERT나 UPDATE에서 키워드를 이용하여 DEFAULT에 설정한 값이 입력 CREATE TABLE 테이블명( 컬럼명 타입 DEFAULT 값 : ); -- DEFAULT 제거 ALTER TABLE 테이블명 MODIFY 컬럼명 DEFAULT NULL; -- DEFAULT 확인 SELECT * FROM user_tab_columns; 더보기
제약조건 NOT NULL -- NULL 제약 -- NULL은 값이 존재하지 않는 것으로 NULL( 또는 ''(홑따옴표 안에 스페이스없는상태))갖지 못한다. -- 테이블 생성시 CREAT TABLE 테이블명( 컬럼명 타입 NOT NULL : ); --존재하는 테이블 ALTER TABLE 테이블명 MODIFY 컬러명 NOT NULL; ALTER TABLE 테이블명 MODIFY (컬럼명 타입 NOT NULL); ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 CHECK(컬럼명 IS NOT NULL); --NOT NULL 제거 ALTER TABLE 테이블명 MODIFY 컬러명 NULL; ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명 더보기
제약조건 CHECK --CHECK : 추가 또는 수정시 설정한 조건에 맞는 올바른 데이터인지 검증 -- 추가 및 수정시 마다 체크하므로 성능 저하 --컬럼레벨로 지정 CREATE TABLE 테이블명( 컬러명 타입 [CONTRAINT 제약조건이름] CHECK(조건) : ); --확인 SELECT * FROM USER_CONSTRAINT; SELECT * FROM USER_CONS_COLUMNS; --이미 존재하는 테이블에 CHECK ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건이름 CHECK (컬럼명); --CHECK 제거 ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건이름; EX) CREATE TABLE test2( id VARCHAR2(20) PRIMARY KEY ,name VARC.. 더보기
제약조건 UNIQUE 유니크 --UNIQUE : 지정컬럼의 중복을 허용하지 않음 -- UNIQUE는 2개이상 지정 가능 -- NULL을 허용할 수 있지만 NULL인 자료는 하나만 존재해야 함 -- UNIQUE 컬럼레벨로 지정 CREATE TABLE 테이블명( 컬럼명 타입 CONSTRAINT 제약조건이름 UNIQUE : : ); -- UNIQUE 테이블레벨로 지정 CREATE TABLE 테이블명 ( 컬럼명 타입 : : ,CONSTRAINT 제약조건이름 UNIQUE(컬럼명) ); --확인 SELECT * FROM USER_CONSTRAINT; SELECT * FROM USER_CONS_COLUMNS; --이미 존재하는 테이블에 UNIQUE ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건이름 UNIQUE (컬럼명); -.. 더보기
제약조건 PRIMARY KEY 기본키 -- 기본키 PRIMARY KEY 테이블의 유일성을 보장하기 위한 제약조건 하나의 테이블에는 하나의 기본키만 가질 수 있다. 방법1. 컬럼레벨로 기본키 지정 -- 하나의 컬럼을 이용하여 간단하게 기본키를 지정한다. CREATE TABLE 테이블명( 컬럼명 타입 [CONSTRAINT 제약조건이름] PRIMARY KEY : ); 방법2. 테이블레벨로 기본키지정(이건 기억해놔야한다) -- 하나이상의 컬럼을 이용하여 기본키를 지정 할 수 있다. CREATE TABLE 테이블명( 컬럼명 타입 : , CONSTRAINT 제약조건이름 PRIMARY KEY (컬럼명,[컬럼명])) ); --제약조건 이름은 제약조건을 삭제하거나 변경할 때 이용된다. --제약조건 이름은 다른 제약조건, 개체와도 중복 될 수 없다. ====.. 더보기