(10) ¼ìË÷²»Ñ¡ÐÞÈκογ̵ÄѧÉúµÄѧºÅ¡£
¦Ð
SNO (S) -
¦Ð
SNO (SC)
д³öALPHA ÃüÁ
(1) ¼ìË÷ѧÉúµÄËùÓÐÇé¿ö¡£S SSCC
GET W(S)
GET W(S,SC,C): S.SNO=SC.SNO ¡Ä SC.CNO =C.CNO
(2) ¼ìË÷ѧÉúÄêÁä´óÓÚµÈÓÚ20ËêµÄѧÉúÐÕÃû¡£¦ÐSN(¦ÒAGE>=20(S))
GET W(S.SN): (S.AGE>=20)
(3) ¼ìË÷ÏÈÐ޿κÅΪC2µÄ¿Î³ÌºÅ¡£¦ÐCNO(¦ÒCPNO=?C2?(C))
GET W(C.CNO): (C.CPNO=¡¯C2¡¯)
(4) ¼ìË÷Ñ¡ÐÞÁ˿γ̺ÅC1³É¼¨ÎªAµÄËùÓÐѧÉúÐÕÃû¡£ ¦ÐSN(¦ÒCNO=?C1?¡ÄSCORE=?A?(SCC))
RANGE SC SCX
GET W(S.SN): ?SCX (SCX.SNO=S.SNO ¡Ä SCX.CNO=¡¯C1¡¯ ¡Ä SCX.SCORE=¡¯A¡¯)
(5) ¼ìË÷ѧºÅΪS1µÄѧÉúÐÞ¶ÁµÄËùÓпγÌÃû¼°ÏÈÐ޿κš£ ¦ÐCN,CPNO (¦ÒSNO=?S1?(SCS))
RANGE SC SCX
GET W(C.CN,C.CPNO): ?SCX (SCX.CNO=C.CNO ¡Ä SCX.SNO=¡¯S1¡¯)
(6) ¼ìË÷ÄêÁäΪ23ËêµÄѧÉúËùÐÞ¶ÁµÄ¿Î³ÌÃû¡£
¦ÐCN (¦ÒAGE=23(SSCC))
RANGE S SX SC SCX
GET W(C.CN): ?SX?SCX (SX.SNO=SCX.SNO ¡Ä SCX.CNO=C.CNO¡Ä
25
Êý¾Ý¿âÔÀí¼°Ó¦Óà SX.AGE=23)
(7) ¼ìË÷ÖÁÉÙÐÞ¶ÁÁËѧºÅΪS5µÄѧÉúÐÞ¶ÁµÄÒ»ÃſεÄѧÉúµÄÐÕÃû¡£
¦ÐSN (SSC¦ÐCNO (¦ÒSNO=?S5?(SC)))
RANGE SC SCX SC SCY
GET W(S.SN): ?SCX?SCY (SCX.SNO=¡¯S5¡¯ ¡Ä SCY.SNO=S.SNO¡Ä SCY.CNO=SCX.CNO)
»ò
RANGE C CX SC SCX SC SCY GET
W(S.SNO):
?CX(
?SCX (SCX.SNO=¡¯S5¡¯ ¡Ä
CX.CNO=SCX.CNO)->?SCY (SCY.SNO=S.SNO ¡Ä CX.CNO=SCY.CNO))
(8) ¼ìË÷ÐÞ¶ÁÁËѧºÅΪS4µÄѧÉúËùÐÞ¶ÁµÄËùÓпγ̵ÄѧÉúµÄÐÕÃû¡£ ¦ÐSN (S(¦ÐSNO,CNO (SC)¡Â¦ÐCNO (¦ÒSNO=?S4?(SC))))
RANGE C CX SC SCX SC SCY GET
W(S.SNO):
?CX(
?SCX (SCX.SNO=¡¯S4¡¯ ¡Ä
CX.CNO=SCX.CNO)->?SCY (SCY.SNO=S.SNO ¡Ä CX.CNO=SCY.CNO))
Ò²¿ÉÒԱ任£¨ A -> B ¡Ô ¦è A ¡Å B ?X(A) ¡Ô ¦è ?X(¦è A )£©
26
ÕæÖµ±í A B A -> B ¡Ô ¦è A ¡Å B
T T T T T F F F F T T T F F T T
RANGE C CX SC SCX SC SCY GET
W(S.SNO):
?CX(
?SCX (SCX.SNO=¡¯S4¡¯ ¡Ä
CX.CNO=SCX.CNO)->?SCY (SCY.SNO=S.SNO ¡Ä CX.CNO=SCY.CNO)) GET W(S.SNO):?CX(¦è(?SCX (SCX.SNO=¡¯S4¡¯ ¡Ä CX.CNO=SCX.CNO))¡Å£¨?SCY (SCY.SNO=S.SNO ¡Ä CX.CNO=SCY.CNO)))
GET W(S.SNO):¦è?CX(¦è(¦è(?SCX (SCX.SNO=¡¯S4¡¯ ¡Ä CX.CNO=SCX.CNO))
¡Å
£¨
?SCY (SCY.SNO=S.SNO ¡Ä
CX.CNO=SCY.CNO))))
GET W(S.SNO):¦è?CX(((?SCX (SCX.SNO=¡¯S4¡¯ ¡Ä CX.CNO=SCX.CNO))¡Ä
¦è£¨?SCY (SCY.SNO=S.SNO ¡Ä CX.CNO=SCY.CNO))))
(9) ¼ìË÷Ñ¡ÐÞËùÓпγ̵ÄѧÉúµÄѧºÅ¡£¦ÐSNO,CNO (SC)¡Â¦ÐCNO (C)
RANGE C CX SC SCX
27
Êý¾Ý¿âÔÀí¼°Ó¦Óà GET W(S.SNO):?CX?SCX (SCX.CNO=CX.CNO ¡Ä S.SNO=SCX.SNO)
È«³Æ¸Ä´æÔÚΪ£º
RANGE C CX SC SCX
GET W(S.SNO):¦è?CX£¨¦è?SCX (SCX.CNO=CX.CNO ¡Ä S.SNO=SCX.SNO))
(10) ¼ìË÷²»Ñ¡ÐÞÈκογ̵ÄѧÉúµÄѧºÅ¡£¦ÐSNO (S) -¦ÐSNO (SC)
RANGE SC SCX
GET W(S.SNO):?SCX(¦è£¨SCX.SNO=SNO£©) ¼´£º
RANGE SC SCX
GET W(S.SNO):?SCX(SCX.SNO¡ÙSNO) »ò
È«³Æ¸Ä´æÔÚΪ£º
GET W(S.SNO):¦è?SCX(¦è(¦è£¨SCX.SNO=SNO£©) )
¼´£º
GET W(S.SNO):¦è?SCX(SCX.SNO=SNO£©) »ò
£¨ÄãÃǵÄ×ö·¨£© RANGE SC SCX
C CX
GET W(S.SNO):?CX¦è(?SCX£¨SCX.SNO=SNO¡ÄCX.CNO=SCX.CNO£©)
28