.
¸ù¾ÝÎÊÌâÃèÊö£¬²¹³äͼ2-1µÄʵÌåÁªÏµÍ¼¡£ ¡¾ÎÊÌâ2¡¿£¨6·Ö£©
²¹³äÂß¼½á¹¹Éè¼Æ½á¹ûÖеģ¨a£©¡¢£¨b£©¡¢£¨c£©Èý´¦¿Õȱ¡£ ¡¾ÎÊÌâ3¡¿£¨6·Ö£©
Ϊ·½±ã¹Ë¿Í£¬ÔÊÐí¹Ë¿ÍÔÚϵͳÖб£´æ¶à×éÊÕ»õµØÖ·¡£Çë¸ù¾Ý´ËÐèÇó£¬Ôö¼Ó¡°¹Ë¿ÍµØÖ·¡±ÈõʵÌ壬¶Ôͼ2-1½øÐв¹³ä£¬²¢Ð޸ġ°ÔËËÍ¡±¹ØÏµÄ£Ê½¡£
ÊÔÌâÈý £¨¹²15·Ö£©
ÔĶÁÏÂÁÐ˵Ã÷ºÍͼ£¬»Ø´ðÎÊÌâ1ÖÁÎÊÌâ3£¬½«½â´ðÌîÈë´ðÌâÖ½µÄ¶ÔÓ¦À¸ÄÚ¡£ ¡¾ËµÃ÷¡¿
ijҽԺΪÁ˸üºÃµÄΪ»¼Õß·þÎñ¡¢Ìá¸ßÒ½Ôº¹ÜÀíˮƽ£¬Ä⿪·¢Âú×ã×ÔÉíÌØµãµÄÐÅϢϵͳ¡£Æä²¿·ÖÐèÇó¼°Éè¼ÆÈçÏ£º ¡¾ÐèÇóÃèÊö¡¿
£¨1£©»¼Õßµ½Ò½Ôº¾ÍÕÐèÌṩ±¾ÈËÒ½±£¿¨»òÉí·ÝÖ¤£¬ÏµÍ³¸ù¾ÝÒ½±£¿¨»òÉí·ÝÖ¤´ÓÍⲿҽ±£ÐÅÏ¢¿â»ñÈ¡»¼ÕߵįäËûÏêϸÐÅÏ¢£¬°üÀ¨Ò½±£¿¨ºÅ¡¢Éí·ÝÖ¤ºÅ¡¢ÐÕÃû¡¢ÐÔ±ð¡¢Ãñ×å¡¢³öÉúÈÕÆÚµÈÐÅÏ¢¡£
£¨2£©Ò½ÉúÐÅÏ¢°üÀ¨Ò½Éú±àºÅ¡¢ÐÕÃû¡¢ÐԱ𡢳öÉúÈÕÆÚ¡¢Ö°³ÆµÈÐÅÏ¢¡£
£¨3£©Í¨¹ý»¼Õß×ÔÊö¡¢»¯Ñé½á¹û·ÖÎöµÈÐÅÏ¢£¬Ò½Éú¶Ô»¼ÕߵIJ¡Çé½øÐÐÕï¶Ï£¬¿ª¾ß´¦·½£¬²¢Ìîд²¡Àú¡£²¡Àúͬʱ°üº¬Õï¶ÏºÍ´¦·½ÐÅÏ¢£¬°üÀ¨±àºÅ¡¢»¼ÕßÐÕÃû¡¢²¡ÇéÃèÊö¡¢Õï¶Ï½áÂÛ¡¢Ö÷ÖÎÒ½Éú¡¢Ò©Æ·Ãû³Æ¡¢Ò©Æ·ÊýÁ¿¡¢·þÓüÁÁ¿µÈ£¬´¦·½ÖÐÒ»°ã»áÓжàÖÖÒ©Æ·¡£
£¨4£©²¡ÈËÆ¾Ò½Éú¿ª¾ßµÄ´¦·½¿ÉÔÚÒ½Ôº¹ºÂòÒ©Æ·¡£Ò½Ôº¼Ç¼ҩƷµÄÌõÂë¡¢Ãû³Æ¡¢¼Û¸ñ¡¢Éú²ú³§É̵ÈÐÅÏ¢¡£ ¡¾Âß¼½á¹¹Éè¼Æ¡¿
¸ù¾ÝÉÏÊöÐèÇó£¬Éè¼Æ³öÈçϹØÏµÄ£Ê½£º Ò½Éú£¨±àºÅ£¬ÐÕÃû£¬ÐԱ𣬳öÉúÈÕÆÚ£¬Ö°³Æ£©
¿É±à¼
.
»¼Õߣ¨Éí·ÝÖ¤ºÅ£¬Ò½±£¿¨ºÅ£¬ÐÕÃû£¬Ãñ×壬³öÉúÈÕÆÚ£© Ò©Æ·£¨ÌõÂ룬Ãû³Æ£¬¼Û¸ñ£¬Éú²ú³§ÉÌ£©
²¡Àý£¨±àºÅ£¬Ò©Æ·ÌõÂ룬»¼ÕßÉí·ÝÖ¤ºÅ£¬Ö÷ÖÎÒ½Éú±àºÅ£¬²¡ÇéÃèÊö£¬Õï¶Ï½áÂÛ£¬Õï¶ÏÈÕÆÚ£¬·þÓüÁÁ¿£¬Ò©Æ·ÊýÁ¿£¬¹ºÂòÈÕÆÚ£©
¡¾ÎÊÌâ1¡¿£¨5·Ö£©
¶Ô¹ØÏµ¡°»¼Õß¡±£¬Çë»Ø´ðÒÔÏÂÎÊÌ⣺ £¨1£©¸ø³öº¯ÊýÒÀÀµ¼¯¡£ £¨2£©¸ø³öËùÓкòÑ¡Âë¡£
£¨3£©Åж¨ÊôÓÚµÚ¼¸·¶Ê½£¬²¢ËµÃ÷ÀíÓÉ¡£ ¡¾ÎÊÌâ2¡¿£¨7·Ö£©
¶Ô¹ØÏµ¡°²¡Àý¡±£¬´æÔÚÈçϵÄÊý¾ÝÒÀÀµ£º
F={±àºÅ¡ú£¨»¼ÕßÉí·ÝÖ¤ºÅ£¬Ö÷ÖÎÒ½Éú±àºÅ£¬²¡ÇéÃèÊö£¬Õï¶Ï½áÂÛ£¬Õï¶ÏÈÕÆÚ£©£¬£¨±àºÅ£¬Ò©Æ·ÌõÂ룩¡ú£¨·þÓüÁÁ¿£¬Ò©Æ·ÊýÁ¿£¬¹ºÂòÈÕÆÚ£©}
Çë»Ø´ðÒÔÏÂÎÊÌ⣺
£¨1£©¸Ã¹ØÏµÄ£Ê½´æÔÚÄÄЩÎÊÌ⣿
£¨2£©¸Ã¹ØÏµÄ£Ê½ÊÇ·ñÊôÓÚ4NF£¿Çë¸ø³öÀí
£¨3£©Èç¹û¡°²¡Àý¡±²»ÊÇ4NF£¬Çë·Ö½â£¬²¢Ö¸³ö·Ö½âºóµÄ¹ØÏµÄ£Ê½ËùÊô·¶Ê½¡£·Ö½âºóµÄ¹ØÏµÃûÒÀ´ÎΪ£º²¡Àý1£¬²¡Àý2£¬¡¡¡£ ¡¾ÎÊÌâ3¡¿3·Ö
Õë¶Ô¡¾ÎÊÌâ2¡¿µÄ¹æ·¶»¯ÒªÇó£¬Èç¹ûÉè¼ÆÕß·Ö½â³ö¶à¸ö¹ØÏµÄ£Ê½ÖÐµÄÆäÖÐÖ®Ò»ÈçÏ£º ¹ºÒ©£¨²¡Àý±àºÅ£¬Ò©Æ·ÌõÂ룬·þÓüÁÁ¿£¬Ò©Æ·ÊýÁ¿£¬¹ºÂòÈÕÆÚ£©
Èç¹ûÒ½ÔºÒªÇóͳ¼ÆÃ¿ÃûÒ½Éú£¨±àºÅºÍÐÕÃû£©Ã¿Ìì½ÓÕïµÄ»¼ÕßËù¹ºÂòµÄ¸÷¸öÒ©Æ·µÄÌõÂëºÍÊýÁ¿¡£»ùÓÚÉÏÊöÉè¼Æ£¬ÊµÏÖ¸Ãͳ¼Æ¹²ÐèÄö¹ØÏµ£¿ÎªÌá¸ß¸Ãͳ¼ÆÐ§ÂÊ£¬ÔÊÐí¶Ô·¶Ê½Ìõ¼þ·Å¿íÒªÇó£¬ÇëÐ޸ġ°¹ºÒ©¡±¹ØÏµÄ£Ê½ÒÔÓÅ»¯¸Ãͳ
¿É±à¼
.
¼Æ¡£
ÊÔÌâËÄ £¨¹²15·Ö£©
ÔĶÁÏÂÁÐ˵Ã÷ºÍͼ£¬»Ø´ðÎÊÌâ1ÖÁÎÊÌâ4£¬½«½â´ðÌîÈë´ðÌâÖ½µÄ¶ÔÓ¦À¸ÄÚ¡£ ¡¾ËµÃ÷¡¿
ijÆû³µ×âÁÞ¹«Ë¾½¨Á¢Æû³µ×âÁÞ¹ÜÀíϵͳ£¬ÆäÊý¾Ý¿âµÄ²¿·Ö¹ØÏµÄ£Ê½ÈçÏ£º
Óû§£ºUSERS£¨UserID£¬Name£¬Balance£©£¬¸÷ÊôÐÔ·Ö±ð±íʾÓû§±àºÅ¡¢ÐÕÃû¡¢Óà¶î£»
Æû³µ£ºCARS£¨CID£¬Ctype£¬Cprice£¬CStatus£©£¬¸÷ÊôÐÔ·Ö±ð±íʾÆû³µ±àºÅ¡¢Ðͺš¢¼Û¸ñ£¨ÈÕ×â½ð£©¡¢×´Ì¬£» ×âÓüǼ£ºBORROWS£¨BRID£¬UserID£¬CID£¬STime£¬ETime£©£¬¸÷ÊôÐÔ·Ö±ð±íʾ×âÓñàºÅ¡¢Óû§±àºÅ¡¢×âÓñàºÅ¡¢²»Á¼¼Ç¼ʱ¼ä¡£
Ïà¹Ø¹ØÏµÄ£Ê½µÄÊôÐÔ¼°ËµÃ÷ÈçÏ£º
£¨1£©Óû§×âÓÃÆû³µÊ±£¬ÆäÓû§±íÖеÄÓà¶î²»ÄÜСÓÚ500£¬·ñÔò²»ÄÜ×âÓᣠ£¨2£©Æû³µ×´Ì¬Îª´ý×âºÍÒÑ×⣬´ý×âÆû³µ¿ÉÒÔ±»Óû§×âÓã¬ÒÑ×âÆû³µ²»ÄÜ×âÓá£
£¨3£©Óû§Ã¿×âÓÃÒ»´ÎÆû³µ£¬Ïò×âÓüǼÖÐÌí¼ÓÒ»Ìõ×âÓüǼ£¬×âÓÃʱ¼äĬÈÏΪϵͳµ±Ç°Ê±¼ä£¬¹é»¹Ê±¼äΪ¿ÕÖµ£¬²¢½«Ëù×âÆû³µ×´Ì¬±äΪÒÑ×â¡£Óû§»¹³µÊ±£¬Ð޸Ĺ黹ʱ¼äΪϵͳµ±Ç°Ê±¼ä£¬²¢½«Æû³µ×´Ì¬¸ÄΪ´ý×â¡£ÒªÇóÓû§²»ÄÜͬʱ×âÓÃÁ½Á¾¼°ÒÔÉÏÆû³µ¡£
£¨4£©×â½ð´Ó×âÓÃʱ¼äÆð°´ÈÕ×Ô¶¯¿Û³ý¡£
¸ù¾ÝÒÔÉÏÃèÊö£¬»Ø´ðÏÂÁÐÎÊÌ⣬½«SQLÓï¾äµÄ¿Õȱ²¿·Ö²¹³äÍêÕû¡£
¡¾ÎÊÌâ1¡¿£¨4·Ö£©
Ç뽫ÏÂÃæ½¨Á¢×âÓüǼ±íµÄSQLÓï¾ä²¹³äÍêÕû£¬ÒªÇó¶¨ÒåÖ÷ÂëÍêÕûÐÔÔ¼ÊøºÍÒýÓÃÍêÕûÐÔÔ¼Êø¡£ CREATE TABLE BORROWS£¨
BRID CHAR£¨20£© £¨a£© £¬
¿É±à¼
.
UserID CHAR£¨10£© £¨b£© £¬ CID CHAR£¨10£© £¨c£© £¬ STime DATETIME £¨d£© £¬ ETime DATETIME£¬ £©£»
¡¾ÎÊÌâ2¡¿£¨4·Ö£©
µ±¹é»¹Ê±¼äΪ¿Õֵʱ£¬±íʾÓû§»¹Î´»¹³µ£¬ÏµÍ³Ã¿Ììµ÷ÓÃÊÂÎñ³ÌÐò´ÓÓû§Óà¶îÖÐ×Ô¶¯¿Û³ýµ±ÈÕ×â½ð£¬Ã¿¸öÊÂÎñÐÞ¸ÄÒ»ÌõÓû§¼Ç¼ÖеÄÓà¶îÖµ¡£ÓÉÓû§±íÉϵĴ¥·¢Æ÷ʵÏÖÒµÎñ£ºÈçÓû§µ±ÈÕÓà¶î²»×㣬²»¿Û³ýµ±ÈÕ×â½ð£¬×Ô¶¯Ïò²»Á¼¼Ç¼±íÖмÓÈëÒ»Ìõ¼Ç¼£¬¼Ç¼ÖеÄBIDȡֵÓÉUserID+ϵͳµ±Ç°ÈÕÆÚ¹¹³É£¬BTime²ÉÓÃGETDATE£¨£©º¯Êýȡϵͳµ±Ç°Ê±¼ä¡£²¹È«´´½¨´¥·¢Æ÷Bad_TRGµÄSQLÓï¾ä¡£
CREATE TRIGGER Bad_TRG £¨e£© UPDATE OF Balance ON USERS Referencing new row as nrow For each row
When nrow.Balance<0 BEGIN
£¨f£© £» //²åÈë²»Á¼¼Ç¼ INSERT INTO BADS
SELECT CONCAT£¨BORROWS.UserID,CONVERT£¨varchar(100)£¬GETDATE£¨£©£¬10£©£©£¬BORROWS£¬UserID£¬BRID£¬
£¨g£© £»
//CONVERT£¨£©º¯Êý½«ÈÕÆÚÐÍÊý¾Ý¸ÄΪ×Ö·û´®ÐÍ //CONCAT£¨£©º¯ÊýʵÏÖ×Ö·û´®Æ´½Ó
¿É±à¼
.
FROM BORROWS
WHERE £¨h£© AND ETime IS NULL£» END ¡¾ÎÊÌâ3¡¿£¨4·Ö£©
²»Á¼¼Ç¼Êǰ´ÈռǼµÄ£¬Òò´ËÓû§Ò»´Î×â³µ¿ÉÄÜ»á²úÉú¶àÌõ²»Á¼¼Ç¼¡£´´½¨²»Á¼¼Ç¼µ¥ÊÓͼBADS_Detail£¬Í³¼ÆÃ¿´Î×â³µ²úÉúµÄ²»Á¼¼Ç¼×â½ð·ÑÓÃ×ܺʹóÓÚ200µÄ¼Ç¼£¬ÊôÐÔÓÐUserID¡¢Name¡¢BRID¡¢CID¡¢STime¡¢ETimeºÍtotal£¨±íʾδ½ÉÄÉ×â½ð×ܺͣ©¡£²¹È«½¨ÊÓͼBADS_DetailµÄSQLÓï¾ä¡£
CREATE VIEW £¨i£© AS
SELECT BADS.UserID£¬USERS.Name£¬BADS.BRID£¬CARS.CID£¬STime£¬ETime£¬ £¨j£© AS total FROM BORROWS BADS.CARS£¬USERS
WHERE BORROWS.BRID=BADS.BRID AND BORROWS.CID=CARS.CID AND £¨k£© =BADS.UserID
GROUP BY BADS.UserID,USERS.Name£¬BADS.BRID£¬CARS.CID£¬STime£¬ETime HAVING £¨l£© £» ¡¾ÎÊÌâ4¡¿£¨3·Ö£©
²éѯ×âÓÃÁËÐͺÅΪ¡°A8¡±ÇÒ²»Á¼¼Ç¼´ÎÊý´óÓÚµÈÓÚ2µÄÓû§£¬Êä³öÓû§±àºÅ¡¢ÐÕÃû£¬²¢°´Óû§ÐÕÃû½µÐòÊä³ö¡£ SELECT USERS£¬UserID£¬Name FROM USERS£¬BORROWS£¬CARS
WHERE USERS.UserID=BORROWS.UserID AND BORROWS.CID=CARS.CID AND £¨m£© AND EXISTS£¨
SELECT * FROM BADS
WHERE BADS.UserID=BORROWS.UserID AND £¨n£© GROUP BY UserID
¿É±à¼