제약조건
CREATE TABLE MEMBER (
USER_NO NUMBER(10) PRIMARY KEY,
USER_ID VARCHAR2(30) UNIQUE NOT NULL,
USER_PW VARCHAR2(65) NOT NULL,
USER_NM VARCHAR2(40) NOT NULL,
AGE NUMBER(3) CONSTRAINT MEM_AGE_CK CHECK(AGE >= 14),
REG_DT DATE DEFAULT SYSDATE
);
ALTER TABLE 테이블명 DISABLE CONSTRAINT 제약조건명; -> 비활성화
ALTER TABLE 테이블명 ENABLE CONSTRAINT 제약조건명; -> 활성화
-사용자 : 데이터베이스 접속하여 데이터 관리하는 계정
:데이터베이스에서 데이터 간 관계, 데이터 구조, 제약 조건 등 데이터를 저장 및 관리하기 위해 정의한 데이터베이스 구조의 범위
-스키마 : 오라클 데이터베이스에 접속한 사용자와 연결된 객체
CREATE USER
CREATE USER DBSTUDY IDENTIFIED BY oracle; // DBSTUDY 계정 생성
-> 사용자 추가시 접속 권한X (CREATE SESSION)
GRANT 시스템 권한 TO 사용자; // 권한 부여
REVOKE 취소할 시스템권한 FROM 사용자; // 권한 취소
ALTER USER DBSTUDY IDENTIFIED BY oracle123; //비번변경
CONN DBSTUDY/oracle123 // 접속 성공
ALTER USER DBSTUDY IDENTIFIED BY oracle PASSWORD EXPIRE; // 비번 만료 시키기
ALTER USER DBSTUDY IDENTIFIED BY oracle ACCOUNT LOCK; // 계정 접속 불가(락 걸기)
참고)
GRANT - 권한 부여
REVOKE - 권한 취소
사용자 정보 조회
오라클 사용자의 변경과 삭제
ALTER USER - 비번 변경
DROP USER ...
DROP USER 사용자명; -> 스키마 삭제 X
DROP USER 사용자명 CASCADE; -> 스키마도 함께 삭제
CREATE USER 사용자 이름(필수)
IDENTIFIED BY 패스워드(필수)
DEFAULT TABLESPACE 테이블 스페이스 이름(선택)
TEMPORARY TABLESPACE 테이블 스페이스(그룹) 이름(선택)
QUOTA 테이블 스페이스크기 ON 테이블 스페이스 이름(선택)
PROFILE 프로파일 이름(선택)
PASSWORD EXPIRE(선택)
ACCOUNT [LOCK/UNLOCK](선택);
: 사용자 생성과 정보 수정 및 삭제, 데이터베이스의 접근, 오라클 데이터베이스의 여러 자원과 객체 생성 및 관리 등의 권한을 포함
GRANT 시스템 권한(시스템권한 ROLE..), ... TO 사용자;
GRANT 시스템 권한, ... TO 사용자 WITH ADMIN OPTION;
WITH ADMIN OPTION -> 사용자가 가지고 있는 권한을 다른 사용자에게 부여
GRANT CREATE SESSION, CREATE TABLE, CREATE USER, ALTER USER, DROP USER TO DBSTUDY WITH ADMIN OPTION; //여러가지 권한 한번에 부여
REVOKE 시스템 권한[시스템 권한 ROLE], ... FROM 사용자;
REVOKE CREATE SESSION FROM DBSTUDY; // 권한 취소
: 특정 사용자가 생성한 테이블,인덱스,뷰,시퀀스 등과 관련된 권한
GRANT 객체 권한/ALL PRIVILEGES ON 스키마.객체이름 TO 사용자 또는 ROLE/PUBLIC - 모든 사용자
GRANT 객체 권한 ON 스키마.객체이름 TO 사용자 또는 ROLE/PUBLIC - 모든 사용자 WITH GRANT OPTION;
GRANT SELECT ON SCOTT.EMP TO DBSTUDY3 WITH GRANT OPTION; // 다른 사용자에게도 권한 부여 가능
REVOKE 객체권한, ... ON 스키마.객체이름 FROM 사용자명;
WITH GRANT OPTION : 사용자가 소유하고 있는 권한을 부여할 수 있는 권한
ALL PRIVILEGES : 모든 권한
오라클 데이터베이스를 설치할 때 기본으로 제공되는 사전 정의된 롤(predefined roles)과 사용자 정의 롤(user roles)로 나뉨.
CREATE ROLE 롤 명칭;
GRANT 시스템권한, ... TO ROLE 명칭;
CREATE USER DBSTUDY3 IDENTIFIED BY oracle;
GRANT CONNECT, RESOURCE TO DBSTUDY3;
REVOKE 롤 FROM 사용자명;
REVOKE SELECT ON SCOTT.EMP FROM DBSTUDY2;
DROP ROLE 롤이름;