¹óÖÝ´óѧ¼ÆËã»úÑо¿Éú¸´ÊÔÊý¾Ý¿âϵ֪ʶµãÕûÀí¹éÄÉ

°ÑÖ¸¶¨¶ÔÏóµÄÖ¸¶¨²Ù×÷ȨÏÞ´ÓÖ¸¶¨Óû§´¦Êջء£ Àý£º°ÑÓû§U4ÐÞ¸ÄѧÉúѧºÅµÄȨÏÞÊÕ»Ø REVOKE UPDATE(Sno) ON TABLE Student FROM U4;

Àý£ºÊÕ»ØËùÓÐÓû§¶Ô±íSCµÄ²éѯȨÏÞ REVOKE SELECT ON TABLE SC FROM PUBLIC;

Àý£º°ÑÓû§U5¶ÔSC±íµÄINSERTȨÏÞÊÕ»Ø REVOKE INSERT ON TABLE SC FROM U5 CASCADE ;£¨È±Ê¡ÊÇRESTRICT£©

½«Óû§U5µÄINSERTȨÏÞÊջصÄʱºò±ØÐë¼¶Áª£¨CASCADE£©Êջأ¬ÒòΪU5½«SCµÄINSERTȨÏÞÊÚÓèU6£¬U6ÓÖ½«ÆäÊÚÓèU7£¬CASCADEϵͳֻÊÕ»ØÖ±½Ó»ò¼ä½Ó´ÓU5´¦»ñµÃµÄȨÏÞ¡£

Grant ºÍRevokeÏòÓû§ÊÚÓè»òÊջضÔÊý¾ÝµÄ²Ù×÷ȨÏÞ 3¡¢´´½¨Êý¾Ý¿âģʽµÄȨÏÞ £ºDBAÔÚ´´½¨Óû§Ê±ÊµÏÖ CREATE USERÓï¾ä¸ñʽ

CREATE USER £ÛWITH£Ý£ÛDBA | RESOURCE | CONNECT£Ý

ÓµÓÐDBAȨÏÞµÄÓû§ÊÇϵͳÖеij¬¼¶Óû§£»Ö»ÓÐϵͳµÄ³¬¼¶Óû§²ÅÓÐȨ´´½¨ÐµÄÊý¾Ý¿âÓû§£»Èç¹ûûÓÐÖ¸¶¨´´½¨µÄÐÂÓû§µÄȨÏÞ£¬Ä¬ÈϸÃÓû§ÓµÓÐCONNECTȨÏÞ,Ö»ÄܵǼÊý¾Ý¿â.¡£

5¡¢Í³¼ÆÊý¾Ý¿â´æÔÚºÎÖÖÌØÊⰲȫÐÔ

µÚÎåÕ£ºÊý¾Ý¿âµÄÍêÕûÐÔ

1¡¢Ê²Ã´Êý¾Ý¿âÍêÕûÐÔÓëÊý¾Ý¿â°²È«ÐÔµÄÇø±ðºÍÁªÏµ

Êý¾ÝÍêÕûÐÔ£ºÊý¾ÝµÄÕýÈ·ÐÔºÍÏàÈÝÐÔ¡£

Êý¾Ý¿âµÄÍêÕûÐÔºÍÍêÈ«ÐÔÊÇÁ½¸ö²»Í¬µÄ¸ÅÄµ«ËûÃÇÓÐÒ»¶¨ÁªÏµ¡£ ǰÕßÊÇΪÁË·ÀÖ¹Êý¾Ý¿âÖдæÔÚ²»·ûºÏÓïÒåµÄÊý¾Ý£¬·ÀÖ¹´íÎóÐÅÏ¢µÄÊäÈëºÍÊä³ö£¬¼´ËùνÀ¬»ø½øÀ¬»ø³öËùÔì³ÉµÄÎÞЧ²Ù×÷ºÍ´íÎó½á¹û¡£

21

ºóÕßÊDZ£»¤Êý¾Ý¿â£¬·ÀÖ¹±»¶ñÒâÆÆ»µºÍ·Ç·¨´æ´¢¡£ Ò²¾ÍÊÇ˵£¬°²È«ÐÔ´ëÊ©µÄ·À·¶¶ÔÏóÊÇ·Ç·¨Óû§ºÍ·Ç·¨²Ù×÷£¬ÍêÕûÐÔ´ëÊ©µÄ·À·¶¶ÔÏóÊDz»·ûºÏÓïÒåµÄÊý¾Ý¡£

2¡¢Êý¾ÝÄ£ÐÍÖÐÍêÕûÐÔÔ¼ÊøÌõ¼þµÄ¸ÅÄRDBMSµÄÍêÕûÐÔ¿ØÖÆ»úÖÆÓ¦¾ßÓеŦÄÜ

ÍêÕûÐÔÔ¼ÊøÌõ¼þ£ºÊý¾Ý¿âÖеÄÊý¾ÝËùÓ¦Âú×ãµÄÓïÒåÔ¼ÊøÌõ¼þ¡£ RDBMSµÄÍêÕûÐÔ¿ØÖÆ»úÖÆÓ¦¾ßÓÐ3¸ö·½ÃæµÄ¹¦ÄÜ£º 1¡¢ ¶¨Ò幦ÄÜ£¬¼´Ìṩ¶¨ÒåÍêÕûÐÔÔ¼ÊøÌõ¼þµÄ»úÖÆ¡£

2¡¢ ¼ì²é¹¦ÄÜ£¬¼´¼ì²éÓû§Ëù·¢³öµÄ²Ù×÷ÇëÇóÊÇ·ñÎ¥±³ÍêÕûÐÔÔ¼ÊøÌõ¼þ¡£

3¡¢ Î¥Ô¼·´Ó³£¬Èç¹û·¢ÏÖÓû§µÄ²Ù×÷ÇëÇóʹÊý¾ÝÎ¥±³ÁËÍêÕûÐÔÔ¼ÊøÌõ¼þ£¬Ôò²Éȡһ¶¨µÄ

´ëÊ©À´±£Ö¤Êý¾ÝµÄÍêÕûÐÔ¡£

3¡¢ÓÃSQLʵÏÖÍêÕûÐÔ¿ØÖƵķ½·¨

4¡¢RDBMSÈçºÎʵÏÖ²ÎÕÕÍêÕûÐÔ

RDBMSÔÚÏÖʵ²ÎÕÕÍêÕûÐÔʱÐèÒª¿¼ÂÇ¿ÉÄÜÆÆ»µ²ÎÕÕÍêÕûÐԵĸ÷ÖÖÇé¿ö£¬ÒÔ¼°Óû§Î¥Ô¼ºóµÄ´¦Àí²ßÂÔ¡£

¿ÉÄÜÆÆ»µ²ÎÕÕÍêÕûÐÔµÄ4ÖÖÇé¿ö£ºÔÚ²ÎÕÕ¹ØÏµÖвåÈëÔª×æ¡¢ÐÞ¸ÄÍâÂëֵʱ¿ÉÄÜÆÆ»µ²ÎÕÕÍêÕûÐÔ£»ÔÚɾ³ý±»²ÎÕÕ±íµÄÔª×é¡¢ÐÞ¸ÄÖ÷Âëֵʱ¿ÉÄÜÆÆ»µ²ÎÕÕÍêÕûÐÔ¡£

5¡¢´¥·¢Æ÷µÄ¸ÅÄî

´¥·¢Æ÷£¨Trigger£©ÊÇÓû§¶¨ÒåÔÚ¹ØÏµ±íÉϵÄÒ»ÀàÓÉʼþÇý¶¯µÄÌØÊâ¹ý³Ì£¬ÓÐʱҲ½Ð (Event-Condition-Action Rule)»òECA¹æÔò¡£

Ò»µ©¶¨Ò壬ÈκÎÓû§¶Ô±íµÄÔöɾ¸Ä£¬¾ùÓÉ·þÎñÆ÷×Ô¶¯¼¤»î´¥·¢Æ÷£¬½øÐм¯ÖеÄÍêÕûÐÔ¿ØÖÆ£»¿ÉÒÔ½øÐиüΪ¸´Ôӵļì²éºÍ²Ù×÷£¬¾ßÓиü¾«Ï¸ºÍ¸üÇ¿´óµÄÊý¾Ý¿ØÖÆÄÜÁ¦¡£

Ä¿µÄ£ºÊµÏÖÓÉÖ÷¼üºÍÍâ¼üËù²»Äܱ£Ö¤µÄ²ÎÕÕÍêÕûÐÔºÍÊý¾ÝÒ»ÖÂÐÔ£¬¶¨Òå¸ü¸´ÔÓµÄÔ¼ÊøºÍÒµÎñ¹æÔò£¬¿É²ÉÓô¥·¢Æ÷¡£

1¡¢¶¨Òå´¥·¢Æ÷

CREATE TRIGGERÓï·¨¸ñʽ

CREATE TRIGGER <´¥·¢Æ÷Ãû>

{BEFORE | AFTER} <´¥·¢Ê¼þ£¨INSERT¡¢UPDATE¡¢DELETE £©> ON <±íÃû>

FOR EACH {ROW | STATEMENT} £ÛWHEN <´¥·¢Ìõ¼þ>£Ý <´¥·¢¶¯×÷Ìå>

CREATE TRIGGER ±ØÐëÊÇÅú´¦ÀíÖеĵÚÒ»ÌõÓï¾ä£¬²¢ÇÒÖ»ÄÜÓ¦ÓÃÓÚÒ»¸ö±í¡£ ´¥·¢Æ÷Ö»ÄÜÔÚµ±Ç°µÄÊý¾Ý¿âÖд´½¨£¬µ«ÊÇ¿ÉÒÔÒýÓõ±Ç°Êý¾Ý¿âµÄÍⲿ¶ÔÏó¡£

¶¨Òå´¥·¢Æ÷µÄÓ﷨˵Ã÷: 1. ´´½¨Õߣº±íµÄÓµÓÐÕß

2. ´¥·¢Æ÷Ãû£º±íÃûºÍ´¥·¢Æ÷±ØÐëÔÚͬһ¼Ü¹¹Ï 3. ±íÃû£º´¥·¢Æ÷µÄÄ¿±ê±í

4. ´¥·¢Ê¼þ£ºINSERT¡¢DELETE¡¢UPDATE

22

´¥·¢¶¯×÷ÌåÓë´¥·¢Ê¼þÖ®¼äµÄ¹ØÏµ£ºAFTER ¡¢BEFORE ¡¢INSTEAD OF£¬Ä¬ÈÏÊÇAFTER 5.´¥·¢Æ÷ÀàÐÍ£ºÒÀÕÕ´¥·¢¶¯×÷µÄ¼ä¸ô³ß´ç£¬Ðм¶´¥·¢Æ÷£¨FOR EACH ROW£©£º´¥·¢¶¯×÷ÌåµÄÖ´ÐдÎÊý¸ù¾ÝÄ¿±ê±íµÄÐÐÊý¾ö¶¨£»Óï¾ä¼¶´¥·¢Æ÷£¨FOR EACH STATEMENT£©£º´¥·¢¶¯×÷ÌåÖ»Ö´ÐÐÒ»´Î¡£

6. ´¥·¢Ìõ¼þ£º´¥·¢Æ÷¼¤»î(´¥·¢Ê¼þ·¢Éú)ºó£¬Èç´¥·¢Ìõ¼þÎªÕæ£¬´¥·¢¶¯×÷Ìå²Å»áÖ´ÐУ¬Ê¡ÂÔWHEN´¥·¢Ìõ¼þ£¬´¥·¢¶¯×÷ÌåÔÚ´¥·¢Æ÷¼¤»îºóÁ¢¼´Ö´ÐС£

7. ´¥·¢¶¯×÷Ì壺´¥·¢¶¯×÷Ìå¿ÉÒÔÊÇÒ»¸öÄäÃûPL/SQL( Transact-SQL)¹ý³Ì¿é£¬Ò²¿ÉÒÔÊǶÔÒÑ´´½¨´æ´¢¹ý³ÌµÄµ÷Óá£Èç¹û´¥·¢¶¯×÷ÌåÖ´ÐÐʧ°Ü£¬¼¤»î´¥·¢Æ÷µÄʼþ»áÖÕÖ¹£¬Ä¿±ê±í²»·¢Éú±ä»¯¡£

8¡¢´æ´¢¹ý³Ì£¨Stored Procedure£©£ºÊÇÒ»×éΪÁËÍê³ÉÌØ¶¨¹¦ÄܵÄSQLÓï¾ä¼¯£¬¾­±àÒëºó´æ´¢ÔÚÊý¾Ý¿âÖС£Óû§Í¨¹ýÖ¸¶¨´æ´¢¹ý³ÌµÄÃû×Ö²¢¸ø³ö²ÎÊý£¨Èç¹û¸Ã´æ´¢¹ý³Ì´øÓвÎÊý£©À´Ö´ÐÐËü ¡£

Àý£º¶¨ÒåÒ»¸öBEFOREÐм¶´¥·¢Æ÷£¬Îª½Ìʦ±íTeacher¶¨ÒåÍêÕûÐÔ¹æÔò¡°½ÌÊڵŤ×ʲ»µÃµÍÓÚ4000Ôª£¬Èç¹ûµÍÓÚ4000Ôª£¬×Ô¶¯¸ÄΪ4000Ôª¡±¡£

CREATE TRIGGER Insert_Or_Update_Sal

BEFORE INSERT OR UPDATE ON Teacher /*´¥·¢Ê¼þÊDzåÈë»ò¸üвÙ×÷*/

FOR EACH ROW /*Ðм¶´¥·¢Æ÷*/

AS BEGIN /*¶¨Òå´¥·¢¶¯×÷Ì壬ÊÇPL/SQL¹ý³Ì¿é*/ IF (new.Job='½ÌÊÚ') AND (new.Sal < 4000) THEN new.Sal :=4000; END IF;

END;

Àý£º¶¨ÒåAFTERÐм¶´¥·¢Æ÷£¬µ±½Ìʦ±íTeacherµÄ¹¤×Ê·¢Éú±ä»¯ºó¾Í×Ô¶¯ÔÚ¹¤×ʱ仯±íSal_logÖÐÔö¼ÓÒ»ÌõÏàÓ¦¼Ç¼

Ê×ÏȽ¨Á¢¹¤×ʱ仯±íSal_log CREATE TABLE Sal_log

(Eno NUMERIC(4) references teacher(eno)£¬ Sal NUMERIC(7£¬2)£¬ Username char(10)£¬ Date TIMESTAMP )£» 2¡¢¼¤»î´¥·¢Æ÷

Ò»¸öÊý¾Ý±íÉÏ¿ÉÄܶ¨ÒåÁ˶à¸ö´¥·¢Æ÷£¬Í¬Ò»¸ö±íÉϵĶà¸ö´¥·¢Æ÷¼¤»îʱ×ñÑ­ÈçϵÄÖ´ÐÐ˳Ðò£º£¨1£© Ö´ÐиñíÉϵÄBEFORE´¥·¢Æ÷¡££¨2£© ¼¤»î´¥·¢Æ÷µÄSQLÓï¾ä¡££¨3£© Ö´ÐиñíÉϵÄAFTER´¥·¢Æ÷¡£

Àý£ºµ±Ö´ÐÐÐÞ¸Äij¸ö½Ìʦ¹¤×ʵÄSQLÓï¾ä£¬¼¤»îÉÏÊö¶¨ÒåµÄ´¥·¢Æ÷ UPDATE Teacher SET Sal=800 WHERE Ename='³Âƽ'; Ö´ÐÐ˳ÐòÊÇ£º

Ö´Ðд¥·¢Æ÷Insert_Or_Update_Sal

Ö´ÐÐSQLÓï¾ä¡°UPDATE Teacher SET Sal=800 WHERE Ename='³Âƽ';¡± Ö´Ðд¥·¢Æ÷Insert_Sal£» Ö´Ðд¥·¢Æ÷Update_Sal

3¡¢É¾³ý´¥·¢Æ÷ DROP TRIGGER <´¥·¢Æ÷Ãû> ON <±íÃû>;

´¥·¢Æ÷±ØÐëÊÇÒ»¸öÒѾ­´´½¨µÄ´¥·¢Æ÷£¬²¢ÇÒÖ»ÄÜÓɾßÓÐÏàӦȨÏÞµÄÓû§É¾³ý

23

Àý£ºÉ¾³ý½Ìʦ±íTeacherÉϵĴ¥·¢Æ÷Insert_Sal DROP TRIGGER Insert_Sal ON Teacher;

µÚÁùÕ£º¹ØÏµÊý¾ÝÀíÂÛ

1¡¢ÎªºÎÒªÌá³ö¹ØÏµÊý¾Ý¿â¹æ·¶»¯£¬¼´¹æ·¶»¯ÀíÂÛÊÇΪÁ˽â¾ö¹ØÏµÊý¾Ý¿âÖÐʲôÎÊÌâ¶øÒýÈëµÄ?

ÓÃÀ´¸ÄÔì¹ØÏµÄ£Ê½¡£Í¨¹ý·Ö½â¹ØÏµÄ£Ê½À´Ïû³ýÆäÖв»ºÏÊʵÄÊý¾ÝÒÀÀµ£¬ÒÔ½â¾ö²åÈëÒì³£¡¢É¾³ýÒì³£¡¢¸üÐÂÒì³£ºÍÊý¾ÝÈßÓàÎÊÌâ¡£

2¡¢º¯ÊýÒÀÀµµÄ»ù±¾¸ÅÄÂë(°üÀ¨³¬Â룬Ö÷Â룬ºòÑ¡Â룬ÍâÂë)µÄ»ù±¾¸ÅÄî

1¡¢º¯ÊýÒÀÀµ£ºÉèR(U)ÊÇÒ»¸öÊôÐÔ¼¯UÉϵĹØÏµÄ£Ê½£¬XºÍYÊÇUµÄ×Ó¼¯£¬ Èô¶ÔÓÚR(U)µÄÈÎÒâÒ»¸ö¿ÉÄܵĹØÏµr£¬rÖв»¿ÉÄÜ´æÔÚÁ½¸öÔª×éÔÚXÉϵÄÊôÐÔÖµÏàµÈ£¬ ¶øÔÚYÉϵÄÊôÐÔÖµ²»µÈ£¬ Ôò³Æ ¡°Xº¯ÊýÈ·¶¨Y¡± »ò ¡°Yº¯ÊýÒÀÀµÓÚX¡±£¬¼Ç×÷X¡úY¡£

Ëùνº¯ÊýÒÀÀµÊÇÖ¸¹ØÏµÖÐÊôÐÔ»òÊôÐÔ×éµÄÖµ¿ÉÒÔ¾ö¶¨ÆäËüÊôÐÔµÄÖµ£¬ÉèR(U)ÊÇÊôÐÔ¼¯UÉϵĹØÏµÄ£Ê½£¬X¡¢YÊÇUµÄ×Ó¼¯£º

Èç¹ûXºÍYÖ®¼äÊÇ1£º1¹ØÏµ£¨Ò»¶ÔÒ»¹ØÏµ£©£¬ÈçѧУºÍУ³¤Ö®¼ä¾ÍÊÇ1:1¹ØÏµ£¬Ôò´æÔÚº¯ÊýÒÀÀµX ¡ú YºÍY ¡úX¡£

Èç¹ûXºÍYÖ®¼äÊÇ1£ºn¹ØÏµ£¨Ò»¶Ô¶à¹ØÏµ£©£¬ÈçÄêÁäºÍÐÕÃûÖ®¼ä¾ÍÊÇ1:n¹ØÏµ£¬Ôò´æÔÚº¯ÊýÒÀÀµY ¡ú X¡£

Èç¹ûXºÍYÖ®¼äÊÇm£ºn¹ØÏµ£¨¶à¶Ô¶à¹ØÏµ£©£¬ÈçѧÉúºÍ¿Î³ÌÖ®¼ä¾ÍÊÇm:n¹ØÏµ£¬ÔòXºÍYÖ®¼ä²»´æÔÚº¯ÊýÒÀÀµ¡£

ÔÚ¹ØÏµÄ£Ê½R(U)ÖУ¬¶ÔÓÚUµÄ×Ó¼¯XºÍY£¬Èç¹ûX¡úY£¬µ«£¬Ôò³ÆX¡úYÊÇ·ÇÆ½·²µÄº¯ÊýÒÀÀµ£»ÈôX¡úY£¬µ«Ôò³ÆX¡úYÊÇÆ½·²µÄº¯ÊýÒÀÀµ¡£

Àý£ºÔÚ¹ØÏµSC(Sno, Cno, Grade)ÖУ¬·Çƽ·²º¯ÊýÒÀÀµ£º (Sno, Cno) ¡ú Grade£» ƽ·²º¯ÊýÒÀÀµ£º (Sno, Cno) ¡ú Sno (Sno, Cno) ¡ú Cno

ÈôX¡úY£¬ÔòX³ÆÎªÕâ¸öº¯ÊýÒÀÀµµÄ¾ö¶¨ÊôÐÔ×飬Ҳ³ÆÎª¾ö¶¨ÒòËØ£¨Determinant£©¡£ 2¡¢ ÍêÈ«º¯ÊýÒÀÀµ£º ÔÚR(U)ÖУ¬Èç¹ûX¡úY£¬²¢ÇÒ¶ÔÓÚXµÄÈκÎÒ»¸öÕæ×Ó¼¯X¡¯£¬¶¼ÓÐX¡¯ Y, Ôò³ÆY¶ÔXÍêÈ«º¯ÊýÒÀÀµ£¬¼Ç×÷

¡£

3¡¢²¿·Öº¯ÊýÒÀÀµ£ºÈôX¡úY£¬µ«Y²»ÍêÈ«º¯ÊýÒÀÀµÓÚX£¬Ôò³ÆY¶ÔX²¿·Öº¯ÊýÒÀÀµ£¬¼Ç×÷

Àý£ºÖÐ (Sno,Cno)¡úGradeÊÇÍêÈ«º¯ÊýÒÀÀµ£¬(Sno,Cno)¡úSdeptÊDz¿·Öº¯ÊýÒÀÀµ ¡ßSno ¡úSdept³ÉÁ¢£¬ÇÒSnoÊÇ£¨Sno£¬Cno£©µÄÕæ×Ó¼¯¡£ µ±´æÔÚ²¿·ÖÒÀÀµÊ±£¬¾Í»á²úÉúÊý¾ÝÈßÓà¡£ 4¡¢´«µÝº¯ÊýÒÀÀµ£ºÔÚR(U)ÖУ¬Èç¹ûX¡úY£¬(Y´«µÝº¯ÊýÒÀÀµ,¼ÇΪ£º

X) ,Y

X £¬Y¡úZ£¬Z

Y£¬Ôò³ÆZ¶ÔX

×¢: Èç¹ûY¡úX£¬ ¼´X¡û¡úY£¬ÔòZÖ±½ÓÒÀÀµÓÚX¡£ Àý: ÔÚ¹ØÏµStd(Sno, Sname£¬Sdept, Mname)ÖУ¬ÓУº Sno ¡ú Sdept£¬Sdept ¡ú Mname Mname´«µÝº¯ÊýÒÀÀµÓÚSno

5¡¢ºîÑ¡Â룺ÉèKΪRÖеÄÊôÐÔ»òÊôÐÔ×飬ÈôK

U £¨Ã¿¸öÊôÐÔ£©£¬ ÔòK³ÆÎªR

24

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)