Êý¾Ý¿âÔ­Àí¼°Ó¦Ó㨵Ú3°æ£© - È«²¿Ï°Ìânew ÏÂÔØ±¾ÎÄ

(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