정보처리기능사

정보처리기능사 실기- SQL

마느아 2022. 2. 11. 16:37
반응형

1. DDL (Data Definition Language)

데이터베이스의 테이블, 스키마등을 정의하거나 수정, 제거

CREATE, ALTER, DROP등 존재 

 

1-1. CREATE 

[대괄호]는 있어도 되고 없어도 되는것 

테이블정의 -

CREATE TABLE 테이블 이름 (

   속성이름 데이터타입 [NOT NULL], //  NOT NULL은 그 속성 널 값 금지

   PRIMARY KEY(속성이름),  //기본키 설정

   UNIQUE(속성이름), //중복 금지

   FOREIGN KEY(속성이름) REFRENCES 참조테이블(속성_이름) //외래키 지정 FOREIGN KEY와 REFERENCES는 세트

   CONSTRAINT 제약조건_이름 CHECK(VALUE IN(속성이름=범위값) //속성의 범위 정의 (domain)

);

 

 

스키마정의-

CREATE SCHEMA 스키마_이름 AUTHORIZATION 사용자;

 

도메인정의- 

CREATE DOMAIN 도메인_이름 데이터타입

[DEFAULT 기본값]

[CONSTRAINT 제약조건_이름 CHECK(VALUE IN(범위 값))];

 

인덱스정의-

CREATE [UNIQUE] INDEX 인덱스_이름

  ON 태이블_이름(속성_이름 [ASC|DESC])

  [CLUSTER];

 

뷰 정의-

CREATE VIEW 뷰명[(속성명[, 속성명,])]

AS SELECT문;

1-2 ALTER 새로운 속성 추가. 속성 변경, 속성 삭제

ALTER TABLE 테이블이름 ADD 속성이름 데이터타입 [DEFAULT];

                                 ALTER 속성이름 [SET DEFAULT];

                                 DROP 속성이름 [CASCADE|RESTRICT];

1-3 DROP 테이블, 스키마등 삭제

DROP TABLE 테이블_이름 [CASCADE|RESTRICT];

        SCHEMA 스키마_이름 [CASCADE|RESTRICT];

        DOMAIN 도메인_이름 [CASCADE|RESTRICT];

        VIEW 뷰_이름 [CASCADE|RESTRICT];

        INDEX 인덱스_이름;

        CONSTRAINT 제약조건_이름;

 

CASCADE는 종속된거 까지 다 삭제, RESTRICT는 종속된거 있으면 삭제안함. 

 

1-4 TRUNCATE는 DROP과 비슷하지만 데이터 구조는 유지함.

 

2. DML(Data Manipulation Language)

2-1. SELECT

SELECT-FROM-WHERE-GROUP BY-ORDER BY

검색할때 쓰는 함수: SUM AVG MAX MIN COUNT

조건문에 쓰는 연결: = , IN , <= , >= , % , _ , LIKE , IS 

=는 결과가 한가지일때, IN은 결과가 여러가지일때 WHERE뒤에서 부속질의문에 사용(등호는 부속,조건문 모두 사용)

%나 _는 문자 매치를할때 %는 여러문자, _는 문자 1개를 대신하고 이걸로 비교할때는 =나 IS대신 LIKE 사용

NULL을 사용하는 경우 IS나 IS NOT을 사용함 

HAVING은 GROUP BY와 함께 사용되며, 그룹에 대한 조건을 지정함. (그룹을 나눈뒤, 그 그룹들의 원소에 대해서 WHERE 쓰는걸 의미함)

DISTINCT는 중복 없이를 의미하고, 뒤에속성명이 들어간다. 

 

 

2-2 INSERT

INSERT-INTO-VALUES

2-3 UPDATE

UPDATE-SET-WHERE

2-4 DELETE

DELETE-FROM-WHERE

 

3. DCL (Data Control Language)

COMMIT -수정유지 ROLLBACK - 연산 취소 GRANT - 권한부여 REVOKE -권한취소

 

4. 모든 SQL명령어에서 주요한 세트

FOREIGN KEY-REFERENCES

CONSTRAINT-CHECK

WHERE 조건

ORDER BY ASC|DESC

5. INDEX, VIEW, 다중테이블

4-1 INDEX: 각 행에다가 주소를 만들어서 파일로 만드는것. 데이터 검색속도가 향상됨. (보통 오름차순, 내림차순)

인덱스 구조: B-트리와 B+-트리가 존재 (B트리는 Binary search tree)

B+는 바이너리 서치트리와 비슷하지만 잎 노드에 모든 자식이 다 있는 트리라 보면됨.

(자식 하나당 값이 여러개 있을수 있음)

클러스티드 인덱스(정렬후 재구성) - 넌 클러스티드 인덱스 (정렬 없이 id 테이블만듬)


4-2 VIEW하나 이상의 테이블로부터 유도되어 만들어진 가상 테이블 -실제로 기억공간 차지하지 않음.

 

4-3 다중테이블 검색여러개의 명령어를 한번에 사용하는 방식 

 

집합 연산자: UNION(합집합), UNION ALL(합집합, 중복되는건 두번), INTERSECT(교집합), MINUS(A-B 차집합)

사용예시:

SELECT * FROM 데이터베이스

UNION

SELECT * FROM 인공지능;

4-4 시스템 카탈로그- dB에 저장되어있는 정보와 정보들 간의 관계를 저장한 내용

 

반응형