ANSySPARC Architecture Users External External External External Schema View View View Conceptual Conceptual Schema lew Internal Internal Schema Vi lew 6
6 ANSI/SPARC Architecture External View External View External View Conceptual View Internal View External Schema Users Conceptual Schema Internal Schema
Conceptual Schema(概念模式) RELATION EMP RELATION PAY KEY=ENO) KEY=ITITLE ATTRIBUTES=( ATTRIBUTES=[ ENo: CHARACER(9 TITLE CHARACER(10) ENAME: CHARACER(15) SAL: NUMERIC (6) TITLE CHARACER(10) RELATION ASG RELATION PROJECT[ KEY=ENO, PNO] KEY=PNO) ATTRIBUTES=[ ATTRIBUTES=( ENo: CHARACER(9 PNo CHARACER(7) PNo CHARACER(7) PNAME CHARACER(20) RESP: CHARACER(10) BUDGET: NEMERIC(7) DUR NUMERIC(6) 7
7 Conceptual Schema (概念模式) RELATION EMP [ KEY = {ENO} ATTRIBUTES = { ENO : CHARACER(9) ENAME : CHARACER(15) TITLE : CHARACER(10) } ] RELATION PAY [ KEY = {TITLE} ATTRIBUTES = { TITLE : CHARACER(10) SAL : NUMERIC(6) } ] RELATION PROJECT [ KEY = {PNO} ATTRIBUTES = { PNO : CHARACER(7) PNAME : CHARACER(20) BUDGET : NEMERIC(7) } ] RELATION ASG [ KEY = {ENO,PNO} ATTRIBUTES= { ENO : CHARACER(9) PNO : CHARACER(7) RESP : CHARACER(10) DUR : NUMERIC(6) } ]
Internal schema(内部模式) RELATION EMP KEY=ENO] ATTRIBUTES=C ENo CHARACER(9) ENAME CHARACER(15) TITLE CHARACER(10) INTERNAL REL EMPL INDEXON E CALL EMINX FIEDLS=[ HEADER: BYTE( E# BYTE(9) ENAME: BYTE(15) TIT BYTE(10)
8 Internal Schema (内部模式) RELATION EMP [ KEY = {ENO} ATTRIBUTES = { ENO : CHARACER(9) ENAME : CHARACER(15) TITLE : CHARACER(10) } ] INTERNAL_REL EMPL [ INDEX ON E# CALL EMINX FIEDLS = { HEADER : BYTE(1) E# : BYTE(9) ENAME : BYTE(15) TIT : BYTE(10) } ]
External view(外部模式)- Example1 Create a budGET view from the Proj relation CREAT VIEW BUDGET (PNAME, BUD) AS SELECT PNAME BUDGET FROM PROJ
9 External View(外部模式 ) – Example 1 CREAT VIEW BUDGET(PNAME, BUD) AS SELECT PNAME, BUDGET FROM PROJ Create a BUDGET view from the PROJ relation
External view(外部模式)- Example2 Create a Payroll view from relations EMP and PAy CREAT VIEW PAYROLL(ENO, ENAME, SAL) AS SELECT EMP. ENO. EMP ENAME PAY, SAL FROM EMP PAY WHERE EMP TITLE= PAY, TITLE
10 External View(外部模式 ) – Example 2 CREAT VIEW PAYROLL(ENO, ENAME, SAL) AS SELECT EMP.ENO, EMP.ENAME, PAY.SAL FROM EMP, PAY WHERE EMP.TITLE = PAY.TITLE Create a Payroll view from relations EMP and PAY