[ 목차 ]
1. CREATE TABLE 특징
2. CREATE VIEW
3. VIEW의 정의
4. VIEW의 특징
5. 인덱스
6. ALTER TABLE
7. DROP TABLE
8. DML
9. DCL
1. CREATE TABLE 특징
1) 기본키(PRIMATY KEY)는 NOT NULL, UNIQUE의 특성을 지님
2) UNIQUE : 유일한 속성(중복X)
3) NOT NULL : NULL값 X
4) 외래키는 FOREIGN KEY(속성명) REFERENCES 테이블명(속성명) 으로 지정
5) ON DELETE/UPDATE CASCADE : 부모 테이블 삭제, 수정 시 자식 테이블도 연쇄 삭제, 수정
6) ON DELETE/UPDATE SET NULL/DEFAULT : NULL/DEFAULT 설정
7) ON DELETE/UPDATE NO ACTION : 부모 테이블이 삭제/수정되어도 자식 테이블 변경 없음
2. CREATE VIEW
CREATE VIEW 뷰명(속성명, 속성명) AS SELECT 속성명, 속성명 FROM 테이블명 WHRER 조건 WITH CHECK OPTION;
1) 물리적으로 존재하지 않고 논리적으로 존재
2) SELECT ~ FROM ~ WHERE문은 서브쿼리에 해당
3) 빈번하게 조회가 발생하는 것을 뷰로 정의하면 시스템 성능 향상
4) WITH CHECK OPTION : 뷰에 대한 수정, 삽입 연산이 실행했을 때 WHERE 절 조건에 위배될 경우 실행을 거부
3. VIEW의 정의
1) 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 사용
2) 하나 이상의 기본 테이블로부터 유도된 가상테이블로 물리적X 논리적O
4. VIEW의 특징
1) 기본 테이블과 유사한 구조
2) 물리적 구현X
3) 논리적 독립성 제공
4) 필요한 데이터로만 구성되어 관리, 명령이 수월하고 간단
5) 데이터 보호 효율적 -> 자동보안
6) 삽입, 삭제, 갱신이 가능하지만 제한적
7) 다른 VIEW 정의에 기초
8) 하나의 VIEW를 삭제하면 해당 뷰를 기초로 만들어진 뷰도 자동 삭제
9) 독립적 인덱스 보유 불가
10) 뷰에 대한 검색은 일반 테이블과 같음
11) 뷰의 정의 변경(ALTER) 불가
5. 인덱스
CREATE UNIQUE INDEX 인덱스명 ON 테이블명(칼럼명 ASC) CLUSERT;
1) 검색을 빠르게 하기 위해 만든 보조적인 데이터 구조 (= 목차)
2) 자동으로 기본키가 인덱스로 정의
3) ASC : 오름차순, 생략가능
4) DESC : 내림차순
5) CLUSERT : 클러스터드 인덱스을 만들면 물리적으로 데이터를 정렬시키고, 그렇지 않은 것보다 검색 속도가 빠르지만 한 테이블에 하나의 클러스터드 인덱스만 생성 가능
6) 인덱스를 정의하면 테이블 검색 속도는 빨라지지만 기억공간 낭비로 수정, 삽입 시 수행 속도가 느려질 수 있음
6. ALTER TABLE
1) 속성을 변경하여 테이블 구조를 변경
2) 속성 추가 : ALTER TABLE 테이블명 ADD 속성명 데이터타입;
3) 기본값 변경 : ALTER TABLE 테이블명 ALTER 속성명 SET DEFAULT 기본값;
4) 속성 제거 : ALTER TABLE 테이블명 DROP 속성명;
7. DROP TABLE
DROP TABLE 테이블명 CASCADE;
1) 참도 무결성 위배를 피하기 위해 CASCADE나 RESTRICT를 추가
2) CASCADE : 참조 테이블 연쇄 제거
3) RESTRICT : 참조 테이블 존재하면 제거X
4) DELETE, UPDATE 역시 위 옵션을 사용 가능
8. DML
1) DB에 저장된 자료(튜플)을 검색, 삽입, 삭제, 갱신하기 위한 언어
2) DISTINCT : 중복을 제거
3) =와 IN은 같은 의미를 가지지만 =는 단일 값, IN은 다중 값 사용 가능
+ 두 테이블에서 검색하는 경우 IN을 사용
Ex. SELECT ... FROM ... WHERE IN SELECT ...
4) LIKE '김%' : 김으로 시작하는 모든 튜플
5) BERWEEN A AND B : A 이상 B 이하의 모든 튜플
6) IS NULL : NULL인 튜플(CRETATE의 경우는 IS를 생략)
7) GROUP BY 속성 HAVING 조건: 그룹별 검색
8) ORDEY BY ASC/DESC : 정렬 검색
9) 그룹함수 : COUNT, AVG, SUM, MAX, MIN
10) COUNT(*) : NULL 포함
COUNT(속성명) : NULL제외
COUNT(DISTINCT 속성명) : 중복, NULL 제외
11) SQL 수행 순서 : FROM - WHERE - GROUP BY - HAVING - SELECT - ORDERBY
12) UNION : 병합, UNION ALL : 중복 허용
SELECT * FROM 테이블명1 UNION SELECT * FROM 테이블명2
9. DCL
1) DBA가 데이터 관리를 목적으로 사용하는 보안, 회복, 사원자 권한을 정의하는 언어
2) GRANT : 권한 부여
1] GRANT SELECT(<부여할권한) ON 테이블명 TO 사용자 WITH GRANT OPTION;
2] 부여 가능한 권한 : ALL, INSERT, DELETE, UPDATE, SELECT 등
3] WITH GRANT OPTION : 사용자가 타인에게 권한 부여 가능
3) REVOKE : 권한 취소
1] REVOKE SELECT(<취소할권한) ON 테이블명 FROM 사용자;
4) COMMIT : 트랜잭션 완료 -> DB 적용
5) ROLLBACK : 체크포인트로 복귀 -> DB 미적용
6) 트랜잭션 : 작업의 논리적 단위
'자격증 > 정보처리기사 2과목' 카테고리의 다른 글
2-6장. 데이터 입출력 구현-물리 데이터저장소 설계(3) (0) | 2020.05.13 |
---|---|
2-5장. 데이터 입출력 구현-물리 데이터저장소 설계(2) (0) | 2020.05.13 |
2-3장. 데이터 입출력 구현-물리 데이터저장소 설계(1)-1 (0) | 2020.05.12 |
2-2강. 데이터 입출력 구현-논리 데이터저장소 확인(2) (0) | 2020.03.18 |
2-1강. 데이터 입출력 구현-논리 데이터저장소 확인(1) (0) | 2020.03.18 |