ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3-3 SQL
    자격증/정처기 2023. 5. 19. 18:34

    SQL 분류

    1)DDL

    - 스키마, 도메인, 테이블, 뷰, 인덱스를 정의 / 변경 / 삭제

    - CREATE / ALTER / DROP

     

    2) DML

    - 데이터의 실질적 처리

    - SELECT, INSERT, DELETE, UPDATE

     

    3)DCL

    - 보안, 무결성, 회복, 병행 제어

    - COMMIT, ROLLBACK, SAVEPOINT  //  GRANT, REVOKE (사용권한 부여 / 취소)

     

    *

    DDL - DB 관리자나 설계자가 사용

    DML - 사용자와 시스템 간의 인터페이스 제공

    DCL - DB 관리에 사용

     

     

     

     

    DDL

     

    1)CREATE

    - CREATE  SCHEMA  [스키마명]  AUTHORIZATION  [사용자명]

    - CREATE  DOMAIN   [도메인명]              AS             [데이터타입]

    - CREATE    VIEW          [뷰명]                  AS             [SELECT문]

    - CREATE   INDEX     [인덱스명]              ON             [테이블명(속성명 DESC)]

    - CREATE   TABLE     [테이블명]                                (이름 VARCHAR(15) NOT NULL)

    *VARCHAR(15) = 15 '글자'

     

    2)ALTER

    - ALTER ADD: 속성(열) 추가

    - ALTER ALTER: 속성의 디폴트값 변경

    - ALTER DROP COLUMN : 속성 삭제

     

    3)DROP

    - CASCADE: 제거 대상을 참조하는 다른 개체를 모두 제거

    - RESTRICT: 제거 대상을 참조하는 다른 개체가 존재시 제거 취소

     

    4)TRUNCATE

    - 전체 튜플 삭제 (테이블 초기화)

    - ROLLBACK 불가

    *DROP = 테이블 삭제, DELETE & TRUNCATE = 튜플 삭제 = 테이블 구조는 남아있음

     

     

     

    DCL

     

    GRANT  [사용자등급]  TO  [사용자명]

    REVOKE  [사용자등급]  FROM  [사용자명]

     

    GRANT  [권한리스트]  ON  [개체]  TO  [사용자명]

    권한: ALL, SELECT, INSERT, DELETE, UPDATE, ALTER

    개체: 테이블명

    *GRANT OPTION: 부여받은 권한 재부여

    *CASCADE: 해당 사용자가 재부여한 권한들도 취소

     

     

     

     

    DML

     

    SELECT ~ FROM ~ WHERE

    INSERT ~ INTO ~ VALUES

    UPDATE ~ SET ~ WHERE

    DELETE ~ FROM ~ WHERE 

     

     

    UNION: 합집합 (중복은 한번만)

    UNION ALL: 합집합

    INTERSECT: 교집합

    EXCEPT: 차집합

     

    INNER JOIN:  EQUI JOIN (=)  +  NON-EQUI JOIN (>)

    *중복항 한번만 표현= natural join

    *조건 없는 inner join = cross join

    WHERE a.no = b.no

    FROM  a  NATURAL JOIN  b

    FROM a JOIN b USING(no)

     

     

    OUTER JOIN

    WHERE a.no = b.no(+) *left

    WHERE a.no(+) = b.no *right

     

    + SELF JOIN

     

     

     

     

     

     

     

    절차형 SQL

     

    1)프로시저

     

    DECLARE

    BEGIN

    - SQL (DML, DCL)

    - CONTROL(조건문 반복문)

    - EXCEPTION

    - TRANSACTION 

    END

     

    CREATE / DROP / EXECUTE or EXEC or CALL

     

     

     

    2)트리거

     

    DECLARE

    EVENT (DML 감지)

    BEGIN

    - SQL (DML)

    - CONTROL

    - EXCEPTION

    END

     

    *DCL 사용 불가

    *BEFORE AFTER

    *CREATE TRIGGER 'ON'

     

     

     

    3)사용자 정의 함수

     

    DECLARE

    BEGIN

    - SQL (SELECT)

    - CONTROL

    - EXCEPTION

    - RETURN(필수)

    END

     

     

    +DBMS 접속 기술: JDBC + ODBC + MyBatis (XML)

    +SQL 테스트: DESCRIBE (DESC) + SHOW ERRORS

    ->정적: 커서, 반복문, 빠름, 사전 검사 가능

    ->동적: 문자열, 로직, 느림, 사전 검사 불가능

     

     

    데이터 전환

    - 데이터를 추출(Extract) -> 변환(Transfer) -> 적재(Loading) = ETL

    '자격증 > 정처기' 카테고리의 다른 글

    4-2 응용 sw 기초 기술 활용  (0) 2023.05.20
    4-1 프로그래밍 언어 활용  (0) 2023.05.20
    3-2 물리 데이터베이스 설계  (0) 2023.05.19
    3-1 논리 데이터베이스 설계  (0) 2023.05.18
    2-4 인터페이스 구현  (0) 2023.05.18
Designed by Tistory.