정보처리기사/단원별 개념정리
정보처리기사-8장(SQL, DB, 프로시저, 트리거, 커서)
g_three
2023. 1. 26. 11:10
8장 SQL(DB문제)
DDL(Data Define Language)
→ DB를 구축하거나 수정할 목적으로 사용하는 언어
CREATE TABLE 테이블명 ...
[,PRIMARY KEY(기본키_속성명)]
[,UNIQUE(대체키_속성명)]
[,FOREIGN KEY(외래키)속성명 REFERENCES 참조테이블]
[ON DELETE, ON UPDATE]
[,CONSTRAINT 제약조건명 ][**CHECK (조건식)IN**]
CHECK .. IN. …
CREATE SCHEMA AUTHORIZATION
CREATE DOMAIN SEX CHAR(1) DEFAULT ‘남’ CONSTRAINT VALID-SEX CHECK(VALUE IN (’남’, ‘여’));
CREATE TABLE
//테이블의 속성을 참고하여 인덱스 만들기
CREATE INDEX 'idx_name' ON STUDENT (name);
//
DML(Data ManipulationLanguage)
→ 저장된 데이터를 실질적으로 관리하는데 사용하는 언어.
- INSERT .. INTO .. VALUES
- DELETE FROM … [WHERE …]
- UPDATE .. SET .. [WHERE …]
Select *
From Table
Where 조건
And , Or , Between A and B
Group by 컬럼 AVG, SUM, MIN, MAX, COUNT
(그룹 바이에 조건을 주려면 해빙)
Having
Order by 컬럼 ASC, DESC
UNION - 중복된 행은 한번만 출력함.
UNION ALL - 중복된 행 모두 출력
DCL (Data Control Language)
→ 데이터의 보안, 무결성, 회복, 병행제어 등을 정의하는데 사용하는 언어
GRANT ALL ON 사용자 TO 이정민 WITH GRANT OPTION
-------------
REVOKE GRANT OPTION FOR UPDATE ON 사용자 FROM 이정민
프로시저
→ 일련의 작업을 저장해두고 호출해가면서 사용하는 절차형 SQL
DECLARE (필수)
BEGIN (필수)
-CONTROL
-SQL
-EXCEPTION
-TRANSACTION
END (필수)
트리거
→ 삽입, 삭제, 갱신등 이벤트가 발생할때 관련 작업이 자동으로 실행되게하는 절차형 SQL
DECLARE (필수)
EVENT (필수)
BEGIN (필수)
-CONTROL
-SQL
-EXCEPTION
END (필수)
커서(Cursor)
→ 쿼리문의 처리 결과가 저장되어 있는 메모리 공간을 가리키는 포인터
- 묵시적 커서
- 명시적 커서
- 선언 형식
- 열기 형식
- 패치 형식
- 닫기 형식
DBMS 접속
JDBC | JAVA언어로 접속하는 API |
ODBC | 개발언어 관계없이 데이터베이스에 접근하기 위한 표준 개방형 API |
MyBatis | JDBC 코드를 단순화 하여 사용. 오픈 소스 접속 프레임워크. |