[231106] SQLD 2과목_1장(11~20)

ese2o·2023년 11월 6일

SQLD

목록 보기
2/8

교재: SQL 자격 검정 실전 문제
2과목 제1장 - SQL 기본
11번 ~ 20번

11번

답: 1번

숫자로 시작 불가, - 사용 불가 ( _ 만 가능)

12번


답: 1번, 3번

NOT NULL 조건은 필수적으로 표기해야 한다.
테이블 생성문장에서 이미 PRIMARY KEY를 지정했다면 뒤에서 중복으로 지정하면 안된다.

CREATE TABLE EMP
(EMP_NO VARCHAR2(10) NOT NULL PRIMARY KEY,
~);
ALTER TABLE EMP ADD CONSTRAINT EMP_PK PRIMARY KEY (EMP_NO);

위에서 이미 PK 지정해주었는데 뒤에서 중복으로 지정해주면 에러가 발생한다.

13번


학생이라는 테이블에 학번(PK), 장학금이라는 속성이 있는 형태

  1. SELECT COUNT(*) FROM 학생
    COUNT(*): 테이블의 모든 ROW의 수를 센다.
  2. SELECT COUNT(학번) FROM 학생
    COUNT(컬럼): 해당 컬럼의 NOT NULL인 ROW의 수를 센다.

ROW는 학번을 기준으로 생성되고, 학번은 PK이기 때문에 NULL값이 들어갈 일이 없다. 따라서 SQL1과 2는 항상 같은 실행 결과를 출력한다.

14번

FK는 테이블 생성시 설정할 수 있으며,
NULL값을 가질 수 있다.
한 테이블에 여러 개 존재할 수 있으며,
참조 무결성 제약을 받을 수 있다.

참조 무결성이란?
FOREIGN KEY의 특성이다.
다른 테이블의 데이터를 참조할 때 없는 값을 참조할 수 없도록 제약을 주는 것이다. 참조될 테이블이 먼저 만들어지고 값이 입력되어야 한다. 이때, 참조될 열의 값은 참조될 테이블에서 PK로 설정되어 있어야 한다.

15번

답: 3번

CHECK 제약조건(CONSTRAINT)은 데이터베이스에서 데이터의 무결성을 유지하기 위하여 테이블의 특정 컬럼에 설정하는 제약이다.
기본키(PK)는 반드시 테이블 당 하나의 제약만을 정의할 수 있다.
외래키(FK)는 테이블간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키가 참조하도록 생성한다.
고유키(UNIQUE KEY)로 지정된 모든 컬럼들은 NULL값을 가질 수 있다.

16번

ALTER TABLE EMP
DROP COLUMN COMM;

테이블의 불필요한 컬럼 삭제
ALTER TABLE 테이블명
DROP COLUMN 삭제할 컬럼명;

17번

답: 2번
DELETE CASCADE 옵션 때문에 부서번호 '20'인 모든 컬럼이 삭제된다.

18번

STADUM 테이블의 이름을 STADIUM_JSC로 변경하는 SQL구문
답: RENAME STADIUM TO STADIUM_JSC;

RENAME OLD_NAME TO NEW_NAME

19번

답: 4번

Delete/Modify Action
Cascade: Master 삭제 시 Child 같이 삭제
Set Null: Master 삭제 시 Child 해당 필드 Null
Set Default: Master 삭제 시 Child 해당 필드 Default 값으로 설정
Restrict: Child 테이블에 PK 값이 없는 경우만 Master 삭제 허용
No Action: 참조 무결성을 위반하는 삭제/수정 액션을 취하지 않음

Insert Action
Automatic: Master 테이블에 PK가 없는 경우 Master PK를 생성 후 Child 입력
Set Null: Master 테이블에 PK가 없는 경우 Child 외부키를 Null값으로 처리
Set Default: Master 테이블에 PK가 없는 경우 Child 외부키를 지정된 기본값으로 입력
Dependent: Master 테이블에 PK가 존재할 때만 Child 입력 허용
No Action: 참조 무결성을 위반하는 입력 액션을 취하지 않음

20번

답: 4번

INSERT INTO TBL VALUES(1, 100)

삽입 컬럼을 명시하지 않았을 경우 모든 컬럼을 삽입해야 한다.

INSERT INTO TBL(ID, AMT, DEGREE) VALUES (2, 200, 'AB')

VARCHAR2(1) : 1글자만 입력 가능하다. 컬럼 길이를 초과한다.

INSERT INTO TBL(ID, DEGREE) VALUES (4, 'X')

NOT NULL 컬럼인 AMT 컬럼을 명시하지 않았다.

0개의 댓글