Êý¾Ý¿âϵͳ¸ÅÂÛÊÔÌâ¼°´ð°¸ ÏÂÔØ±¾ÎÄ

¹©Ó¦Çé¿ö±íSPJÓɹ©Ó¦É̺š¢Áã¼þºÅ¡¢ÏîÄ¿ºÅ¡¢¹©Ó¦ÊýÁ¿×é³É£» £¨1£©ÓùØÏµ´úÊý²éѯûÓÐʹÓÃÌì½ò¹©Ó¦ÉÌÉú²úµÄºìÉ«Áã¼þµÄ¹¤³ÌºÅ£»£¨3·Ö£© £¨1£©²Î¿¼´ð°¸£º

¦ÐJNO(J)- ¦ÐJNO (

ÆÀ·Ö±ê×¼£º

CITY='Ìì½ò' (S)SPJCOLOR='ºì' (P))

Á½¸ö¹ØÏµµÄ²î1·Ö£»Èý¸ö±íµÄ×ÔÈ»Á¬½ÓSSPJP1·Ö£¬ÉÙÈÎÒâÒ»¸ö¹ØÏµ²»¸ø·Ö£»CITY='Ìì½ò'ºÍ

COLOR='ºì'Á½¸öÌõ¼þ1·Ö£¬ÈÎÒâÒ»¸ö´íÎ󲻸ø·Ö¡£

£¨2£© ÓùØÏµ´úÊý²éѯÖÁÉÙʹÓÃÁ˹©Ó¦ÉÌS1Ëù¹©Ó¦µÄÈ«²¿Áã¼þµÄ¹¤³ÌºÅJNO£» £¨3·Ö£© £¨2£©²Î¿¼´ð°¸£º

¦ÐPNO,JNO(SPJ)¡Â¦ÐPNO (

ÆÀ·Ö±ê×¼£º

SNO='S1' (SPJ))

Á½¸ö¹ØÏµµÄ³ý1·Ö£»¦ÐPNO,JNOºÍ¦ÐPNO1·Ö£¬ÈÎÒâÒ»¸ö´íÎ󲻸ø·Ö£»·Ö¡£

£¨3£©ÓÃSQL²éѯ¹©Ó¦¹¤³ÌJ1Áã¼þΪºìÉ«µÄ¹¤³ÌºÅJNO£»£¨2·Ö£© £¨3£©

²Î¿¼´ð°¸1£º

SELECT DISTINCT JNO

FROM SPJ,P WHERE = AND

COLOR='ºì'AND JNO='J1'; ÆÀ·Ö±ê×¼£º

SNO='S1'1

SELECT DISTINCT JNO FROM SPJ,P 1·Ö£¬ÉÙDISTINCT¿Û·Ö£¬SPJ£¬PÖÐÉÙÈÎÒ»±í²»¸ø·Ö£»WHERE = AND COLOR='ºì'AND JNO='J1'1·Ö£¬3¸öÌõ¼þÿ´íÒ»¸ö¿Û£¬¿ÛÍê1·ÖΪֹ¡£

²Î¿¼´ð°¸2£º

SELECT DISTINCT SNO

FROM SPJ

WHERE JNO='J1' AND

PNO IN

(SELECT PNO FROM P

WHERE COLOR='ºì');

ÆÀ·Ö±ê×¼£º

SELECT DISTINCT JNO FROM SPJ 1·Ö£¬ÉÙDISTINCT¿Û·Ö£»WHERE JNO='J1' AND

PNO IN

(SELECT PNO FROM P WHERE COLOR='ºì')1·Ö£¬ÎÞJNO='J1'¡¢PNO IN¡¢SELECT PNO

FROM P WHERE COLOR='ºì'¾ù¿Û·Ö£¬¿ÛÍê1·ÖΪֹ¡£

£¨4£©ÓÃSQL²éѯûÓÐʹÓÃÌì½ò¹©Ó¦ÉÌÉú²úµÄÁã¼þµÄ¹¤³ÌºÅ£»£¨3·Ö£©

²Î¿¼´ð°¸1£º

SELECT JNO

FROM J

WHERE JNO NOT IN (SELECT JNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S

WHERE CITY='Ìì½ò')); ÆÀ·Ö±ê×¼£º

SELECT JNO

FROM J

WHERE JNO NOT IN ºÍ

SELECT JNO FROM SPJ

WHERE SNO IN

ºÍ

SELECT SNO FROM S

WHERE CITY='Ìì½ò'

Èý²ãǶÌ׸÷1·Ö£¬¸÷ǶÌ×ÄÚÓдíÎóÔò¸ÃÏî¾ù²»¸ø·Ö¡£

²Î¿¼´ð°¸2£º

SELECT JNO FROM J

WHERE NOT EXISTS (SELECT * FROM SPJ,S WHERE = AND

= AND

CITY='Ìì½ò');

ÆÀ·Ö±ê×¼£º

SELECT JNO FROM J

WHERE NOT EXISTS 1·Ö£» SELECT *

FROM SPJ,S 1·Ö£¬SPJ,SÉÙÒ»¸ö±í²»¸ø·Ö£» WHERE = AND

= AND

CITY='Ìì½ò'1·Ö£¬Èý¸öÌõ¼þÉÙÒ»¸ö¿Û£¬¿ÛÍê1·ÖΪֹ¡£

²Î¿¼´ð°¸3£º

SELECT JNO

FROM J

WHERE NOT EXISTS (SELECT * FROM SPJ

WHERE = AND EXISTS (SELECT * FROM S

WHERE = AND

CITY='Ìì½ò')); ÆÀ·Ö±ê×¼£º

SELECT JNO

FROM J

WHERE NOT EXISTS ºÍ

SELECT * FROM SPJ

WHERE = AND EXISTS

ºÍ

(SELECT * FROM S

WHERE = AND

CITY='Ìì½ò'))

Èý²ãǶÌ׸÷1·Ö£¬¸÷ǶÌ×ÄÚÓдíÎóÔò¸ÃÏî¾ù²»¸ø·Ö¡£

£¨5£©ÓÃSQLÓï¾ä½«È«²¿ºìÉ«Áã¼þ¸ÄΪÀ¶É«£»£¨2·Ö£©

UPDATE P SET COLOR='À¶' WHERE COLOR='ºì';

ÆÀ·Ö±ê×¼£º

UPDATE P ·Ö£»SET COLOR='À¶'1·Ö£»WHERE COLOR='ºì'·Ö¡£

£¨6£©ÓÃSQLÓï¾ä½«£¨S2£¬P4£¬J6£¬400£©²åÈ빩ӦÇé¿ö¹ØÏµ¡££¨2·Ö£© £¨6£©²Î¿¼´ð°¸£º

INSERT INTO SPJ VALUES('S2','P4','J6',400); ÆÀ·Ö±ê×¼£º

INSERT INTO SPJ1·Ö£»VALUES('S2','P4','J6',400)1·Ö¡£

2£® ÉèÓйØÏµSTUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE)£¬£¨S#,CNAME£©Îª

ºòÑ¡Â룬Éè¹ØÏµÖÐÓÐÈçϺ¯ÊýÒÀÀµ£º £¨S#,CNAME£©¡úSNAME,SDEPT,MNAME

S#¡úSNAME,SDEPT,MNAME £¨S#,CNAME£©¡úGRADE SDEPT¡úMNAME ÊÔÇóÏÂÁÐÎÊÌ⣺

£¨1£©¹ØÏµSTUDENTÊôÓÚµÚ¼¸·¶Ê½£¿²¢ËµÃ÷ÀíÓÉ¡££¨3·Ö£©

£¨2£©Èç¹û¹ØÏµSTUDENT²»ÊôÓÚBCNF£¬Ç뽫¹ØÏµSTUDENTÖð²½·Ö½âΪÇÉ

BCNF¡££¨7·Ö£©

ÒªÇó£ºÐ´³ö´ïµ½Ã¿Ò»¼¶·¶Ê½µÄ·Ö½â¹ý³Ì£¬²¢Ö¸Ã÷Ïû³ýʲôÀàÐ͵ĺ¯ÊýÒÀÀµ¡£

2¡¢²Î¿¼´ð°¸£º

£¨1£© ¹ØÏµSTUDENTÊÇ1NF£¬ÒòΪFÖдæÔÚ·ÇÖ÷ÊôÐÔSNAME£¬SDEPT£¬MNAME

¶ÔºîÑ¡Â루S#,CNAME£©µÄ²¿·Öº¯ÊýÒÀÀµ¡£ £¨2£©

¢Ù Ê×ÏÈÏû³ý²¿·Öº¯ÊýÒÀÀµ£¨S#,CNAME£©¡úSNAME,SDEPT,MNAME½«¹ØÏµ·Ö½â

Ϊ£º

R1(S#,SNAME,SDEPT,MNAME)£¬S#ΪºòÑ¡Â룬 R1µÄº¯ÊýÒÀÀµ¼¯Îª£º

F1 = { S#¡úSNAME,SDEPT,MNAME£¬SDEPT¡úMNAME} R2(S#,CNAME,GRADE)£¬S#ΪºòÑ¡Â룬 R2µÄº¯ÊýÒÀÀµ¼¯Îª£º

F2={£¨S#,CNAME£©¡úGRADE}

¢Ú ÔÚ¹ØÏµR1ÖдæÔÚ·ÇÖ÷ÊôÐÔMNAME¶ÔºòÑ¡ÂëS#µÄ´«µÝº¯ÊýÒÀÀµS#¡ú

MNAME£¬ËùÒÔ½«R1½øÒ»²½·Ö½â£º

R11(S#,SNAME,SDEPT) £¬S#ΪºòÑ¡Â룬 R11µÄº¯ÊýÒÀÀµ¼¯Îª£º

F11 = { S#¡úSNAME,SDEPT}

R12(SDEPT,MNAME) £¬SDEPTΪºòÑ¡Â룬 R12µÄº¯ÊýÒÀÀµ¼¯Îª£º F12 = { SDEPT¡úMNAME}

ÔÚR2¡¢R11¡¢R12¹ØÏµÄ£Ê½Öк¯ÊýÒÀÀµ¶¼ÊÇ·ÇÆ½·²µÄ£¬²¢ÇÒ¾ö¶¨ÒòËØ¾ùÊǺòÑ¡Â룬ËùÒÔÉÏÊöÈý¸ö¹ØÏµÄ£Ê½¾ùÊÇBCNF¡£ ÆÀ·Ö±ê×¼£º

£¨1£©ÕýÈ·Ö¸Ã÷R¡Ê1NF£¨1·Ö£©£»Õýȷ˵Ã÷R¡Ê1NFµÄÀíÓÉ£¨2·Ö£©¡£ £¨2£©Ê×ÏÈÕýÈ·½«R·Ö½âΪR1(S#,SNAME,SDEPT,MNAME)£¨2·Ö£©ºÍR2(S#,CNAME,GRADE)£¨1·Ö£©£¬ÔÙ½«R1ÕýÈ··Ö½âΪR11(S#,SNAME,SDEPT)£¨2·Ö£©ºÍR12(SDEPT,MNAME)£¨2·Ö£©£¬·Ö½â¹ý³ÌµÄÐðÊöÕåÇé¿Û·Ö¡£