자격증/SQLD

SQLD 준비

열하나요 2023. 8. 22. 19:52

1. 제약조건명 제시 : CONSTRAINT 제약조건명 제약조건

2. PRIMARY KEY는 한 테이블에 두 개가 될 수 없지만, 여러 컬럼을 하나로 묶어 PRIMARY KEY 하나로 설정이 가능하다.

3. 

1) 부모테이블에서 데이터 삭제 시, 기본적으로 삭제 제한 옵션이 걸려있음.

=> 자식테이블의 데이터가 지워지지 않음

2) ON DELETE SET NULL

=> 부모데이터 삭제 시 해당 데이터를 사용하고 있는 자식컬럼을 NULL로 변환

3) ON DELETE CASCADE

=> 부모데이터 삭제 시 해당 데이터를 사용하고 있는 자식데이터(해당 행)도 같이 삭제해버림

 

4. DROP의 CASCADE는 부모테이블만 삭제. (만약 참조하고 있다면 자식테이블 삭제 후 부모테이블 삭제)

 

5. AS 서브쿼리하여,

CREATE TABLE을 생성할 수 있다.

서브쿼리의 SELECT절에 산술연산 또는 함수식이 기술된 경우 반드시 별칭을 부여해야 한다.

 

6. CREATE OR REPLACE VIEW 뷰명  AS 서브쿼리

서브쿼리의 SELECT절에 산술연산 또는 함수식이 기술된 경우 반드시 별칭을 부여해야 한다.

 

7. ALTER TABLE 테이블명 수정할내용;
    - 수정할 내용
    1) 컬럼 추가 / 수정 / 삭제
    2) 제약조건 추가 / 삭제 => 수정은 불가(수정해야 할 경우 삭제 후 다시 추가)
    3) 테이블명 / 컬럼명 / 제약조건명 변경

 

8. SELECT * FROM USER_TABLES; 계정의 구조(모든 테이블)

9. SELECT * FROM USER_TAB_COLUMNS; 계정의 모든 컬럼

 

10. COMMENT ON COLUMN 테이블명.컬럼명 IS '주석내용';

 

11. 뷰를 가지고 DML명령어를 수행하게되면 참조테이블에 반영됨!

산술연산식으로 정의되어있는 컬럼을 변경하려고 하면 불가!!

 

12. 뷰

    1) OR REPLACE : 해당 뷰가 존재하지 않으면 새로 생성 / 해당 뷰가 존재한다면 갱신시켜주는 옵션
    2) FORCE / NOFORCE
        - FORCE : 서브쿼리에 기술된 테이블이 존재하지 않아도 뷰가 생성
        - NOFORCE(생략 시 기본값) : 서브쿼리에 기술된 테이블이 반드시 존재해야만 뷰가 생성
    3) WITH CHECK OPTION : 서브쿼리에 조건절에 기술된 내용에 만족하는 값으로만 DML을 수행
                           조건에 부합하지 않는 값으로 수정하는 경우 오류 발생
    4) WITH READ ONLY : 뷰에 대해 조회만 가능(DML수행 불가)

 

 

13.

*DML은 테이블속성값을 변경하는 것이므로 TABLE을 안써도 되지만 DDL은 누구의 구조를 바꾸는지 모르기 때문에 TABLE을 써주어야 하는 것 같다.

 

DML :

SELECT FROM 테이블명 /

INSERT INTO 테이블명(컬럼명, 컬럼명, ...) VALUES(값, 값, ...) or 서브쿼리 or

INSERT ALL INTO 테이블명 VALUES(값, 값, ...) 서브쿼리/

UPDATE 테이블명 SET 컬럼명 = 바꿀값, 컬럼명 = 바꿀값, ...(WHERE절 사용가능) or 서브쿼리/

DELETE FROM 테이블명 WHERE절 /

*TRUNCATE TABLE 테이블명(ROLLBACK불가, 별도의 조건 제시 불가, 빠름) -- 테이블이 잘렸습니다.

 

DDL :

DROP TABLE 테이블명 (CASCADE)/

CREATE TABLE 테이블명 /

ALTER TABLE 테이블명 ADD 추가할 내용(테이블라벨방식) or MODIFY or DROP COLUMN컬럼명 / CONSTRAINT 제약조건명 (DROP은 최소 한개의 컬럼을 남겨두어야 한다) or

RENAME COLUMN이나 CONSTRAINT 기존이름 TO 바꿀이름 / 

 

테이블명을 바꿀때는 ALTER없이,

RENAME 테이블명 TO 바꿀테이블명

 

 

*SQL Server에서는 ALTER로 여러칼럼을 동시에 수정할 수 없다.

ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 자료형 제약조건

 

 

DCL : GRANT TO 이름 / REVOKE

 

TCL : COMMIT / ROLLBACK / SAVEPOINT(CHECKPOINT)

 

 

 

 

기출문제

https://tudou.tistory.com/entry/SQLD-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-%EB%AA%A8%EC%9D%8C

 

https://selgii.tistory.com/44

 

SQLD 기출문제 모음

SQLD 시험은 한국데이터산업진흥원에서 주관하는 SQL 개발 시험입니다.국가 공인자격증으로 25회차 시험부터는 토익처럼 2년 유효기간을 가진 시험입니다.다만 온라인 보수교육을 하면 영구자격

tudou.tistory.com