MY MEMO
[SQL SERVER] Sql Server 기본기능 배우기 (index, view, procedure, trigger, backup) 본문
[SQL SERVER] Sql Server 기본기능 배우기 (index, view, procedure, trigger, backup)
l_j_yeon 2018. 3. 13. 16:361) index
USE ShopDB;
SELECT productName, cost, makeDate INTO indexTBL
FROM ProductTBL;
GO
=>
ProductTBL의 데이터를 indexTBL로 옮긴다
indexTBL은 자동으로 생성된다 (이미 생성되어 있다면 중복으로 에러가 난다)
SELECT * FROM indexTBL;
=> 현재는 index가 없는 상태! 즉 색인 목차가 없는 상태!
+) '실행 계획' 창을 보는 것이 필요!
1. 인덱스가 없을 때의 실행계획
2. 인덱스를 생성했을 때
CREATE INDEX idx_indexTBL ON indexTBL(productName);
2) View
ex) 아르바이트생에게 일정 데이터를 보여줘야 할때 크리티컬한 데이터가 포함된 테이블에 권한을 주는 것이 아닌 view를 생성하여 가상의 데이터를 넘겨주는 것
CREATE VIEW uv_memberTBL
AS
SELECT memberName,memberAddress FROM memberTBL;
go
// go는 문장을 분리해 주는 것
// go를 사용하지 않으면 위 아래 명령어가 같은 것으로 판단
SELECT * FROM uv_memberTBL;
3) 저장 프로시저
저장 프로시저를 이용하면 프로그래밍 기능까지 함께 구현할 수 있다
만약 자주 사용하는 여러개의 쿼리가 있다고 하자 (함께 사용해야 되는)
그 쿼리들을 모아서 한번에 실행하는 것도 저장 프로시저의 역할이다.
CREATE PROCEDURE myProc
AS
SELECT* FROM memberTBL WHERE memberName = 'tn1'
SELECT* FROM memberTBL WHERE memberName = 'tn2'
GO
EXECUTE myProc;
4) Trigger
trigger는 테이블에 부착되어서 insert, update, insert 작업에서 발생
만약 delete 처리를 했는데 어떤 데이터를 delete 처리했는지 알 수 없음 -> trigger를 이용
-- 삭제된 데이터가 저장되는 테이블
CREATE TABLE deleteMemberTBL(
memberID char(8),
memberName nchar(5),
memberAddress nchar(20),
deleteDate date -- 삭제한 날짜
);
GO
CREATE TRIGGER trg_deletedMemberTBL -- 트리거 이름
ON memberTBL -- 트리거를 부착할 테이블
AFTER DELETE -- 삭제 후 작동하게 지정
AS
-- deleted 테이블의 내용을 백업테이블에 삽입
INSERT INTO deleteMemberTBL
SELECT memberID,memberName,memberAddress, GETDATE() FROM deleted;
GO
DELETE memberTBL WHERE memberID = 't4';
GO
SELECT * FROM deleteMemberTBL;
위처럼 데이터를 delete 했을 때 2개의 적용된 명령어가 나옴
5) BackUp
현재 데이터베이스를 다른 매체에 보관하는 작업
1. 백업하고 싶은 Database에 오른쪽 클릭 -> 테스크 -> 백업
2. 기존에 있던 백업 경로를 지우고 추가 버튼 선택 -> 백업하고 싶은 장소의 파일을 선택
3. backup 성공!
4. 임의로 Data 모두 날리기
SELECT * FROM productTBL;
-- 만약에 데이터를 모두 날렸다고 가정
DELETE FROM productTBL;
-- Database를 변경(같은 데이터베이스를 사용중이면 안됨)
-- Tempdb는 기본으로 주어지는 Database
USE Tempdb;
5. Database 복원하기
데이터베이스 오른쪽 클릭 -> 데이터베이스 복원
6. 장치 -> 추가 -> 복원할 파일 선택 -> 확인!
하면 데이터베이스가 모두 복원됩니다!
'STUDYING > SQL SERVER' 카테고리의 다른 글
[SQL SERVER] Transact SQL 고급 (0) | 2018.03.15 |
---|---|
[SQL SERVER] Transact SQL 문 기본 (0) | 2018.03.14 |
[SQL SERVER] Web Browser 에 데이터 띄우기 (0) | 2018.03.14 |
[SQL SERVER] Sql Server 간단한 Query 실행하기 (0) | 2018.03.13 |
[SQL SERVER] Sql Server 설치하기 (Window / CentOS) & 로컬에서 외부로 포트 열기 (0) | 2018.03.13 |