Post
MSSQL 기초 정리
mssql 책 보고 중요한 부분 정리한 것.
1. 기본적인 T-SQL 구문
1) SELECT : 테이블 데이터 조회 할 때 사용
2) WHERE : 조건을 줘서 결과를 조회.
3) BETWEEN , AND : ~사이에 조건문.
ex) Select Name, height From UserTb1 Where height Betwwen 180 AND 183
4) ANY, ALL, SOME, 하위쿼리
하위쿼리 ? 쿼리문안에 쿼리문이 들어있는 것
ANY : 하위쿼리의 결과 중 하나만 만족시키면 됨.
ALL : 하위쿼리의 결과를 모두 만족시켜야 함.
SOME == ANY 동일한 의미
5) ORDER BY 절 : 결과물의 출력순서
오름차순 : ASCENDING 내림차순 : DESCENDING
6) 중복된 데이터 한건만 보여준다.
DISTINCT ex) SELECT DISTINCT addr FROM userTb1
7) Having 절 : where 과 비슷한 개념. 조건을 제한하되 집계함수에 대해서 제한
8) JOIN : 두 개 이상의 테이블을 서로 묶어서 하나의 결과집합으로 만들어내는 것을 의미
InnerJoin : 조건에 맞는 두개의 테이블 정보를 묶어서 보여줌
ex ) SELECT <열목록>
FROM <첫번째 테이블>
INNER JOIN <두번째 테이블>
ON <조인될 조건>
WHERE <검색 조건>
OuterJoin : 조건에 맞는 두개의 테이블 정보를 보여주는데, 없는 데이터를 NULL로 표시해서 보여줌(InnerJoin과 차이점)
ex) SELECT <열목록>
FROM <첫번째 테이블>
ON <조인될 조건>
WHERE <검색조건>
CROSS JOIN : 모든 행을 조인시키는 기능
SELF JOIN : 자체조인, 자기 자신과 조인 시킨다.
2. 데이터베이스 생성과 관리
1) mdf, ndf : 뎅터파일, 실제 데잍와 그행들이 저장됨
ldf : 트랜잭션 로그파일
2) SQL 작동 방식
1. 사용자가 조회 OR 변경을 한다.
2. 실제데이터
3. 트랜잭션 로그로 남긴다.
4. 결과를 사용자에게 보여준다.
3) 데이터 파일
데이터 파일(mdf or ndf) : 데이터가 순차적으로 저장되는 것x
트랜잭션 로그파일(ldf) : 데이터가 순차적으로 저장됨.
* SELECT addr FROM userTb1 =>실행결과
1. 사용자는 1번처럼 논리적인 데이터베이스에 저장된 데이터를 조회
2. 내부적으로 2번처럼 데이터 파일을 검색
3. 4번 조회결과 응답
select는 조회 결과가 남지 않는다.
* Update userTb1 SET addr = '서울' where userid = 'js'
1. 로그를 먼저 실행, 그리고 물리적인 데이터 변경
로그파일 기록 이유 => 데이터 무결성 (성능이 감소하더라도)
4) 트랜잭션의 개념과 작동원리
트랜잭션 ? 하나의 논리적인 작업 단위로 수행되는 인력의 작업
Update는 트랜잭션을 각각 하나씩 발생시킴
Update를 세번 사용하면 3번 트랜잭션
본래 자동 커밋모드이므로 묶어줘야 함
5) Begin Tran 실행
Begin Tran ~ Commit Tran
6) 컴퓨터가 정전되었다면? 데이터가 일부로그에 남겨져 있다면 롤백. 다 있다면 작업 수행
7) 시스템 데이터베이스와 예제 데이터베이스
master DB : 가장 중요한 데이터베이스, 문제가 생긴다면 Server구동이 안될 수도 있다. 디스크 공간. 시스템 구성 설정 게정 정보 등이 있다.
model DB : 사용자 DB 생성 시 기본 틀
MS DB : 예약된 작업(백업, 복제) 등을 함
tempDB : 임시 데이터베이스(내용이 시작할 때마다 사라짐)
8) 데이터베이스 구조
최소 다음 2개의 파일이 필요.
주 데이터베이스 : 확장명 *.mdf 실제 데이터가 저장되는 곳
트랜잭션 로그파일 : 확장명 .ldf , 복구에 사용
9) 파일 그룹의 개념 : 물리적으로 독립되어야 의미가 있다. 같은 하드디스크에서 읽고 쓰면 느려진다.
'이전게시판 > MySQL MSSQL' 카테고리의 다른 글
MSSQL MYSQL 차이 (0) | 2016.05.11 |
---|---|
MSSQL 뷰, 인덱션, 트랜잭션, 저장 프로시저 정리 (0) | 2016.05.11 |
MSSQL JOIN (INNER JOIN, OUTER JOIN) (0) | 2016.04.06 |