¹©Ó¦Çé¿ö±í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·Ö£©£¬·Ö½â¹ý³ÌµÄÐðÊöÕåÇé¿Û·Ö¡£