DCL (데이터 제어어) => 사용자를 생성하고 권한을 부여, 삭제 하는 명령어
system 아이디를 가지는 DBA권한
GRANT CONNECT, RESOURCE, DBA TO ds207
접근 리소스사용, DBA권한 부여
REVOKE CONNECT, RESOURCE, DBA FROM ds207;
권한제거
DDL (데어터 정의어) => 자료를 저장하기 전에 설정하는 구조적인것. 테이블 생성 ...
CREATE TABLE membertbl( userid VARCHAR2(50), userpw VARCHAR2(200), -- aaa => fei3rni34i3498734ijf389389743ioff894u3r89u8u348 username VARCHAR2(15), userage NUMBER(3), userphone VARCHAR2(15), -- 010-0000-0000 usergender VARCHAR2(1), -- 'M', 'F' 만 추가될 수 있음 userdate DATE, -- 가입일자 CONSTRAINT membertbl_pk PRIMARY KEY(userid), -- 기본키 CONSTRAINT membertbl_gender CHECK(usergender IN ('M','F')) -- 성별 );
회원테이블 생성
테이블명 membertbl
CONSTRAINTS 제약조건명 PRIMARY KEY(컬럼명,...)
CONSTRAINT membertbl_pk PRIMARY KEY(userid), -- 기본키
기본키는 UNIQUE와 NOT NULL 속성을 동시에 가진 제약조건으로,
테이블당 1개의 기본키만 생성할 수 있고,
기본키는 중복값이 존재할 수 없다.
데이터 무결성을 보장한다.(데이터 정확성,일관성)
CONSTRAINT 외래키명 FOREIGN KEY(컬럼명,...) REFERENCES_참조테이블(참조테이블 컬럼명,...)
CONSTRAINT memberaddrtbl_fk FOREIGN KEY(userid) REFERENCES membertbl(userid) -- 외래키
테이블 간의 참조 무결성을 위한 제약조건이다.
1.반드시 참조하는 테이블이 먼저 생성되어야 하며,
참조키가 참조 테이블의 기본키로 만들어져 있어야 한다
2.참조하는 컬럼과 외래키 컬럼의 순서와 개수는 같아야 한다.
CONSTRAINT 체크명 CHECK(체크조건)
CONSTRAINT membertbl_gender CHECK(usergender IN ('M','F')) -- 성별
컬럼에 입력되는 데이터를 체크해 특정 조건에 맞는 데이터만 입력 받고
그렇지 않으면 오류를 뱉어 낸다
테이블을 수정할 수 있다.
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명고유
CHECK (컬럼명 IN('포함할값','포함할값');
ALTER TABLE member ADD CONSTRAINT CHK_member_usergender CHECK(usergender IN('M','F'));
member테이블의 usergender에 M과 F만 사용가능하도록 제약조건 추가
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 FOREIGN KEY(컬럼명)
REFERNCES 가져올 테이블명(가져올테이블명);
ALTER TABLE memberaddr ADD CONSTRAINT FK_member_TO_memberaddr FOREIGN KEY (userid) REFERENCES member (userid);