2023. 2. 21. 18:17ㆍ정처기 필기/3과목 - 데이터베이스 구축
SQL응용
* SEQUEL에서 유래
* 관계대수와 관계해석을 기초로 한 혼합 데이터 언어
1. SQL 분류
* DDL (Define : 정의어)
명령어 | 기능 |
CREATE | DOMAIN, SCHEMA, TABLE, VIEW, INDEX #도스테뷰인 |
ALTER | --> ALTER TABLE 테이블명; |
DROP | DROP 도스테뷰인 삭제 - CASCADE : 참조하는 모든 개체 함께 제거 - RESTRICTED : 다른 개체가 참조중이면 제거 취소 |
* DML (Manipulation : 조작어)
- SELECT, UPDATE, DELETE, INSERT
* DCL (Control : 제어어)
- COMMIT, ROLLBACK
- GRANT 권한 리스트 ON 개체 TO 사용자 [WHTI GRANT OPTION];
- REVOKE [GRANT OPTION FOR] 권한 리스트 ON 개체 FROM 사용자 [CASCADE]
2. SELECT
* WHERE [select 컬럼명 from where ~~~~~]
: 검색할 조건
* ORDER BY [select number from order by ~~~ #ASC(오름차순), #DESC(내림차순)]
: 기본으로 오름차순이며, 정렬을 뜻함
* GROUP BY
: 특정 속성을 기준으로 그룹화 검색할 때 사용
* HAVING
: GROUP BY와 함께 사용되며, 그룹에 대한 조건 지정
* 집계 / 그룹함수
: GROUP BY 절에 지정된 그룹별로 속성의 값을 집계할 함수를 기술함.
종류 + (속성명) | 설명 |
COUNT | |
SUM | |
AVG | |
MAX | |
MIN | |
STDDEV | 그룹별 표준편차를 구하는 함수 |
VARIANCE | 그룹별 분산을 구하는 함수 |
ROLLUP | 그룹핑 된 것을 집계하는 함수 ex) 총합 |
CUBE | 모든 조합의 그룹별 소계를 구하는 함수 |
* 윈도우 함수 (행과 행 간의 관계를 쉽게 정의하기 위해 만든 함수)
: group by절을 이용하지 않고 속성의 값을 집계할 함수를 기술
: 함수의 인수로 지정한 속성이 대상 레코드의 범위가 되는데, 이를 윈도우라 함
: partiotion by - 윈도우 함수가 적용될 범위로 사용할 속성 지정
--> window 함수 over (partition by 속성 order by 속성)
종류 | 설명 |
row number | window별로 각 레코드에 대한 일련 번호를 반환함 ex) 1,2,3,4,5 |
rank | window 별로 순위를 반환하며, 공동 순위를 반영함 ex) 1,1,1,4,5 |
dense_rank | window별로 순위를 반환하며, 공동순위를 무시하고 순위를 부여함 ex)1,1,1,2,3 |
3. 조인(join)
* 관계형 데이터베이스에서 조인은 교집합 결과를 가지는 결합 방법
* 두 릴레이션으로부터 연관된 튜플들을 결합해, 하나의 새로운 릴레이션을 반환
* INNER JOIN
유형 | 설명 | |
EQUI JOIN (동등) | 공통 존재 컬럼의 값이 같은 경우만 추출 | |
NATURAL JOIN (자연) | 같은 컬럼 명을 가진 값도 같은 경우 추출 | |
CROSS JOIN (교차) | 조인 조건이 없는 모든 데이터 조합을 추출 | ex) 책상1 - 화이트 책상 2- 화이트 책상 3- 화이트 |
* OUTER JOIN
유형 | 설명 |
LEFT OUTER JOIN | 왼쪽 테이블의 모든 데이터 + 오른쪽 동일 데이터 |
RIGHT OUTER JOIN | 오른쪽 모든 데이터 + 왼쪽 동일 데이터 |
FULL OUTER JOIN | 양쪽 모든 데이터 |
* 물리적 조인
종류 | 설명 |
NESTED-LOOP-JOIN | 2개 이상 테이블에서 하나의 집합을 기준으로 순차적으로 상대방 ROW를 결합해 원하는 결과를 조합하는 방식 |
SORT-MERGE JOIN | 양쪽 테이블의 정렬 결과를 차례로 검색하며 연결고리 형태로 합병 |
HASH JOIN | 해싱 함수 기법을 활용해 조인 |
'정처기 필기 > 3과목 - 데이터베이스 구축' 카테고리의 다른 글
ORM (Object - Relational Mapping) / 데이터전환 (0) | 2023.02.21 |
---|---|
SQL활용 / DMBS 접속 기술 (0) | 2023.02.21 |
데이터베이스 보안 / 스토리지 / 논리 데이터 모델의 물리 데이터 모델 변환 및 품질 검토 (0) | 2023.02.19 |
분산 데이터베이스 설계 / 데이터베이스 이중화 / 서버 클러스터링 (0) | 2023.02.19 |
트랜잭션 / 인덱스 / 뷰 / 클러스터 (0) | 2023.02.19 |