슬라이드 제목 없음

Similar documents
<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

슬라이드 제목 없음

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Microsoft PowerPoint SQL 추가 기능

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

슬라이드 제목 없음

DBMS & SQL Server Installation Database Laboratory

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

PowerPoint Presentation

Microsoft PowerPoint - 5 [호환 모드]

슬라이드 제목 없음

<4D F736F F F696E74202D20BFC0B6F3C5AC2D31C0E52DB5A5C0CCC5CDBAA3C0CCBDBA20BDC3BDBAC5DB2E BC8A3C8AF20B8F0B5E55D>

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

슬라이드 제목 없음

슬라이드 제목 없음

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

13주-14주proc.PDF

Microsoft PowerPoint - 4(SQL-Data Definition,BasicQuery) [호환 모드]

PowerPoint Presentation

VENUS Express 사용자 매뉴얼

Chapter 1: 데이터베이스시스템개관

슬라이드 제목 없음

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 1)

RDB개요.ppt

The Relational Model

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770>

<4D F736F F F696E74202D E20B0FCB0E820B5A5C0CCC5CD20B8F0B5A8B0FA20B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20C1A6BEE020C1B6B0C7>

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

내용 3.1 관계모델의개념 3.2 관계제약조건과관계형데이타베이스스키마 3.3 갱신연산과트랜잭션그리고제약조건의위반처리 3.4 요약 Ch6 Fundamentas of Database Systems 2

PowerPoint Presentation

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

PowerPoint Presentation

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

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

머리말

용어사전 PDF

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

Microsoft PowerPoint SQL-99

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

10.ppt

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

Microsoft PowerPoint - 10Àå.ppt

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

Microsoft PowerPoint 관계 DB의 FD와 정규화

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

12. 데이타베이스 설계

02-01 데이터베이스의필요성 데이터베이스의정의와특성

<4D F736F F F696E74202D E20B0FCB0E BCB3B0E820BECBB0EDB8AEC1F2B0FA20C3DFB0A1C0FB20C1A4B1D4C7FC>

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

6 장. 데이터베이스언어 SQL SQL 에서의단순질의하나이상의릴레이션을포함하는질의부질의 (subquery) 릴레이션전체를다루는연산데이터베이스변경 SQL 에서릴레이션스키마의정의뷰정의 2

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

PowerPoint 프레젠테이션

PowerPoint Presentation

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

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

Microsoft PowerPoint - 13(FD1) [호환 모드]

Spring Boot/JDBC JdbcTemplate/CRUD 예제

untitled

MySQL-.. 1

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

6장. SQL

JDBC 소개및설치 Database Laboratory

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEB1E2BBE72DC7CAB1E2B1B3C0E B3E231C8B8292E707074>

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEBBEABEF7B1E2BBE72DC7CAB1E2B1B3C0E B3E231C8B8292E707074>

슬라이드 제목 없음

03-01 데이터모델링과데이터모델의개념 개체-관계모델 논리적데이터모델

슬라이드 1

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

PowerPoint 프레젠테이션

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 2)

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch07 - 포인터 pm0415

윈도우시스템프로그래밍

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

문서 템플릿

<4D F736F F F696E74202D20C1A C0E520B5B5C5A5B8D5C6AE20C6C4C0CF20C0D4C3E2B7C220B9D720B4D9BEE7C7D120BAE420C5ACB7A1BDBA2E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

PowerPoint Presentation

강의 개요

PowerPoint 프레젠테이션

윈도우 프로그래밍의 개념


PowerPoint 프레젠테이션

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

5장 SQL 언어 Part II

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

PowerPoint Template

< B3E220C1A4BAB8C3B3B8AEBBEABEF7B1E2BBE B3E2B0A320B1E2C3E2B9AEC1A6C0BAC7E02E687770>

Microsoft PowerPoint Python-DB

[Brochure] KOR_TunA

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

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

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

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

강의 개요

PowerPoint 프레젠테이션

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

Windows Server 2012

Transcription:

뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서, 데이터독립성을높이기위해서사용됨 시스템카탈로그는시스템내의객체 ( 기본릴레이션, 뷰, 인덱스, 사용자, 접근권한등 ) 에관한정보를포함 시스템카탈로그를적절히활용하면원하는릴레이션을데이터베이스에서찾고, 그릴레이션에어떤애트리뷰트들이들어있으며, 각애트리뷰트의데이터타입은무엇인가등을쉽게파악할수있음 2

8.1 뷰 뷰의개요 ANSI/SPARC 3단계아키텍처에서외부뷰는특정사용자가보는데이터베이스의구조 관계데이터베이스에서의뷰는한사용자의전체외부뷰대신에하나의가상릴레이션 (virtual relation) 을의미 뷰는기존의기본릴레이션 (base relation. 실제릴레이션 ) 에대한 SELECT문의형태로정의됨 사용자는여러개의릴레이션과뷰를사용할수있음 뷰는릴레이션으로부터데이터를검색하거나갱신할수있는동적인창 (dynamic window) 의역할 3

8.1 뷰 ( 계속 ) 4

8.1 뷰 ( 계속 ) 뷰의정의 뷰를정의하는 SQL 문의구문 CREATE VIEW 뷰이름 [( 애트리뷰트 ( 들 ))] AS SELECT 문 [WITH CHECK OPTION]; 뷰의이름다음에애트리뷰트들을생략하면뷰를정의하는데사용된 SELECT 문의 SELECT 절에열거된애트리뷰트들의이름과동일한 애트리뷰트들이뷰에포함됨 뷰를정의하는 SELECT 절에산술식또는집단함수에사용된애트리뷰트가 있는경우, 뷰의정의에조인이포함되어있고두개이상의다른 릴레이션으로부터가져온애트리뷰트들의이름이같아서뷰에서두개 이상의애트리뷰트의이름이같게되는경우에는뷰를정의할때모든 애트리뷰트들의이름을지정해야함 5

8.1 뷰 ( 계속 ) 예 : 한릴레이션위에서뷰를정의그림 4.8의 EMPLOYEE 릴레이션에대해서 3번부서에근무하는사원들의사원번호, 사원이름, 직책으로이루어진뷰 를정의해보자. 아래의뷰의정의에는뷰의애트리뷰트들을별도로명시했기때문에뷰에는 EMPNO, EMPNAME, TITLE의세애트리뷰트가포함됨 CREATE VIEW EMP_DNO3 (ENO, ENAME, TITLE) AS SELECT EMPNO, EMPNAME, TITLE FROM EMPLOYEE WHERE DNO=3; 6

8.1 뷰 ( 계속 ) 7

8.1 뷰 ( 계속 ) 예 : 두릴레이션위에서뷰를정의그림 4.8의 EMPLOYEE 와 DEPARTMENT 릴레이션에대해서 기획부에근무하는사원들의이름, 직책, 급여로이루어진뷰 를정의해보자. 아래의뷰의정의에는뷰의애트리뷰트들을별도로명시하지않았기때문에뷰에속하는애트리뷰트들의이름은기본릴레이션의애트리뷰트들의이름과같다. 즉뷰에는 EMPNAME, TITLE, SALARY의세애트리뷰트가포함된다. CREATE VIEW EMP_PLANNING AS SELECT E.EMPNAME, E.TITLE, E.SALARY FROM EMPLOYEE E, DEPARTMENT D WHERE E.DNO=D.DEPTNO AND D.DEPTNAME = 기획 ; 8

8.1 뷰 ( 계속 ) 뷰를사용하여데이터를접근할때관계 DBMS 에서거치는과정 시스템카탈로그로부터뷰의정의, 즉 SELECT문을검색 기본릴레이션에대한뷰의접근권한을검사 뷰에대한질의를기본릴레이션에대한동등한질의로변환 9

뷰의장점 8.1 뷰 ( 계속 ) 뷰는복잡한질의를간단하게표현할수있게함 기획부에근무하는사원들중에서직책이부장인사원의사원이름과급여를검색하는질의를기본릴레이션을사용하여표현하면아래와같이다소복잡한형태의질의가됨 뷰에대해서같은결과를검색하는질의를표현하면 10

뷰의장점 ( 계속 ) 8.1 뷰 ( 계속 ) 뷰는데이터무결성을보장하는데활용됨 기본적으로뷰를통해투플을추가하거나수정할때투플이뷰를정의하는 SELECT문의 WHERE절의기준에맞지않으면뷰의내용에서사라짐 이뷰의정의할때 WITH CHECK OPTION 을명시했다고가정 11

뷰의장점 ( 계속 ) 8.1 뷰 ( 계속 ) 뷰는데이터독립성을제공함 뷰는데이터베이스의구조가바뀌어도기존의질의 ( 응용프로그램 ) 를다시작성할필요성을줄이는데사용될수있음 예 : 응용의요구사항이변경되어기존의 EMPLOYEE 릴레이션이두개의릴레이션 EMP1(EMPNO, EMPNAME, SALARY) 과 EMP2(EMPNO, TITLE, MANAGER, DNO) 로분해되었다고가정하자. 응용프로그램에서기존의 EMPLOYEE 릴레이션을접근하던 SELECT문은더이상수행되지않으므로, EMP1과 EMP2에대한 SELECT문으로변경해야한다. 아래와같이 EMPLOEE 라는뷰를정의했다면응용프로그램에서 EMPLOYEE 릴레이션을접근하던 SELECT문은계속해서수행될수있음 12

뷰의장점 ( 계속 ) 8.1 뷰 ( 계속 ) 뷰는데이터독립성을제공함 ( 계속 ) 13

뷰의장점 ( 계속 ) 8.1 뷰 ( 계속 ) 뷰는데이터보안기능을제공함 뷰는뷰의원본이되는기본릴레이션에직접접근할수있는권한을부여하지않고뷰를통해데이터를접근하도록하기때문에보안메커니즘으로사용할수있음 뷰는일반적으로기본릴레이션의일부애트리뷰트들또는일부투플들을검색하는 SELECT문으로정의되므로뷰를통해서기본릴레이션을접근하면기본릴레이션의일부만검색할수있음 예 : EMPLOYEE 릴레이션의 SALARY 애트리뷰트는숨기고나머지애트리뷰트들은모든사용자가접근할수있도록하려면 SALARY 애트리뷰트를제외하고 EMPLOYEE 릴레이션의모든애트리뷰트를포함하는뷰를정의하고, 사용자에게뷰에대한 SELECT 권한을허가 14

뷰의장점 ( 계속 ) 8.1 뷰 ( 계속 ) 동일한데이터에대한여러가지뷰를제공함 뷰는사용자들의그룹이각자특정한기준에따라데이터를접근하도록함 15

뷰의갱신 8.1 뷰 ( 계속 ) 뷰에대한갱신도기본릴레이션에대한갱신으로변환됨 아래의갱신들이성공적으로수행될수있는가? 갱신 1: 한릴레이션위에서정의된뷰에대한갱신 16

8.1 뷰 ( 계속 ) 뷰의갱신 ( 계속 ) 갱신 2: 두개의릴레이션위에서정의된뷰에대한갱신 17

뷰의갱신 ( 계속 ) 8.1 뷰 ( 계속 ) 갱신 3: 집단함수등을포함한뷰에대한갱신 18

갱신이불가능한뷰 8.1 뷰 ( 계속 ) 한릴레이션위에서정의되었으나그릴레이션의기본키가포함되지않은뷰 기본릴레이션의애트리뷰트들중에서뷰에포함되지않은애트리뷰트에대해 NOT NULL이지정되어있을때 집단함수가포함된뷰 조인으로정의된뷰 19

8.2 관계 DBMS 의시스템카탈로그 시스템카탈로그 시스템카탈로그는데이터베이스의객체 ( 사용자, 릴레이션, 뷰, 인덱스, 권한등 ) 와구조들에관한모든데이터를포함 시스템카탈로그를메타데이터라고함. 메타데이터는데이터에관한데이터라는의미 시스템카탈로그는사용자및질의최적화모듈등 DBMS 자신의구성요소에의해서사용됨 시스템카탈로그는관계 DBMS 마다표준화되어있지않아서관계 DBMS마다서로다른형태로시스템카탈로그기능을제공함 시스템카탈로그는데이터사전 (data dictionary) 또는시스템테이블이라고도부름 20

8.2 관계 DBMS 의시스템카탈로그 ( 계속 ) 시스템카탈로그가질의처리에어떻게활용되는가 SELECT문이문법적으로정확한가를검사함 SELECT 문에서참조하는 EMPLOYEE 릴레이션이데이터베이스에존재하는가를검사함 EMPLOYEE 릴레이션에 SELECT절에열거된애트리뷰트와 WHERE절에서조건에사용된애트리뷰트가존재하는가를확인함 SALARY 애트리뷰트가수식에사용되었으므로이애트리뷰트의데이터타입이숫자형 ( 정수형이나실수형 ) 인가를검사하고, TITLE이문자열과비교되었으므로이애트리뷰트의데이터타입이문자형 (CHAR(n) 또는 VARCHAR(n) 등 ) 인가등을검사함 21

8.2 관계 DBMS 의시스템카탈로그 ( 계속 ) 시스템카탈로그가질의처리에어떻게활용되는가 ( 계속 ) 이질의를입력한사용자가 EMPLOYEE 릴레이션의 EMPNAME, SALARY 애트리뷰트를검색할수있는권한이있는가를확인함 TITLE 애트리뷰트와 DNO 애트리뷰트에인덱스가정의되어있는지확인함 두애트리뷰트에각각인덱스가존재한다고가정하자. DBMS가두인덱스중에서조건을만족하는투플수가적은것을선택하기위해서는관계데이터베이스시스템에데이터베이스외에추가로정보를유지해야함 한릴레이션의전체투플수와그릴레이션에정의된각인덱스에존재하는상이한값들의개수를유지한다면어느인덱스를사용하는것이유리한가를예상할수있음 22

8.2 관계 DBMS 의시스템카탈로그 ( 계속 ) 시스템카탈로그가질의처리에어떻게활용되는가 ( 계속 ) 그림 4.8에서 EMPLOYEE 릴레이션의전체투플수는 7이고, TITLE 애트리뷰트에는사원, 대리, 과장, 부장, 사장의다섯가지값들이존재함 DNO 애트리뷰트에는 1, 2, 3의세가지값들이존재함 따라서 TITLE 애트리뷰트에정의된인덱스가 DNO에정의된인덱스보다대상투플들을더좁혀주므로유리함 23

8.2 관계 DBMS 의시스템카탈로그 ( 계속 ) 관계 DBMS 의시스템카탈로그 사용자릴레이션과마찬가지형태로저장되기때문에사용자릴레이션에적용되는회복기법과동시성제어기법을동일하게사용할수있음 시스템카탈로그는사용자릴레이션처럼 SELECT문을사용하여내용을검색할수있음 시스템카탈로그에는릴레이션, 애트리뷰트, 인덱스, 사용자, 권한등각유형마다별도의릴레이션이유지됨 EMPLOYEE 릴레이션과 DEPARTMENT 릴레이션에대해서시스템카탈로그에어떤정보들이유지되는가를이해하기쉽도록시스템카탈로그를매우단순화하여설명함 릴레이션에관한정보를유지하는릴레이션의이름이 SYS_RELATION, 애트리뷰트에관한정보를유지하는릴레이션의이름이 SYS_ATTRIBUTE 라고가정 24

8.2 관계 DBMS 의시스템카탈로그 ( 계속 ) 25

8.2 관계 DBMS 의시스템카탈로그 ( 계속 ) 시스템카탈로그의갱신 어떤사용자도시스템카탈로그를직접갱신할수없음 즉 DELETE, UPDATE 또는 INSERT문을사용하여시스템카탈로그를변경할수없음 EMPLOYEE 릴레이션의소유자인 KIM 이 EMPLOYEE 릴레이션에서 MANAGER 애트리뷰트를삭제하기위해서 ALTER TABLE EMPLOYEE DROP COLUMN MANAGER; 라고하는대신에아래와같이시스템카탈로그에대해 DELETE문을사용하면 DBMS가거절함 DELETE FROM SYS_ATTRIBUTE WHERE AttRelId = 'EMPLOYEE' AND AttName = 'MANAGER'; 26