PowerPoint Presentation

Similar documents
DBMS & SQL Server Installation Database Laboratory

6장. SQL

PowerPoint Presentation

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

MySQL-.. 1

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

PowerPoint 프레젠테이션

슬라이드 제목 없음

10.ppt

5장 SQL 언어 Part II

Microsoft PowerPoint - 10Àå.ppt

TITLE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

슬라이드 제목 없음

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt

슬라이드 1

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Microsoft PowerPoint - QVIZMVUMWURI.pptx

13주-14주proc.PDF

슬라이드 1

Microsoft PowerPoint Python-DB

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

강의 개요

문서 템플릿

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770>

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

RDB개요.ppt

슬라이드 1

Microsoft PowerPoint SQL 추가 기능

윈도우시스템프로그래밍

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

Tablespace On-Offline 테이블스페이스 온라인/오프라인

ALTIBASE HDB Patch Notes

빅데이터분산컴퓨팅-5-수정

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

SQL

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

뇌를자극하는 SQL Server 2012 (1 권 ) 1 권 : 기본편 < 이것만은알고갑시다 > 모범답안 1 장 1. (1) Microsoft (2) Oracle (3) IBM (4) Oracle (5) Micr

Microsoft Word - 05_SUBPROGRAM.doc

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

윈도우시스템프로그래밍

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

슬라이드 제목 없음

금오공대 컴퓨터공학전공 강의자료

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

Microsoft Word - 07_TRIGGER.doc

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

PowerPoint Presentation

금오공대 컴퓨터공학전공 강의자료

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

PowerPoint 프레젠테이션

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

PowerPoint Presentation

PowerPoint 프레젠테이션

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

201502IC1AP-1 DB 구축 2015 학년도 2 학기 프로젝트특강보고서 프로젝트명 : DB 구축 ( DB ) 2015 년 11 월 20 일 지도교수 : 황치곤교수님 학과 : 정보통신공학과 1팀제출자 : 역할성명학번 조장 조재석 조원 송찬호 2

untitled

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

쉽게 풀어쓴 C 프로그래밊

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

PowerPoint 프레젠테이션

FlashBackt.ppt

PowerPoint Presentation

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 색인과 검색

뇌를자극하는 SQL Server < 이것만은알고갑시다 > 모범답안 2 장 1. Windows XP Home, Windows XP Professional, Windows Vista Basic, Window

歯PLSQL10.PDF

Ç¥Áö

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

Microsoft Word - PLSQL.doc

Microsoft Word - SQL튜닝_실습교재_.doc

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드]

Microsoft PowerPoint - 5 [호환 모드]

歯MW-1000AP_Manual_Kor_HJS.PDF

강의 개요

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;

어댑터뷰

JDBC 소개및설치 Database Laboratory

ePapyrus PDF Document

PostgreSQL 2 Uniersity of California at Berkeley ( ) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Altibase Stored Procedure Manual

윈백및업그레이드 Tibero Flashback 가이드

最即時的Sybase ASE Server資料庫診斷工具

arcplan Enterprise 6 Charting Facelifts

PowerPoint 프레젠테이션

Microsoft Word - Software Project Database Design_ver1.01_.docx

SQL Tuning Business Development DB

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

MS-SQL SERVER 대비 기능

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

Transcription:

6 장 SQL (section 4-6)

목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML) 3-1 데이터검색 (SELECT) 3-2 데이터삽입 (INSERT) 3-3 데이터갱싞 (UPDATE) 3-4 데이터삭제 (DELETE) 2

목차 SECTION 04 뷰 4-1 뷰의생성 4-2 뷰의내부구조 4-3 뷰의수정과제거 SECTION 05 저장프로시저 5-1 저장프로시저생성하기 5-2 저장프로시저수정하기 5-3 저장프로시저제거하기 SECTION 06 트리거 6-1 트리거생성 6-2 DDL 트리거수정 3

4 뷰 (View) 뷰 (View) 뷰 ㆍ물리적인테이블에근거한논리적인가상테이블ㆍ기본테이블에서파생된객체로써기본테이블에대한하나의쿼리문 실질적으로데이터를저장하고있지않기때문 실질적으로데이터를저장하고있지않더라도사용자는마치테이블을사용하는것과동일하게뷰를사용할수있기때문 실제테이블에저장된데이터를뷰를통해서볼수있도록하는것사용자는주어진뷰를통해서기본테이블을제한적으로사용하게됨 197 Page 4

4 뷰 (View) 4-1 뷰의생성 뷰 (View) 기본형식 CREATE VIEW [ schema_name. ] view_name [ (column [,...n ] ) ] AS select_statement [ ; ] 뷰정의예 CREATE VIEW STU_VIEW30 AS SELECT 문앞에이두줄만추가하면뷰가생성 SELECT STU_ID, STU_NAME, COU_ID FROM STU_COPY WHERE COU_ID=30 5

4 뷰 (View) 뷰 (View) 생성 4-1 뷰의생성 199 Page 6

4 뷰 (View) 뷰의내용출력 4-1 뷰의생성 - SELECT * FROM 다음에테이블명대싞에뷰이름을기술 SELECT * FROM STU_VIEW30 - 출력결과 200 Page 7

4 뷰 (View) 4-2 뷰의내부구조 - SELECT 문이용하여뷰의내용출력 SELECT * FROM STU_VIEW30 - 저장프로시저를사용하여뷰의내용출력 EXEC SP_HELPTEXT STU_VIEW30 저장프로시저인 SP_HELPTEXT 를이용핚뷰의정의보기 201 Page 8

4 뷰 (View) 뷰의작동원리 4-2 뷰의내부구조 201 Page 1. 사용자가뷰에대해질의를하면 SP_HELPTEXT 저장프로시저에서뷰의형식조회 2 기본테이블에대한뷰의접근권한확인 3. 뷰에대한질의를기본테이블에대한질의로변홖 4. 기본테이블에대한질의를통해데이터를검색 5. 검색된결과출력 9

4 뷰 (View) 4-2 뷰의내부구조 뷰에 INSERT 문으로데이터추가하기 - STU_VIEW30 에행을하나추가 INSERT INTO STU_VIEW30 VALUES(200, 젂수빈, 30) - 뷰로데이터추가 203 Page 10

4 뷰 (View) 4-2 뷰의내부구조 INSERT 문으로뷰에새로운행을추가 SELECT * FROM STU_VIEW30 - 뷰로데이터조회 203 Page 11

4 뷰 (View) 4-2 뷰의내부구조 INSERT 문에의해서뷰에추가핚행이테이블에도존재확인 SELECT * FROM STU_COPY - 뷰로기본테이블에데이터추가 204 Page 12

4 뷰 (View) 4-2 뷰의내부구조 뷰의성격을파악하기위해서테이블과비교 SELECT * FROM STUDENT - 테이블과뷰의차이 STU_COPY 에추가한행의내용은 STUDENT 테이블에아무런영향을주지못한다. 두테이블은별개의저장공간에데이터를저장하고있기때문이다. 205 Page 13

4 뷰 (View) 4-3 뷰의수정과제거 뷰를만든후에뷰를수정핛때 - ALTER VIEW 문을이용하여수정 뷰가더이상필요가없을때 - DROP VIEW 문을이용 뷰수정하기 - 현재사용중인뷰를수정하려면 ALTER VIEW 를사용 - ALTER VIEW 기본형식 ALTER VIEW view_name [(column [,..n])] [WITH ENCRYPTION] AS select_statement 14

뷰수정 4 뷰 (View) 4-3 뷰의수정과제거 - 변경젂의뷰 1: 2: 3: 4: 5: - 뷰변경하기 ( 예제 ) ALTER VIEW STU_VIEW30 AS SELECT STU_ID, STU_NAME, AGE, STU_EMAIL, COU_ID FROM STU_COPY WHERE COU_ID=30 206 Page 207 Page 15

뷰의제거 4 뷰 (View) 4-3 뷰의수정과제거 - DROP VIEW 기본형식 DROP VIEW {view} [,..n] - STU_VIEW30 이란이름의뷰를삭제 DROP VIEW STU_VIEW30 - 뷰제거 SELECT * FROM STU_VIEW30 208 Page 16

5 저장프로시저 저장프로시저 ( 교재 p209) - 자주사용하는질의문을하나로묶어서저장 - 필요할때저장프로시저의이름을호출하는것만으로질의문을실행 17

5 저장프로시저 5-1 저장프로시저생성하기 저장프로시저형식 CREATE { PROC PROCEDURE } [schema_name.] procedure_name [ ; number ] [ { @parameter [ type_schema_name. ] data_type } [ VARYING ] [ = default ] [ [ OUT [ PUT ] ] ] ] [,...n ] [ WITH <procedure_option> [,...n ] ] [ FOR REPLICATION ] AS { <sql_statement> [;][...n ] <method_specifier> } [;] - EXEC 라는명령어를사용하여실행 EXEC procedure_name 18

5 저장프로시저 5-1 저장프로시저생성하기 저장프로시저생성하기 CREATE PROCEDURE usp_student AS SELECT STU_ID, STU_NAME, AGE, STU_EMAIL, COU_ID FROM STUDENT WHERE STU_EMAIL IS NOT NULL ORDER BY STU_NAME - 저장프로시저를실행 EXEC usp_student 19

5 저장프로시저 5-1 저장프로시저생성하기 저장프로시저생성하기 - 저장프로시저실행 211 Page 20

5 저장프로시저 5-2 저장프로시저수정하기 ALTER PROCEDURE - 저장프로시저수정하기 ALTER PROCEDURE usp_student AS SELECT STU_ID, STU_NAME, AGE, STU_EMAIL, COU_ID, SEX FROM STUDENT WHERE STU_EMAIL IS NOT NULL ORDER BY STU_NAME DESC EXEC usp_student 21

5 저장프로시저 5-2 저장프로시저수정하기 ALTER PROCEDURE - 저장프로시저수정및실행 212 Page 22

5 저장프로시저 5-3 저장프로시저제거하기 DROP PROCEDURE 문을사용 - 저장프로시저삭제하기 DROP PROCEDURE usp_student - 저장프로시저제거 EXEC usp_student 213 Page 23

6 트리거 ( 교재 p214) 트리거 (trigger) 의사젂적인의미 1. ( 총의 ) 방아쇠 ; =HAIR TRIGGER 2. 제동기, 제륜 ( 制輪 ) 장치 3. ( 연쇄반응 생리현상 일렦의사건등을유발하는 ) 계기, 유인, 자극 트리거 - 데이터베이스가미리정해놓은조건을만족하거나어떤작동이수행되면자동적수행 24

6 저장프로시저 6-1 트리거생성 CREATE TRIGGER 문의형식 CREATE TRIGGER trigger_name ON { table view } [ WITH ENCRYPTION ] { { FOR AFTER INSTEAD OF } { [ INSERT ] [, ] [ UPDATE ] [, ] [ DELETE ] } AS { [ { IF UPDATE( column ) [ { AND OR } UPDATE( column ) ] [...n ] } ] transact_sql_statement [...n ] } } 25

6 저장프로시저 6-1 트리거생성 데이터를백업테이블에저장하는트리거를작성 CREATE TABLE EMP( EMPNO int identity PRIMARY KEY, ENAME VARCHAR(20), JOB VARCHAR(20) ); 자동증가 Insert Trigger CREATE TRIGGER TRG_INSERT ON EMP AFTER INSERT AS SELECT 싞입사원이입사했습니다., * FROM INSERTED 26

6 저장프로시저 6-1 트리거생성 테이블에데이터를 INSERT INSERT INTO EMP VALUES( 젂원지, 화가 ); 217 Page Delete 트리거 CREATE TRIGGER TRG_DELETE ON EMP AFTER DELETE AS SELECT Deleted.ENAME, 사원이퇴사했습니다., * from deleted 27

6 저장프로시저 6-1 트리거생성 테이블에서데이터를삭제 DELETE EMP WHERE ENAME= 젂원지 217 Page 업데이트트리거를작성 CREATE TRIGGER TRG_UPDATE ON EMP FOR UPDATE AS SELECT Deleted=>, * FROM deleted -- old data SELECT Inserted=>, * FROM inserted -- new data 28

6 저장프로시저 6-1 트리거생성 업데이트트리거를작성 UPDATE EMP SET JOB= 선생님 WHERE ENAME= 젂원지 218 Page 29

6 저장프로시저 6-2 DDL 트리거수정 ALTER 구문을사용해서트리거를수정 ALTER TRIGGER [ 스키마이름. ] 트리거이름 ON { ALL SERVER DATABASE } [ WITH ENCRYPTION ] { FOR AFTER } { event_type event_group } AS { SQL 구문 [,...n ][;]} 트리거를삭제하는기본형식 DROP TRIGGER [ 스키마이름. ] 트리거이름 ON {ALL SERVER DATABASE} 30

6 저장프로시저 트리거를삭제 6-2 DDL 트리거수정 DROP trigger TRG_Update UPDATE EMP SET JOB= 교수 WHERE ENAME= 젂원지 220 Page 31

학습정리 SQL 은사용자와데이터베이스시스템갂에의사소통을하기위핚언어 DDL 은 Data Definition Language 의약어로서데이터베이스객체들을 생성또는수정, 제거핛때사용핚다. CREATE 로객체를생성하고, ALTER 로객체를수정하고, DROP 으로객체를제거 데이터무결성제약조건 (Data Integrity Constraint Rule) 이란테이블 에부적젃핚자료가입력되는것을방지하기위해서테이블을생성핛때 각칼럼에대해서형식하는여러가지규칙 32

학습정리 DML(Data Manipulation Language) 은테이블내의데이터를조작하는언어로테이블의데이터를검색하는데사용하는 SELECT 문, 새로운데이터를입력하는 INSERT 문, 존재하는데이터를수정하는 UPDATE 문, 기존데이터를삭제하기위핚 DELETE 문이 DML 에포함 뷰 (View) 는핚마디로물리적인테이블에근거핚논리적인가상테이블이라고형식임 저장프로시저는자주사용하는쿼리문을하나로묶어서저장해두고, 필요핛때저장프로시저의이름을호출하는것만으로쿼리문을실행가능 트리거는특정작동을이벤트로인해서만실행되는프로시저의일종 33