1.05k likes | 1.36k Views
SQL Server 2008. 3 장 . SQL Server 2008 전체 운영 실습 및 DB 와 프로그램의 연동. 분석과 설계 그리고 모델링. 테이블의 구조와 관련 용어. SQL Server 2008 를 이용한 DB 구축 절차. DB 구축 및 관리의 흐름. 데이터베이스 구축 절차. 테이블 외의 데이터베이스 개체 활용. DBMS 설치. 데이터베이스 생성. 테이블 생성. 데이터 백업 및 관리. 데이터 입력. 데이터 활용. < 실습 1> 쇼핑몰 db (ShoppingDB) 생성.
E N D
SQL Server 2008 3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
분석과 설계 그리고 모델링 • 테이블의 구조와 관련 용어
SQL Server 2008를 이용한 DB 구축 절차 • DB구축 및 관리의 흐름 데이터베이스 구축 절차 테이블 외의 데이터베이스 개체 활용 DBMS 설치 데이터베이스 생성 테이블 생성 데이터 백업 및 관리 데이터 입력 데이터 활용
<실습1> 쇼핑몰 db (ShoppingDB) 생성 • 실습 목표 • SSMS(SQL Server Management Studio)를 이용해서 DB를 생성하는 방법을 익힌다. • 실습 결과
1. 데이터베이스 생성 새 데이터베이스 클릭
ShoppingDB입력 확인 클릭 1. 데이터베이스 생성
1. 데이터베이스 생성 새로 생성된 ShoppingDB확인
<실습2> 테이블생성 • 실습 목표 • SSMS를 이용해서 테이블 생성하는 방법을 익힌다. • 테이블의 구조와 데이터형식 및 기본키의 설정방법을 익힌다. • 실습 결과
0. 회원테이블 설계 <회원 테이블:memberTbl> <제품 테이블:productTbl>
1. 회원테이블 생성 새 테이블 클릭
1. 회원테이블 생성 회원테이블 내용 입력
1. 회원테이블 생성 1. 기본 키 설정 클릭
1. 회원테이블 생성 저장 클릭 테이블 이름 입력 : memberTbl 확인 클릭
1. 회원테이블 생성 생성된 테이블 확인
2. 제품테이블 생성 회원테이블 생성과 같이 만들기 만든 테이블 확인
<실습3> 행 데이터 입력 • 실습 목표 • SSMS를 이용해서 테이블에 행데이터를 입력하는 방법을 익힌다. • 실습 결과
1. 회원 테이블이 데이터 입력 상위 200개 행 편집 클릭
1. 회원 테이블이 데이터 입력 탭 키 이용하여 입력
1. 회원 테이블이 데이터 입력 삭제 클릭(행 제거 시)
<실습4> SELECT문을 이용한 데이터 조회 • 실습 목표 • 데이터를 조회하기 위한 SELECT문의 기본적인 사용법을 익힌다. • 실습 요약 • SELECT의 기본 형식 SELECT 필드이름 FROM 테이블이름 WHERE 조건 ; • 예제 SELECT * FROM memberTbl ; SELECT memberName, addr FROM memberTbl ; SELECT * FROM memberTbl WHERE memberName = '한주연' ; SELECT * FROM [my testTbl];
0. 새 쿼리 창 열기 새 쿼리 클릭(조회할 DB클릭 후)
0. 새 쿼리 창 열기 선택된 DB 확인 쿼리 문장 입력 실행(F5) * select 문 설명 ;
* IntelliSense 기능 설정 옵션 클릭(도구)
* IntelliSense 기능 설정 IntelliSense 사용 클릭 확인 클릭
1. SELECT와 관련된 몇가지 사용 방법 SELECT memberName, addrFROM memberTbl; GO SELECT * FROM memberTblWHERE MemberName='이공부'; GO SELECT 문 입력 2. GO : 2개 이상의 문장을 분리 2개의 쿼리 문 2개의 결과 창 각각의 쿼리 문 선택 후 실행
2. IntelliSense 편리한 기능2 CREATE TABLE "my testTbl"(id INT); SELECT * FROM [my testTbl] 1. 테이블 생성 후 2. 조회 시 SELECT 구문 작성시 SELECT * FROM my testTbl입력 후 엔터하면 위와 같이 대괄호로 묶어줌 * DROP 은 IntelliSense 기능 제공하지 않음
테이블 외의 데이터베이스 개체 (1) • 인덱스(Index) • 책 뒤에 있는 색인과 비슷한 개념 • 인덱스는 열 단위로 생성됨 • 인덱스를 잘 활용하면 성능의 향상을 얻을 수 있음 • 실습목표 • 9장에서 학습할 인덱스 생성 구문을 미리 연습한다. • 실습요약 • 인덱스 생성 구문 CREATE INDEX 인덱스이름 ON 테이블이름 (열이름); <실습5> 인덱스 생성 연습
0. 인덱스 테스트용 테이블 생성 USE ShoppingDB; SELECT Name, ProductNumber, ListPrice, Size INTO indexTbl FROM AdventureWorks.Production.Product; GO SELECT * FROM indexTbl; ( 504개의 행이 조회됨)
1. 인덱스 없는 상태에서 쿼리 작동 확인 실제 실행 계획 포함 클릭
1. 인덱스 없는 상태에서 쿼리 작동 확인 USE ShoppingDB SELECT * FROM indexTblWHERE Name = 'Minipump'; 쿼리문 실행 실행 계획 탭 클릭 실행 계획 창 내용 확인(Table Scan 100%=> 504건 모두 읽음)
2. 인덱스 생성 후 실행 계획 확인 CREATE INDEX idx_indexTbl_NameON indexTbl(Name); SELECT * FROM indexTblWHERE Name = 'Minipump'; 인덱스 생성 쿼리문 실행 조회 쿼리문 실행 실행 계획 탭 클릭 후 내용 확인 (Index Seek 사용됨 504건 모두 읽지 아니함)
테이블 외의 데이터베이스 개체 (2) • 뷰(View) • 가상의 테이블 • 실제 데이터는 없으며, 테이블이 링크된 개념 • 테이블과 동일하게 SELECT를 사용하면 됨 • 실습목표 • 8장에서 학습할 뷰를 미리 연습한다. • 실습요약 • 뷰 생성 구문 CREATE VIEW 뷰이름AS SELECT 구문 • 뷰 활용 구문 SELECT 필드이름 FROM 뷰이름 WHERE 조건 <실습6> 뷰 활용 연습
실습6 뷰의 사용법 0. 현재 데이터베이스를 ShoppingDB로 변경 • 새 쿼리 클릭 • 사용 가능한 데이터 베이스 : ShoppingDB선택
실습6 뷰의 사용법 1. 뷰 생성 CREATE VIEW uv_memberTbl AS SELECT memberName, addrFROM memberTbl; 2. 뷰 조회 SELECT * FROM uv_memberTbl;
테이블 외의 데이터베이스 개체 (3) • 저장프로시저 (Stored Procedure) • SQL Server 에서 제공해주는 프로그래밍 기능 • SQL문을 하나로 묶어서 편리하게 사용 • 프로그래밍 언어와 비슷하게 사용 • 실습목표 • 11장에서 학습할 저장프로시저를 미리 연습한다. • 실습요약 • 저장프로시저 생성 구문 CREATE PROCEDURE 프로시저이름AS SELECT 구문들… • 저장프로시저 실행 구문 EXEC 프로시저이름 ; <실습7> 저장프로시저 활용 연습
실습7 저장 프로시저 0. 현재 데이터베이스가 ShoppingDB인지 확인 쿼리문으로 조회 SELECT * FROM memberTblWHERE memberName= '최고객'; SELECT * FROM productTblWHERE prodName= '핸드폰'; 2. 저장 프로시저 만들기 CREATE PROCEDURE myProc AS SELECT * FROM memberTblWHERE memberName= '최고객'; SELECT * FROM productTblWHERE prodName= '핸드폰';
실습7 저장 프로시저 4. 저장 프로시저 사용하기 EXEC myProc;
테이블 외의 데이터베이스 개체 (4) • 트리거(Trigger) • 테이블에부착되어서 테이블에 변경작업이 발생되면 실행되는 코드를 말함 • 별도로 작동시킬 수 없으며 자동으로 작동됨 • 실습목표 • 13장에서 학습할 트리거를 미리 연습한다. • 실습요약 • 트리거 생성 예제 CREATE TRIGGER trg_deletedMemberTbl ON memberTbl -- 트리거를 부착할 테이블 AFTER DELETE -- 삭제 후에 작동하도록 지정 AS INSERT INTO deletedMemberTbl SELECT memberName, juminNo, addr, GETDATE() FROM deleted; <실습8> 트리거 활용 연습
실습8 트리거 0. 테이블의 변경(입력 수정 삭제) 과거 자료 없음 USE ShoppingDB INSERT INTO memberTblVALUES ('강희망', '901111-5555555', '서울시방학동'); GO UPDATE memberTblSET addr= '서울시효자동' WHERE memberName= '강희망'; GO DELETE memberTblWHERE memberName= '강희망'; GO
실습8 트리거 삭제 시 삭제 정보 관련 자료 보관(테이블 생성, 트리거 생성) USE ShoppingDB GO CREATE TABLE deletedMemberTbl ( memberNamenchar(5) , juminNochar(14), addrnvarchar(30), deletedDatedate -- 삭제한날짜 ); GO CREATE TRIGGER trg_deletedMemberTbl-- 트리거이름 ON memberTbl-- 트리거를부착할테이블 AFTER DELETE -- 삭제후에작동하도록지정 AS -- deleted 테이블의내용을백업테이블에삽입 INSERT INTO deletedMemberTbl SELECT memberName, juminNo, addr, GETDATE() FROM deleted; GO
실습8 트리거 2. 회원테이블의 삭제 후 백업 테이블에서 조회 SELECT * FROM MEMBERTBL DELETE memberTblWHERE memberName= '최고객'; GO SELECT * FROM memberTbl; GO SELECT * FROM deletedMemberTbl; GO
데이터 백업 및 관리 (1) • 백업과 복원 • 백업(Backup)은 현재의 데이터베이스를 다른 매체에 보관하는 작업 • 복원(Restore)는 데이터베이스에 문제가 발생시에 다른 매체에 백업된 데이터를 이용해서 원상태로 돌려놓는 작업 • DBA의 가장 중요한 업무 중 한가지 • 실습목표 • 17장에서 다룰 백업/복원을 간단히 미리 연습한다. • 실습 시나리오 • SSMS를 이용해서 쇼핑몰 데이터베이스 백업 • 사고 발생 (기존 데이터 삭제) • SSMS를 이용해서 기존 백업 데이터를 복원 <실습9> 백업/복원 연습
실습9 백업과 복원 0 . 백업 폴더 생성 및 현재 데이터 확인 - 백업 폴더 생성 : C:\백업장치 - 현재의 데이터 확인 USE ShoppingDB; SELECT * FROM productTbl;
실습9 백업과 복원 1 . 쇼핑몰 데이터베이스(ShoppingDB) 백업 백업 클릭