SQL Server 2000 세미나 View, SP &Trigger

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

SQL Server 2000 트랜잭션과 잠금 데브피아 세미나
Allow reverse scans allow reverse scnas. allow reverse scans allow reverse scnas.
SQL Server 2005 에서의 XML 지원 강사 : 정 홍 주 ㈜웹타임 수석 컨설턴트.
19.(코드+년도+월)별,(코드)별,전체총액을 한번에
소리가 작으면 이어폰 사용 권장!.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
Database & Internet Computing Laboratory 한 양 대 학 교
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
MySQL performance Xhark 김재홍.
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Toad for Oracle 설치 방법.
6장 Mysql 명령어 한빛미디어(주).
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
11장. 데이터베이스 서버 구축과 운영.
기초 T-SQL.
3장. 데이터베이스 구축의 전체 과정 미리 실습하기
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
14장 뷰.
Chapter 05 데이터베이스 프로그래밍.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
ER-Win 사용 방법.
SQL Server 2000 세미나 Profiler를 이용한 문제해결
차례 튜닝 - 프로필러를 이용한 튜닝 프로필러 친해지기 프로필러 결과 테이블로 만들기 프로필러 결과 분석하기
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
단일 테이블 조회를 위한 SELECT 문을 이해한다. 열 제약조건과 행 제약조건을 이해한다. 결과 집합 변경 방법을 이해한다.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
학습목표 학습목표 본 장은 데이터베이스 내에 하나의 객체로 저장되어 관리되는 응용프로그램과 같은 기능을 하는 저장 프로시저에 대해 학습한다. 사용자가 직접 작성하는 사용자 저장 프로시저, DBMS가 관리를 위해 미리 만들어 둔 시스템 저장 프로시저에 대한 여러 가지 사용방법을.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
SQL.
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
KIM HEESANG PL/SQL 2 KIM HEESANG
You YoungSEok Oracle 설치 You YoungSEok
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
SQL Server 7.0 세미나 (Performance Tuning)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
고급 T-SQL.
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
13장 무결성 제약조건.
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
JDBC Lecture 004 By MINIO.
SQL Query in the SSMS : DB, Table
JSP 게시판 구현.
3장. SQL Server 2008 전체 운영 실습 및 DB와 프로그램의 연동
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
MS-SQL7.0 Implementation 강의 노트
06. SQL 명지대학교 ICT 융합대학 김정호.
23장. Trigger CREATE TRIGGER 구문 DROP TRIGGER 구문 트리거 사용하기
10 데이터 조작어 데이터 조작어 데이터 입력 데이터 수정 데이터 삭제 MERGE 트랜잭션 관리 시퀀스.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
오라클 11g 보안.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 2 장종원
Stored program 장종원
Mariadb 트랜잭션과 동시성 제어 장종원
 6장. SQL 쿼리.
제 5 장 MariaDB인덱스 생성 및 관리.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
Presentation transcript:

SQL Server 2000 세미나 View, SP &Trigger 주최: Microsoft 강사: 정원혁

차 례 뷰 뷰를 사용하는 목적 만들기 /고치기 /지우기 / 암호화 뷰를 통한 데이터 변경 with check option 시스템 뷰 색인된 뷰

차 례 프로시저 일반 SQL 문장과 프로시져의 차이 컴파일이 성능에 미치는 영향 매개 변수 사용 return 문 컴파일 해야만 하는 경우

차 례 트리거 수행순서 지정 instead of 트리거 트랜잭션과의 관계 숨어있는 두 테이블 다중 행의 처리 중첩 트리거 재귀 트리거 성능에 미치는 영향

뷰 를 사용하는 목적 편의성 보안 네트웍 트래픽

만들기/ 고치기/ 지우기/ 암호화 CREATE VIEW [owner.]VIEW_name (column_name [, column_name]...)] [WITH ENCRYPTION] AS select_statement [WITH CHECK OPTION]

뷰를 통한 데이터 변경/ 고려사항 입력되지 않는 컬럼: default , null, identity, timestamp 뷰를 통한 데이터 변경/ 고려사항 입력되지 않는 컬럼: default , null, identity, timestamp 계산된 컬럼/ 파생된 컬럼들 한번에 한 테이블만 수정할 수 있다 Order by

with check option with check option 시스템 뷰 SELECT * FROM sysobjects WHERE type = 'V' SELECT * FROM information_schema.views

색인 (Indexed view) CREATE TABLE tempdb..a ( c1 int , c2 int , c3 as (c1 * c2) ) insert tempdb..a values (2, 3) go create index idx on tempdb..a (c3)

색인된 뷰 use northwind go CREATE VIEW vTotalProduct WITH SCHEMABINDING AS SELECT productid, sum( unitPrice * Quantity) as Total , sum(quantity) as totQty , COUNT_BIG(*) as count FROM dbo.[order details] GROUP BY productid Go CREATE UNIQUE CLUSTERED INDEX idx ON vTotalProduct (productid)

파티션드 뷰 CREATE TABLE SUPPLY1 ( supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 1 and 150), supplier CHAR(50) ) ….. CREATE TABLE SUPPLY4 ( supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 451 and 600),

파티션드 뷰 CREATE VIEW all_supplier_view AS SELECT * FROM SUPPLY1 UNION ALL SELECT * FROM SUPPLY2 SELECT * FROM SUPPLY3 SELECT * FROM SUPPLY4

스토어드 프로시저

만들기/ 고치기 / 지우기 CREATE PROC[EDURE] procedure_name [;number] [ {@parameter data_type} [VARYING] [= default] [OUTPUT] ] [,...n] [WITH { RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION } ] [FOR REPLICATION] AS sql_statement [...n]

어떻게 수행되나 /SQL 문 Parsing 이름확인 보안 점검 최적화(Optimize) Compile

어떻게 수행되나 /SP 만들때 Parsing 이름확인 보안 점검 결과저장 첫 실행 최적화(Optimize) Compile

프로시저의 장점 트래픽 편의성 매개변수 보안 성능 향상 (No more compile)

실행 Exec 매개 변수 리턴 값 반드시 컴파일 해야 할 때

트리거 정의 만들기/ 고치기/ 지우기 테이블 당 개수

만들기 CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] {     { { FOR | AFTER | INSTEAD OF }         { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }         [ WITH APPEND ]         [ NOT FOR REPLICATION ]         AS         sql_statement [ ...n ]     } ….

수행 순서 sp_settriggerorder sp_settriggerorder 'MyTrigger', 'first', 'UPDATE' FIRST LAST NONE 하나씩만 지정가능

INSTEAD OF Trigger Example Non-updateable view CREATE VIEW AuthorsView AS SELECT au_fname+ ' ' + au_lname as au_name, au_id, phone, address, city, state, zip, contract FROM authors

INSTEAD OF Trigger Example CREATE TRIGGER AuIns on AuthorsView INSTEAD OF INSERT AS BEGIN INSERT authors(au_id,au_fname,au_lname,…) SELECT au_id, dbo.ExtractNamePart(au_name, 1), dbo.ExtractNamePart(au_name, 2), phone, address, city, state, zip, contract FROM inserted END INSERT AuthorsView VALUES(‘John Doe’, …)

트랜잭션과 관계 암시적 트랜잭션 Rollback 숨은 테이블 Inserted Deleted 중첩 트리거 재귀 트리거

다중 행 처리 (1) alter trigger trg2 on sales2 for insert as declare @r int , @i int set @i = 0 select @r = count(*) from inserted while @i < @r begin insert sales3 values ('aa', 10) set @i = @i + 1 end

다중 행 처리 (2) alter trigger trg2 on sales2 for insert as insert sales3 select * from inserted go

기타 중첩 트리거 재귀 트리거 성능에 미치는 영향