SQLD 모의고사 1회
50문항 · 제한 시간 90분. 다 풀면 과목별 점수와 합격 여부, 문제마다 해설을 보여 줘요.
1. 다음 중 데이터 모델링의 단계에 대한 설명으로 가장 적절한 것은?
- 개념적 모델링에서는 특정 DBMS의 저장 구조와 인덱스를 고려하여 테이블을 정의한다.
- 논리적 모델링에서는 식별자를 확정하고 정규화를 수행하며, 재사용성이 가장 높다.
- 물리적 모델링 단계로 갈수록 추상화 수준은 높아지고 구체성은 낮아진다.
- 성능 향상을 위한 반정규화는 주로 개념적 모델링 단계에서 수행한다.
2. 보험회사 업무를 분석하여 다음과 같은 엔터티 후보를 도출하였다.
설계사, 보험상품, 보험계약, 보험금청구
다음 중 유무형에 따른 엔터티 분류로 가장 적절한 것은?
- 설계사 - 개념 엔터티
- 보험상품 - 유형 엔터티
- 보험계약 - 유형 엔터티
- 보험금청구 - 사건 엔터티
3. 온라인 쇼핑몰의
주문엔터티에 다음 속성들이 정의되어 있다.- 주문일자: 고객이 주문한 날짜
- 주문일련번호: 설계 과정에서 부여한 순차 번호
- 주문상태코드: 접수/배송/완료 상태를 코드화한 값
- 주문총액: 주문상품별 (수량 × 단가)를 합산한 값
특성에 따른 속성 분류에 대한 설명으로 가장 적절한 것은?
- 주문총액은 다른 속성으로부터 계산되는 파생 속성이므로 원본 변경 시 정합성 관리가 필요하다.
- 주문상태코드는 업무 분석을 통해 바로 정의되는 본래의 값이므로 기본 속성에 해당한다.
- 주문일련번호는 다른 값으로부터 계산하여 만든 값이므로 파생 속성에 해당한다.
- 파생 속성은 조회 성능에 유리하므로 가능한 한 많이 정의하는 것이 바람직하다.
4. 다음 중 관계(Relationship)에 대한 설명으로 가장 적절하지 않은 것은?
- 관계는 엔터티 간에 정의하지만, 실제 연결은 인스턴스 간의 페어링으로 이루어진다.
- 관계의 표기 요소에는 관계명, 관계차수, 관계선택사양이 있다.
- ERD에서는 존재적 관계를 실선으로, 행위적 관계를 점선으로 구분하여 표현한다.
- 관계명은 애매한 동사를 피하고 현재형으로 표현하는 것이 바람직하다.
5. 회원 관리 시스템에서
회원엔터티의 주식별자로 '휴대폰번호'를 검토하였다. 모든 회원은 휴대폰번호를 반드시 등록하며, 같은 번호를 가진 회원은 존재하지 않는다. 그러나 회원이 번호를 바꾸는 일이 잦아 주식별자로 부적합하다는 의견이 나왔다.이 의견의 근거가 되는 주식별자의 특징으로 가장 적절한 것은?
- 유일성
- 최소성
- 불변성
- 존재성
6. 다음
수강신청테이블의 PK는 (학번, 강좌코드)이며, 업무 규칙상 학생명은 학번에 의해, 강좌명은 강좌코드에 의해 결정된다.학번 강좌코드 학생명 강좌명 점수 S01 K1 김하늘 자료구조 90 S01 K2 김하늘 알고리즘 85 S02 K1 박바다 자료구조 78 위 테이블에 대한 설명으로 가장 적절한 것은?
- 학생명이 PK의 일부인 학번에만 종속되므로 제2정규형을 만족하지 않는다.
- 각 컬럼이 원자값을 가지지 않으므로 제1정규형을 만족하지 않는다.
- 일반 속성 간 이행 함수 종속이 존재하므로 제3정규형 분해가 우선 필요하다.
- 점수는 학번에만 종속되므로 학생 테이블로 분리해야 한다.
7.
DEPT와EMP는 1:M 관계이며 데이터는 다음과 같다.DEPT
DEPT_NO DEPT_NM D10 영업 D20 개발 D30 기획 EMP
EMP_NO DEPT_NO E1 D10 E2 D10 E3 D10 E4 D20 E5 D20 E6 NULL 다음 SQL의 결과 행 수로 옳은 것은?
SELECT D.DEPT_NO, E.EMP_NO FROM DEPT D LEFT OUTER JOIN EMP E ON D.DEPT_NO = E.DEPT_NO;- 3건
- 4건
- 5건
- 6건
8. 계좌이체 트랜잭션이 'A 계좌 차감 → B 계좌 증가 → 이체내역 기록' 순서로 진행되고 있다. A 계좌 차감만 반영된 중간 상태를 다른 사용자의 트랜잭션이 조회할 수 없어야 한다는 요구와 가장 관련 있는 트랜잭션 특성은?
- 원자성(Atomicity)
- 고립성(Isolation)
- 일관성(Consistency)
- 지속성(Durability)
9.
EMP테이블의 데이터가 다음과 같을 때, SQL의 실행 결과로 옳은 것은? (Oracle 기준)EMP_ID BONUS E1 100 E2 NULL E3 200 E4 NULL E5 300 SELECT COUNT(*), COUNT(BONUS), AVG(BONUS), AVG(NVL(BONUS, 0)) FROM EMP;- 5, 3, 200, 120
- 5, 5, 120, 120
- 3, 3, 200, 200
- 5, 3, 120, 200
10. 다음 중 인조식별자를 주식별자로 사용할 때 발생할 수 있는 문제점으로 가장 적절한 것은?
- 조인 조건에 참여하는 컬럼 수가 늘어나 SQL이 복잡해진다.
- 업무 규칙이 바뀌면 식별자 값을 함께 변경해야 하는 경우가 많아진다.
- 업무상 동일한 데이터가 서로 다른 식별자 값으로 중복 저장될 수 있다.
- 하위 엔터티로 상속될수록 PK를 구성하는 속성 수가 계속 늘어난다.
11. SQL 명령어와 그 분류를 짝지은 것으로 적절하지 않은 것은?
- DDL - CREATE, ALTER, RENAME
- DML - INSERT, MERGE, TRUNCATE
- DCL - GRANT, REVOKE
- TCL - COMMIT, ROLLBACK, SAVEPOINT
12. 다음 [ORDERS] 테이블에 SQL을 실행했을 때 결과 건수는?
[ORDERS]
ORDER_ID CUST ITEM 1 A PEN 2 A PEN 3 A INK 4 B PEN 5 B NULL 6 B NULL SELECT DISTINCT CUST, ITEM FROM ORDERS;- 3건
- 4건
- 5건
- 6건
13. 다음 중 Oracle에서 실행 시 오류가 발생하는 SQL은? (EMP 테이블에는 ENAME, SAL 컬럼이 있다.)
SELECT ENAME, SAL * 12 AS ANNUAL FROM EMP ORDER BY ANNUAL DESC;SELECT ENAME AS "사원 명", SAL FROM EMP;SELECT ENAME, SAL * 12 ANNUAL FROM EMP WHERE SAL * 12 > 30000;SELECT ENAME, SAL * 12 AS ANNUAL FROM EMP WHERE ANNUAL > 30000;
14. 다음 SQL의 실행 결과로 옳은 것은? (Oracle)
SELECT SUBSTR('DATABASE_SYSTEM', INSTR('DATABASE_SYSTEM', 'S', 1, 2), 3) AS RESULT FROM DUAL;SE_STESYSYST
15. 다음 SQL의 실행 결과로 옳은 것은? (Oracle)
SELECT ROUND(-15.65, 1), TRUNC(-15.65), CEIL(-15.65), FLOOR(-15.65) FROM DUAL;-15.7, -15, -15, -16-15.6, -15, -16, -15-15.7, -16, -15, -16-15.7, -15, -16, -16
16. 다음 [T] 테이블에 SQL을 실행했을 때 X, Y, Z의 값으로 옳은 것은?
[T]
ID A B 1 10 NULL 2 NULL 20 3 30 30 4 NULL NULL SELECT SUM(COALESCE(A, B, 0)) AS X, COUNT(NULLIF(A, B)) AS Y, SUM(NVL2(A, 1, 2)) AS Z FROM T;X=60, Y=2, Z=6X=40, Y=1, Z=6X=60, Y=1, Z=4X=60, Y=1, Z=6
17. 다음 [EMP] 테이블에 대해 (가), (나) SQL을 실행했을 때 결과로 옳은 것은?
[EMP]
EMPNO ENAME MGR 101 KIM NULL 102 LEE 101 103 PARK 101 104 CHOI 102 105 JUNG 103 -- (가) SELECT COUNT(*) FROM EMP WHERE MGR IN (101, NULL); -- (나) SELECT COUNT(*) FROM EMP WHERE MGR NOT IN (101, NULL);- (가) 2, (나) 2
- (가) 3, (나) 2
- (가) 2, (나) 0
- (가) 3, (나) 0
18. 다음 [PRODUCT] 테이블에 SQL을 실행했을 때 결과 값은?
[PRODUCT]
PID CATEGORY PRICE STOCK 1 FOOD 3000 10 2 FOOD 8000 0 3 TOY 12000 5 4 TOY 4000 0 5 BOOK 15000 3 6 BOOK 9000 0 SELECT COUNT(*) FROM PRODUCT WHERE CATEGORY = 'FOOD' OR CATEGORY = 'TOY' AND PRICE >= 5000 AND STOCK > 0;- 1
- 2
- 3
- 4
19. 다음 [SALES] 테이블에 SQL을 실행한 결과로 옳은 것은?
[SALES]
EMP BONUS A 100 B NULL C 300 D NULL E 0 F 200 SELECT COUNT(*), COUNT(BONUS), AVG(BONUS), AVG(NVL(BONUS, 0)) FROM SALES;6, 4, 150, 1006, 3, 200, 1006, 4, 100, 1504, 4, 150, 150
20. EMP 테이블(EMPNO, ENAME, JOB, SAL, DEPTNO)에 대해 실행할 때 오류가 발생하는 SQL은?
SELECT DEPTNO, COUNT(*) FROM EMP GROUP BY DEPTNO HAVING COUNT(*) > 1;SELECT DEPTNO, JOB, SUM(SAL) FROM EMP GROUP BY DEPTNO;SELECT COUNT(*) FROM EMP GROUP BY DEPTNO;SELECT DEPTNO, MAX(SAL) FROM EMP WHERE SAL > 1000 GROUP BY DEPTNO;
21. 다음 [STUDENT] 테이블에 SQL을 실행한 결과의 출력 순서로 옳은 것은? (Oracle)
[STUDENT]
SNO NAME SCORE 1 가영 85 2 나래 NULL 3 다솜 92 4 라희 70 5 마루 NULL SELECT NAME FROM STUDENT ORDER BY SCORE DESC, SNO DESC;- 다솜, 가영, 라희, 마루, 나래
- 나래, 마루, 다솜, 가영, 라희
- 다솜, 가영, 라희, 나래, 마루
- 마루, 나래, 다솜, 가영, 라희
22. ORDER BY 절에 대한 설명으로 적절하지 않은 것은?
- ORDER BY 절에 컬럼명, 별칭, SELECT 목록의 위치 번호를 섞어서 사용하면 오류가 발생한다.
- ORDER BY 절에는 SELECT 절에서 정의한 컬럼 별칭을 사용할 수 있다.
- 정렬 방식을 지정하지 않으면 기본값인 ASC(오름차순)가 적용된다.
- ORDER BY 절은 SELECT 문의 논리적 실행 순서에서 가장 마지막에 수행된다.
23. 다음 [EMP], [SALGRADE] 테이블에 SQL을 실행한 결과로 옳은 것은?
[EMP]
ENAME SAL A 1500 B 2800 C 3000 D 4500 E 6000 [SALGRADE]
GRADE LOSAL HISAL 1 1000 2000 2 2001 3000 3 3001 5000 SELECT S.GRADE, COUNT(*) AS CNT FROM EMP E, SALGRADE S WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL GROUP BY S.GRADE ORDER BY S.GRADE;- GRADE 1→1, 2→1, 3→2
- GRADE 1→1, 2→2, 3→2
- GRADE 1→1, 2→2, 3→1
- GRADE 1→1, 2→2, 3→1, NULL→1
24. 다음 [DEPT], [EMP] 테이블에 SQL을 실행했을 때 결과 값은? (EMP.DEPTNO에는 FK 제약이 없다.)
[DEPT]
DEPTNO DNAME 10 인사 20 개발 30 영업 40 기획 [EMP]
EMPNO DEPTNO 1 10 2 20 3 20 4 NULL SELECT COUNT(*) FROM DEPT D, EMP E WHERE D.DEPTNO = E.DEPTNO(+);- 4
- 5
- 6
- 7
25. EMP(EMPNO, ENAME, DEPTNO), DEPT(DEPTNO, DNAME) 테이블이 있다. 두 테이블에서 이름이 같은 컬럼은 DEPTNO뿐일 때, Oracle에서 오류가 발생하는 SQL은?
SELECT E.DEPTNO, ENAME, DNAME FROM EMP E NATURAL JOIN DEPT D;SELECT DEPTNO, E.ENAME, D.DNAME FROM EMP E NATURAL JOIN DEPT D;SELECT E.DEPTNO, E.ENAME, D.DNAME FROM EMP E INNER JOIN DEPT D ON E.DEPTNO = D.DEPTNO;SELECT DEPTNO, ENAME, DNAME FROM EMP JOIN DEPT USING (DEPTNO);
26. 다음 [CUSTOMER], [ORDERS] 테이블에 SQL을 실행했을 때 결과 건수와 AMT가 NULL인 행의 수로 옳은 것은?
[CUSTOMER]
CID CNAME C1 김 C2 이 C3 박 C4 최 [ORDERS]
OID CID AMT 1 C1 100 2 C1 200 3 C3 150 4 C5 300 SELECT C.CNAME, O.AMT FROM CUSTOMER C LEFT OUTER JOIN ORDERS O ON C.CID = O.CID;- 결과 4건, NULL 1건
- 결과 6건, NULL 3건
- 결과 5건, NULL 1건
- 결과 5건, NULL 2건
27. 다음 두 테이블에 대해 SQL을 실행했을 때 결과 건수로 옳은 것은?
[EMP]
EMPNO ENAME DEPTNO 101 김하늘 10 102 이바다 20 103 박구름 NULL 104 최노을 30 [DEPT]
DEPTNO DNAME 10 영업 20 개발 30 인사 40 재무 SELECT COUNT(*) FROM DEPT WHERE DEPTNO NOT IN (SELECT DEPTNO FROM EMP);- 1
- 0
- 4
- 3
28. 다음 SQL의 실행 결과로 옳은 것은?
[EMP]
EMPNO ENAME DEPTNO SAL 1 A 10 300 2 B 10 500 3 C 20 400 4 D 20 400 5 E 20 200 6 F 30 600 SELECT ENAME FROM EMP E WHERE SAL > (SELECT AVG(SAL) FROM EMP WHERE DEPTNO = E.DEPTNO) ORDER BY ENAME;B, FB, C, D, FBB, C, D
29. 다음 두 테이블에 대해 (가), (나) SQL을 실행했을 때 결과 건수로 옳은 것은?
[T1]
C1 1 2 2 3 [T2]
C1 2 3 4 -- (가) SELECT C1 FROM T1 UNION ALL SELECT C1 FROM T2; -- (나) SELECT C1 FROM T1 UNION SELECT C1 FROM T2;- (가) 7건, (나) 4건
- (가) 7건, (나) 5건
- (가) 6건, (나) 4건
- (가) 7건, (나) 2건
30. 다음 두 테이블에 대해 SQL을 실행한 결과로 옳은 것은?
[A]
CODE X Y Z Y [B]
CODE Y W SELECT CODE FROM B MINUS SELECT CODE FROM A;X, ZX, Y, ZWX, Z, W
31. 다음 SQL의 결과 건수는?
[SALES]
REGION PRODUCT AMT 서울 A 10 서울 B 20 서울 A 30 부산 A 40 부산 C 50 대구 B 60 SELECT REGION, PRODUCT, SUM(AMT) FROM SALES GROUP BY ROLLUP(REGION, PRODUCT);- 6건
- 8건
- 9건
- 12건
32. 다음 SQL의 결과에 포함되는 행으로 옳은 것은? (D | J | S 순서로 표기)
[EMP]
DEPTNO JOB SAL 10 CLERK 100 10 MANAGER 300 20 CLERK 200 SELECT CASE GROUPING(DEPTNO) WHEN 1 THEN '총계' ELSE TO_CHAR(DEPTNO) END AS D, CASE GROUPING(JOB) WHEN 1 THEN '소계' ELSE JOB END AS J, SUM(SAL) AS S FROM EMP GROUP BY ROLLUP(DEPTNO, JOB);총계 | 소계 | 600총계 | CLERK | 30010 | 총계 | 400총계 | 총계 | 600
33. 다음 SQL에서 NAME이 '라'인 행의 R1, R2 값으로 옳은 것은?
[SCORE]
NAME PT 가 90 나 85 다 90 라 80 마 85 SELECT NAME, RANK() OVER (ORDER BY PT DESC) AS R1, DENSE_RANK() OVER (ORDER BY PT DESC) AS R2 FROM SCORE;- R1 = 5, R2 = 5
- R1 = 3, R2 = 3
- R1 = 4, R2 = 3
- R1 = 5, R2 = 3
34. 다음 SQL의 실행 결과에서 CSUM 값을 ID 순서대로 나열한 것으로 옳은 것은?
[T]
ID DAY AMT 1 1 100 2 2 200 3 2 300 4 3 400 SELECT ID, SUM(AMT) OVER (ORDER BY DAY) AS CSUM FROM T ORDER BY ID;100, 300, 600, 1000100, 600, 600, 1000100, 300, 600, 6001000, 1000, 1000, 1000
35. 다음 SQL의 실행 결과에서 DIFF 값을 MON 순서대로 나열한 것으로 옳은 것은?
[SALE]
MON AMT 1 100 2 150 3 120 4 200 SELECT MON, AMT - LAG(AMT, 1, 0) OVER (ORDER BY MON) AS DIFF FROM SALE ORDER BY MON;100, 50, -30, 80NULL, 50, -30, 80-50, 30, -80, 20050, -30, 80, 0
36. 다음 SQL의 실행 결과로 옳은 것은? (Oracle 기준, 테이블의 행은 표에 나온 순서대로 읽힌다고 가정한다)
[EMP]
EMPNO ENAME SAL 1 A 300 2 B 500 3 C 100 4 D 400 5 E 200 SELECT ENAME FROM EMP WHERE ROWNUM <= 3 ORDER BY SAL DESC;B, D, AB, A, CA, B, CC, A, B
37. EMP 테이블에 5건의 행이 있을 때, 다음 중 결과가 0건인 SQL은? (Oracle 기준)
SELECT * FROM EMP WHERE ROWNUM = 1;SELECT * FROM EMP WHERE ROWNUM <= 2;SELECT * FROM (SELECT ROWNUM RN, E.* FROM EMP E) WHERE RN = 2;SELECT * FROM EMP WHERE ROWNUM BETWEEN 2 AND 3;
38. 다음 SQL의 결과로 옳은 것은? (Oracle 기준)
[ORG]
ID NAME PID 1 대표 NULL 2 영업 1 3 개발 1 4 영업1팀 2 5 영업2팀 2 6 개발1팀 3 7 파트A 6 SELECT COUNT(*) FROM ORG WHERE LEVEL >= 3 START WITH PID IS NULL CONNECT BY PRIOR ID = PID;- 2
- 3
- 4
- 5
39. 다음 (가), (나) SQL의 결과 건수로 옳은 것은? (Oracle 기준)
[ORG]
ID NAME PID 1 대표 NULL 2 영업 1 3 개발 1 4 영업1팀 2 5 영업2팀 2 6 개발1팀 3 7 파트A 6 -- (가) SELECT NAME FROM ORG START WITH PID IS NULL CONNECT BY PRIOR ID = PID AND NAME <> '영업'; -- (나) SELECT NAME FROM ORG WHERE NAME <> '영업' START WITH PID IS NULL CONNECT BY PRIOR ID = PID;- (가) 6건, (나) 6건
- (가) 4건, (나) 6건
- (가) 6건, (나) 4건
- (가) 4건, (나) 4건
40. 다음 SQL의 결과 건수는? (Oracle 기준)
[SALES]
ID YR QTR AMT 1 2024 Q1 100 2 2024 Q2 200 3 2024 Q1 50 4 2025 Q1 300 5 2025 Q2 150 SELECT * FROM SALES PIVOT (SUM(AMT) FOR QTR IN ('Q1' AS Q1, 'Q2' AS Q2));- 5건
- 2건
- 4건
- 3건
41. 다음 SQL의 실행 결과로 옳은 것은? (Oracle 기준)
SELECT REGEXP_SUBSTR('A-12-BC-345-D', '[0-9]+', 1, 2) AS R FROM DUAL;- 12
- 2
- 345
- NULL
42. 다음 SQL의 결과 건수는? (Oracle 기준)
[T]
VAL ab12 ab1c 12ab a1b2 abc9 SELECT VAL FROM T WHERE REGEXP_LIKE(VAL, '^[a-z]+[0-9]+$');- 1건
- 3건
- 4건
- 2건
43. 다음 두 테이블에 대해 아래 MERGE 문을 실행(Oracle)한 뒤
SELECT SUM(QTY) FROM TGT;의 결과로 옳은 것은?TGT
ID NAME QTY 1 A 10 2 B 20 3 C 30 SRC
ID NAME QTY 2 B 25 3 C 5 4 D 40 MERGE INTO tgt t USING src s ON (t.id = s.id) WHEN MATCHED THEN UPDATE SET t.qty = t.qty + s.qty WHERE s.qty > 10 WHEN NOT MATCHED THEN INSERT (id, name, qty) VALUES (s.id, s.name, s.qty);- 115
- 125
- 130
- 145
44. 다음과 같이 생성된 MEMBER 테이블에 대해 INSERT 문을 실행할 때, 오류가 발생하는 것은? (Oracle, 각 문장은 독립적으로 실행한다고 가정)
CREATE TABLE member ( mid NUMBER PRIMARY KEY, mname VARCHAR2(20) NOT NULL, grade CHAR(1) DEFAULT 'B', phone VARCHAR2(20) );- INSERT INTO member (mid, mname) VALUES (1, '김하늘');
- INSERT INTO member VALUES (2, '이바다', NULL, NULL);
- INSERT INTO member (mname, mid, phone) VALUES ('박구름', 3, '010');
- INSERT INTO member VALUES (4, '최들판', 'A');
45. T 테이블에는 C 컬럼 값이 1, 2인 두 행이 커밋되어 있다. Oracle에서 아래 문장을 순서대로 실행한 후
SELECT COUNT(*) FROM T;의 결과는?INSERT INTO t VALUES (3); SAVEPOINT s1; DELETE FROM t WHERE c = 1; SAVEPOINT s2; INSERT INTO t VALUES (4); ROLLBACK TO s1; INSERT INTO t VALUES (5); SAVEPOINT s2; DELETE FROM t WHERE c = 2; ROLLBACK TO s2; COMMIT;- 4건
- 3건
- 5건
- 2건
46. 비어 있는 상태로 커밋된 T 테이블(C 컬럼)에 대해 Oracle에서 아래 문장을 순서대로 실행했다. 마지막 SELECT의 결과는?
INSERT INTO t VALUES ('A'); INSERT INTO t VALUES ('B'); CREATE TABLE t_log (c NUMBER); DELETE FROM t WHERE c = 'A'; ROLLBACK; SELECT COUNT(*) FROM t;- 0건
- 1건
- 2건
- 3건
47. PROD 테이블이 아래와 같이 정의되어 있을 때
CREATE TABLE prod_bak AS SELECT * FROM prod;를 실행했다. PROD_BAK에 대한 설명으로 가장 적절한 것은? (Oracle)CREATE TABLE prod ( pid NUMBER CONSTRAINT prod_pk PRIMARY KEY, pname VARCHAR2(30) NOT NULL, price NUMBER CONSTRAINT prod_ck CHECK (price > 0), reg_dt DATE DEFAULT SYSDATE );- PID 컬럼에 PK가 복사되어 중복 값을 입력할 수 없다.
- PRICE 컬럼의 CHECK 제약조건이 함께 복사된다.
- PNAME 컬럼의 NOT NULL 제약조건은 PROD_BAK에도 적용된다.
- REG_DT의 DEFAULT가 복사되어 생략 시 SYSDATE가 입력된다.
48. 세 테이블이 다음과 같이 정의되어 있다. ASSIGN.EMPNO는
REFERENCES emp(empno) ON DELETE SET NULL, EMP.DEPTNO는REFERENCES dept(deptno) ON DELETE CASCADE로 선언되어 있다.DEPT
DEPTNO 10 20 EMP
EMPNO DEPTNO 101 10 102 10 103 20 ASSIGN
AID EMPNO 1 101 2 101 3 102 4 103 DELETE FROM dept WHERE deptno = 10;을 실행한 결과로 옳은 것은? (Oracle)- EMP 1건, ASSIGN 4건(EMPNO가 NULL인 행 3건)
- EMP 1건, ASSIGN 1건
- EMP 3건, ASSIGN 4건(자식 행이 있어 삭제 실패)
- EMP 1건, ASSIGN 4건(EMPNO 값은 변경 없음)
49. ORDERS 테이블의 소유자 SCOTT와 사용자들이 아래 순서로 DCL을 실행했다. 마지막 REVOKE 이후 SCOTT.ORDERS에 대한 SELECT 권한을 가지고 있는 사용자를 모두 고른 것은? (Oracle)
-- SCOTT 실행 GRANT SELECT ON scott.orders TO u1 WITH GRANT OPTION; -- U1 실행 GRANT SELECT ON scott.orders TO u2 WITH GRANT OPTION; -- U2 실행 GRANT SELECT ON scott.orders TO u3; -- SCOTT 실행 GRANT SELECT ON scott.orders TO u4; REVOKE SELECT ON scott.orders FROM u1;- U2, U3, U4
- U3, U4
- U2, U4
- U4
50. 시스템 권한과 오브젝트 권한에 대한 설명으로 적절하지 않은 것은?
- CREATE TABLE, CREATE VIEW는 시스템 권한에 해당한다.
- 오브젝트 권한을 재부여할 수 있게 하려면 WITH ADMIN OPTION을 붙인다.
- REFERENCES는 해당 테이블을 참조하는 FK를 만들 수 있는 오브젝트 권한이다.
- EXECUTE는 프로시저 등에 대해 부여하는 오브젝트 권한이다.
AI가 SQLD 출제 범위를 바탕으로 새로 만든 예상 문제이며, 실제 기출문제가 아닙니다.