교재: SQL 자격 검정 실전 문제
2과목 제1장 - SQL 기본
11번 ~ 20번
답: 1번
숫자로 시작 불가, - 사용 불가 ( _ 만 가능)

답: 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 지정해주었는데 뒤에서 중복으로 지정해주면 에러가 발생한다.

학생이라는 테이블에 학번(PK), 장학금이라는 속성이 있는 형태
- SELECT COUNT(*) FROM 학생
COUNT(*): 테이블의 모든 ROW의 수를 센다.- SELECT COUNT(학번) FROM 학생
COUNT(컬럼): 해당 컬럼의 NOT NULL인 ROW의 수를 센다.
ROW는 학번을 기준으로 생성되고, 학번은 PK이기 때문에 NULL값이 들어갈 일이 없다. 따라서 SQL1과 2는 항상 같은 실행 결과를 출력한다.
FK는 테이블 생성시 설정할 수 있으며,
NULL값을 가질 수 있다.
한 테이블에 여러 개 존재할 수 있으며,
참조 무결성 제약을 받을 수 있다.
참조 무결성이란?
FOREIGN KEY의 특성이다.
다른 테이블의 데이터를 참조할 때 없는 값을 참조할 수 없도록 제약을 주는 것이다. 참조될 테이블이 먼저 만들어지고 값이 입력되어야 한다. 이때, 참조될 열의 값은 참조될 테이블에서 PK로 설정되어 있어야 한다.
답: 3번
CHECK 제약조건(CONSTRAINT)은 데이터베이스에서 데이터의 무결성을 유지하기 위하여 테이블의 특정 컬럼에 설정하는 제약이다.
기본키(PK)는 반드시 테이블 당 하나의 제약만을 정의할 수 있다.
외래키(FK)는 테이블간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키가 참조하도록 생성한다.
고유키(UNIQUE KEY)로 지정된 모든 컬럼들은 NULL값을 가질 수 있다.
ALTER TABLE EMP
DROP COLUMN COMM;
테이블의 불필요한 컬럼 삭제
ALTER TABLE 테이블명
DROP COLUMN 삭제할 컬럼명;
답: 2번
DELETE CASCADE 옵션 때문에 부서번호 '20'인 모든 컬럼이 삭제된다.
STADUM 테이블의 이름을 STADIUM_JSC로 변경하는 SQL구문
답: RENAME STADIUM TO STADIUM_JSC;
RENAME OLD_NAME TO NEW_NAME
답: 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: 참조 무결성을 위반하는 입력 액션을 취하지 않음
답: 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 컬럼을 명시하지 않았다.