1. 제약조건 394P
Q1-1)
--Q1
CREATE TABLE DEPT_CONST (
DEPTNO NUMBER (2) CONSTRAINT DEPTCONST_DEPTNO_PK PRIMARY KEY ,
DNAME VARCHAR2 (14) CONSTRAINT DEPTCONST_DNAME_UNQ UNIQUE ,
LOC VARCHAR2 (13) CONSTRAINT DEPTCONST_LOC_NN NOT NULL
);
DESC DEPT_CONST;
Q1-2)
--Q2
--HIREDATE는 DATE로 (SYSDATE로 씀)
--참조키를 사용할 때는 데이터 테이블 (참조 행)이렇게 하기 (그냥 EMPNO로 했음)
CREATE TABLE EMP_CONST (
EMPNO NUMBER (4) CONSTRAINT EMPCONST_EMPNO_PK PRIMARY KEY,
ENAME VARCHAR2 (10) CONSTRAINT EMPCONST_ENAME_NN NOT NULL,
JOB VARCHAR2 (9),
TEL VARCHAR2 (20) CONSTRAINT EMPCONST_TEL_UNQ UNIQUE ,
HIREDATE DATE,
SAL NUMBER (7,2) CONSTRAINT EMPCONST_SAL_CHK CHECK (SAL BETWEEN 1000 AND 9999),
COMM NUMBER (7,2) ,
DEPTNO NUMBER (2) CONSTRAINT EMPCONST_DEPTNO_FK REFERENCES DEPT_CONST(DEPTNO)
);
DESC DEPT_CONST;
Q1-3)
--Q3
--LIKE가 아닌 IN으로 사용, OWNER 적기, IN을 적을 때는 LIKE 문법을 사용하면 안됨.
--LIKE IN은 못 쓰고 OR조건을 쓰면 여러개를 쓸 수 있다. (하지만 IN으로 묶어주는게 편하다.
SELECT OWNER, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME
FROM USER_CONSTRAINTS
WHERE TABLE_NAME IN ('EMP_CONST','DEPT_CONST');
2. 사용자, 권한, 롤 관리 416P
Q1)
--416P
--Q1. // 계정 생성 및 접속 확인
--계정 생성 및 비밀번호 지정
CONN system/oracle
CREATE USER PREV_HW
IDENTIFIED BY ORCL;
--접속 권한 부여 및 접속 확인
GRANT CREATE SESSION TO PREV_HW;
CONN PREV_HW/ORCL;
질문 1 : 1줄 표기법은 없는건지?
답변 1 : 찾아봐야 함
질문 2 : 권한 부여를 할 때 테이블명에 계정명을 명시해야 하는지?
EX) GRANT SELECT ON SCOTT.EMP TO PREV_HW;
답변 2 : 다른 계정으로 로그인하면 명시해야 하지만 같은 계정이라면 명시할 필요가 없다.
EX) GRANT SELECT ON EMP TO PREV_HW;
Q2)
--Q2. // 권한 부여 및 확인
--1줄 표기법은 안되는건가 -> 찾아보기
CONN scott/tiger
GRANT SELECT ON EMP TO PREV_HW;
GRANT SELECT ON DEPT TO PREV_HW;
GRANT SELECT ON SALGRADE TO PREV_HW;
CONN PREV_HW/ORCL
SELECT * FROM SCOTT.EMP;
SELECT * FROM SCOTT.DEPT;
SELECT * FROM SCOTT.SALGRADE;
Q3)
--Q3 // 권한 취소 및 PREV_HW의 SALGRADE 확인
CONN scott/tiger
REVOKE SELECT, SELECT ON EMP FROM PREV_HW;
REVOKE SELECT, SELECT ON DEPT FROM PREV_HW;
REVOKE SELECT, SELECT ON SALGRADE FROM PREV_HW;
CONN PREV_HW/ORCL;
SELECT * FROM SCOTT.SALGRADE;
728x90
반응형
LIST
'개인공부 정리 > 문제풀이' 카테고리의 다른 글
0210 오라클 DB 문제풀이 - 커서와 예외처리, 트리거 (0) | 2023.02.10 |
---|---|
0209 오라클 DB 문제풀이 - PL/SQL, 커서와 예외처리 (0) | 2023.02.09 |
0207 오라클 DB 문제풀이 - 데이터 정의어, 객체 종류, 제약 조건 (0) | 2023.02.07 |
0206 오라클 DB 문제풀이 - 데이터 조작어 (INSERT, UPDATE), 트랜잭션 (0) | 2023.02.06 |
0203 오라클 DB 문제풀이 - 조인(JOIN), 서브쿼리 (0) | 2023.02.03 |