Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Êý¾Ý¿âÖØ¹¹Ì½ÌÖϵÁÐ
 
×÷Õß chszs£¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-06-26
 

1¡¢Êý¾Ý¿âÖØ¹¹·Ö³É6Àࣺ

2¡¢Êý¾Ý¿âζµÀ

Óë¡°´úÂëζµÀ¡±¸ÅÄîÏàËÆ£¬´úÂëζµÀÊÇ´úÂëÖгöÏÖ³£¼ûÎÊÌ⣬±íÃ÷ÐèÒª½øÐÐÖØ¹¹¡£

Êý¾Ý¿âζµÀ±íÃ÷Êý¾Ý¿âÐèÒªÖØ¹¹¡£ÕâЩζµÀ°üÀ¨£º

£¨1£©¶àÓÃ;µÄÁÐ

ÈçÒ»¸öÁб»ÓÃÓÚ¶àÖÖÓÃ;£¬¾Í¿ÉÄÜ´æÔÚ¶îÍâµÄ´úÂëÀ´È·±£Ô´Êý¾ÝÒÔ¡°ÕýÈ·µÄ·½Ê½¡±Ê¹Óã¬ÕâЩ´úÂë³£³£»á¼ì²éÒ»¸öÁлò¸ü¶àÆäËüÁеÄÖµ¡£

±ÈÈ磺

ijÁÐÓÃÓڴ洢ijÈ˵ÄÉúÈÕ£¬Èç¹û´ËÈËÊǹ˿͵ϰ¡£¼ÙÈç´ËÈËÊǹ«Ë¾¹ÍÔ±£¬´ËÁÐÔòÓÃÓÚ´æ´¢Èë³§ÈÕÆÚ¡£

£¨2£©¶àÓÃ;µÄ±í

ÈçÒ»¸ö±í±»ÓÃÓÚ´æ·Å¼¸ÖÖÀàÐ͵ÄʵÌ壬¾Í¿ÉÄÜ´æÔÚÉè¼ÆÈ±ÏÝ¡£

ÀýÈ磺

ij¸ö±íCustomerͬʱ´æ·ÅÁËÈ˺͹«Ë¾µÄÐÅÏ¢¡£

£¨3£©Öظ´µÄÊý¾Ý

ÖØ¸´µÄÊý¾Ý¶Ô²Ù×÷ÐÍÊý¾Ý¿âÀ´ËµÊÇÒ»¸öÑÏÖØµÄÎÊÌ⣬ÒòΪÈçÊý¾Ý´æ·ÅÔÚ¼¸¸öµØ·½£¬²»Ò»ÖµĻú»á¾ÍÔö¼ÓÁË¡£

£¨4£©ÁÐÌ«¶àµÄ±í

µ±Ò»¸ö±í°üº¬Ì«¶àµÄÁУ¬Ôò˵Ã÷Õâ¸ö±íȱ·¦ÄÚ¾Û¡£

±ÈÈ磺

Customer±í°üº¬ÁËһЩÁУ¬´æ·ÅÁË3ÖÖ²»Í¬µÄµØÖ·£¨·¢»õµØÖ·¡¢Õ˵¥µØÖ·¡¢¹«Ë¾µØÖ·£©»ò¼¸¸öµç»°ºÅÂ루¼ÒÍ¥µç»°¡¢¹¤×÷µç»°¡¢ÊÖ»úºÅµÈ£©£¬Äã¿ÉÄÜÐèÒª½«ÕâÖֽṹ½øÐбê×¼»¯´¦Àí£¬¼ÓÈëAddressºÍPhoneNumber±í¡£

£¨5£©¡°ÖÇÄÜ¡±ÁÐ

¡°ÖÇÄÜ¡±ÁÐÊÇÕâÑùÒ»ÖÖÁУ¬ÆäÖÐÊý¾ÝµÄ²»Í¬Î»Öôú±í²»Í¬µÄ¸ÅÄî¡£

ÀýÈ磺

¿Í»§IDµÄǰ4λÊý×Ö´ú±í¿Í»§µÄ¿ª»§ÐУ¬Ôò¿Í»§ID¾ÍÊÇÒ»¸ö¡°ÖÇÄÜ¡±ÁС£ÒòΪÄã»á½âÎöËüÒÔÈ¡µÃ¸üϸÁ£¶ÈµÄÐÅÏ¢£¬È翪»§ÐÐID¡£

3¡¢Êý¾Ý¿âÖØ¹¹

Êý¾Ý¿âÖØ¹¹ÊÇÒ»ÖÖÊý¾Ý¿âʵÏÖ¼¼Êõ£¬Óë´úÂëÖØ¹¹ÏàËÆ£¬¶ÔÊý¾Ý¿âSchema½øÐÐÖØ¹¹£¬Ê¹µÃÔÚÉÏÃæÔö¼Ó¶«Î÷±äµÃÈÝÒס£

ÉÏͼÌṩÁËһЩ¹Ø¼ü¿ª·¢»î¶¯µÄ¸ß²ãÊÓͼ£¬ÕâЩ»î¶¯·¢ÉúÔÚÉæ¼°¶ÔÏóºÍ¹ØÏµÊý¾Ý¿â¼¼ÊõµÄÏÖ´úÏîÄ¿ÖС£ÐèÒªÔÚÕâЩ»î¶¯Ö®¼äÀ´»Øµü´ú¡£

Êý¾Ý¿âÖØ¹¹ÊÇÑݽøÊ½Êý¾Ý¿â¿ª·¢µÄÒ»¸öÖØÒª×é³É²¿·Ö¡£»¹ÐèÒª²ÉÓÃÑݽø/Ãô½ÝµÄ·½Ê½½øÐÐÊý¾Ý½¨Ä£¡£

ñîºÏÔ½À÷º¦£¬¾ÍÔ½ÄÑÖØ¹¹¡£´úÂëÖØ¹¹¡¢Êý¾Ý¿âÖØ¹¹¾ùÊÇÈç´Ë¡£

×î¼òµ¥µÄ³¡¾°£ºµ¥Ó¦ÓÃÊý¾Ý¿â¡£ÒòΪÊý¾Ý¿âSchemaÖ»ÓëËü±¾ÉíºÍÒ»¸öÓ¦ÓÃÏàñîºÏ¡£

¶øÔÚ¶àÓ¦ÓõÄÊý¾Ý¿â¼Ü¹¹ÖУ¬ÄãµÄÊý¾Ý¿âSchema¿ÉÄÜÓëÓ¦ÓÃÔ´Âë¡¢³Ö¾Ã¿ò¼Ü¡¢ORM¹¤¾ß¡¢ÆäËüÊý¾Ý¿â£¨Ìṩ¸´ÖÆ¡¢Êý¾Ý³éÈ¡/¼ÓÔØµÈ£©¡¢Êý¾ÝÎļþSchema¡¢²âÊÔ´úÂ룬ÉõÖÁÊý¾Ý¿â×ÔÉíµÈñîºÏÔÚÒ»Æð¡£

¼õÉÙÉæ¼°Êý¾Ý¿âµÄñîºÏµÄÒ»ÖÖÓÐЧ·½Ê½ÊÇ·â×°¶ÔÊý¾Ý¿âµÄ·ÃÎÊ¡£ÈÃÍⲿ³ÌÐòͨ¹ý³Ö¾Ã²ãÀ´·ÃÎÊÊý¾Ý¿â£¬¿ÉÒÔʵÏÖ¶ÔÊý¾Ý¿â·ÃÎʵķâ×°¡£

³Ö¾Ã²ãÓжàÖÖʵÏÖ·½Ê½£º

£¨1£©Í¨¹ýÊý¾Ý·ÃÎʶÔÏóDAO£¬ËüʵÏÖÁËËùÐèµÄSQL´úÂ룻

£¨2£©Í¨¹ý¿ò¼Ü£»

£¨3£©Í¨¹ý´æ´¢¹ý³Ì£»

£¨4£©Í¨¹ýWeb·þÎñ¡£

ÓÀÔ¶Ò²²»¿ÉÄܰÑñîºÏ½µµ½0£¬µ«¿Ï¶¨¿ÉÒÔ°ÑËü½µµ½ÄܹÜÀíµÄ³Ì¶È¡£

4¡¢Êý¾Ý¿âÖØ¹¹ÊµÀý

¡°Óà¶îBalance¡±ÁÐʵ¼ÊÉÏÃèÊöµÄÊÇ¡°ÕË»§Account¡±ÊµÌ壬¶ø²»ÊÇ¡°¹Ë¿ÍCustomer¡±ÊµÌå¡£

Òò´ËÈçͼËùʾ£¬ÐèÒª°Ñ¡°Óà¶îBalance¡±Áдӡ°¹Ë¿ÍCustomer¡±±íÒÆ³ö£¬¼ÓÈëµ½¡°ÕË»§Account¡±±íÖС£

ÖØ¹¹µÄµü´ú»î¶¯ÈçÏ£º

£¨1£©ÑéÖ¤Êý¾Ý¿âÖØ¹¹ÊÇ·ñºÏÊÊ£»

Õâ¸öÖØ¹¹ÓÐÒâÒåÂ𣿱ä¸üÕæµÄÐèÒªÏÖÔÚ½øÐÐÂð£¿ÖµµÃÕâÑùÈ¥×öÂð£¿

£¨2£©Ñ¡Ôñ×îºÏÊʵÄÊý¾Ý¿âÖØ¹¹¼¼Êõ£»

ÕæÕýÐèÒªÖØ¹¹µÄÊÇ¡°Ê¹ÓÃÕýʽÊý¾ÝÔ´¡±

£¨3£©ÈÃÔ­À´µÄÊý¾Ý¿âSchema¹ýʱ£»

ÐèÒªÒ»¸öת»»ÆÚ£¬¼´¡°¹ýʱÆÚ¡±

£¨4£©Ç°²âÊÔ¡¢ÖвâÊԺͺó²âÊÔ£»

ÒªÄܹ»ÇáÒ×ÑéÖ¤Êý¾Ý¿âÔÚ±ä¸üÖ®ºóÈÔÄÜÓëÓ¦ÓÃÒ»Æð¹¤×÷£¬¾ÍÓÐÐÅÐĶÔÊý¾Ý¿âSchema½øÐбä¸ü£¬×öµ½ÕâÒ»µãµÄΨһ;¾¶¾ÍÊDzÉÓòâÊÔÇý¶¯¿ª·¢TDDµÄ·½Ê½¡£

TDD·½Ê½ÖУ¬±àдһ¸ö²âÊÔ£¬±àд×ã¹»´úÂ룬ͨ³£ÊÇʹÓÃÊý¾Ý¶¨ÒåÓïÑÔDDL£¬À´Íê³É¸Ã²âÊÔ¡£¼ÌÐøÒÔÕâÖÖ·½Ê½¹¤×÷£¬Ö±µ½Êý¾Ý¿âÖØ¹¹ÍêȫʵÏÖ¡£

£¨4.1£©²âÊÔÊý¾Ý¿âSchema£»

Êý¾Ý¿âÖØ¹¹»áÓ°ÏìÊý¾Ý¿âSchema£¬¹ÊÐè±àÐ´ÃæÏòÊý¾Ý¿âµÄ²âÊÔ¡£¿ÉÒÔ´ÓÐí¶à·½ÃæÀ´¼ì²éÊý¾Ý¿âSchema£º

1.´æ´¢¹ý³ÌºÍ´¥·¢Æ÷

2.²ÎÕÕÍêÕûÐÔRI

3.ÊÓͼ¶¨Òå

4.ȱʡֵ

5.Êý¾Ý²»±äʽ

Êý¾Ý¿â²âÊÔ¹¤¾ß£º¹ÜÀí²âÊÔÊý¾ÝµÄ¹¤¾ßDBUnit£»²âÊÔ´æ´¢¹ý³ÌµÄ¹¤¾ßSQLUnit£»»¹ÓÐÕë¶ÔÊý¾Ý²âÊÔµÄÉÌÒµ¹¤¾ß¡£

¶Ôÿ´ÎÖØ¹¹²ÉÓÃһЩС½Å±¾£¬Ô­ÒòÊÇ£º¼òµ¥ÐÔ¡¢ÕýÈ·ÐÔ¡¢°æ±¾¿ØÖÆ¡£

ʵÏÖÖØ¹¹µÄÒ»¸öÖØÒª·½ÃæÊÇ£¬È·±£Êý¾Ý¿âSchema±ä¸üµÄ²¿Êð×ñÊØÁ˹«Ë¾µÄÊý¾Ý¿â¿ª·¢Ö¸ÄÏ¡£

1.Ç¨ÒÆÔ´Êý¾Ý£»

µ±·¢ÏÖÐèÒª±àд֧³ÖÎĵµÀ´ÃèÊöÒ»¸ö±í¡¢Ò»¸öÁлòÒ»¸ö´æ´¢¹ý³Ìʱ£¬ËµÃ÷ÐèÒª¶ÔÕⲿ·ÖSchema½øÐÐÖØ¹¹£¬Ê¹Æä¸üÒ×ÓÚÀí½â¡£

Ò²ÐíÒ»´Î¼òµ¥µÄ¸ÄÃû¾Í¿ÉÒÔ±ÜÃ⼸¶Î˵Ã÷Îĵµ¡£Éè¼ÆÔ½ÇåÎú£¬¾ÍÔ½ÉÙÐèÒªÎĵµ¡£

2.ÐÞ¸ÄÍⲿ·ÃÎʳÌÐò£»

Êý¾Ý¿âSchema±ä¸üʱ£¬³£³£ÐèÒªÖØ¹¹Ô­ÓеÄÍⲿ³ÌÐò¡£

3.ÔËÐлعé²âÊÔ£»

ʵÏÖÖØ¹¹µÄÒ»²¿·Ö¹¤×÷ÊǶÔËü½øÐвâÊÔ£¬È·±£ËüÄܹ¤×÷¡£

4.¶Ô¹¤×÷½øÐа汾¿ØÖÆ£»

°ÑÖØ¹¹ÖÃÓÚÅäÖùÜÀíCMµÄ¿ØÖÆÖ®Ï¡£

5.Ðû²¼´Ë´ÎÖØ¹¹¡£

ÐèÒªÏò¸ÐÐËȤµÄ¸÷·½¹µÍ¨ÒѾ­Íê³ÉµÄÊý¾Ý¿âÖØ¹¹¡£

Ðû²¼¹¤×÷µÄÒ»¸öÖØÒª·½ÃæÊǸüÐÂÏà¹ØµÄÎĵµ¡£»¹ÐèÒª¸üÐÂÊý¾Ý¿âµÄÎïÀíÊý¾ÝÄ£ÐÍPDM¡£

×¢Ò⣺²»Ó÷¢²¼²»³ÉÊìµÄÊý¾ÝÄ£ÐÍ¡£

Êý¾Ý¿âÖØ¹¹¹ý³Ì£º

С½á£ºÊý¾Ý¿âÖØ¹¹µÄ¹¤×÷ÊÒÔÚ¿ª·¢É³ºÐÖÐÍê³ÉµÄ£¬×îºÃÊÇÓÉÒ»¸ö¿ª·¢ÕߺÍÒ»¸öDBA½á¶ÔÍê³É¡£

£¨4.2£©²âÊÔÓ¦ÓóÌÐòʹÓÃÊý¾Ý¿âSchemaµÄ·½Ê½£»

£¨4.3£©¼ìÑéÊý¾ÝÇ¨ÒÆµÄÓÐЧÐÔ£»

Ðí¶àÊý¾Ý¿âÖØ¹¹¼¼ÊõÒªÇóÇ¨ÒÆÔ´Êý¾Ý£¬±ÈÈ罫Êý¾ÝÖµCustomer.Balance¸´ÖƵ½Account.Balance£¬ÐèÒª¼ìÑéÿλ¹Ë¿ÍµÄÕýÈ·Óà¶îȷʵ½øÐÐÁË¿½±´¡£

£¨4.4£©²âÊÔÍⲿ³ÌÐò´úÂë¡£

6.ÐÞ¸ÄÊý¾Ý¿âSchema£»

ÒÔÉÏÃæµÄÀý×Ó£¬ÐèÒª¼ÓÈëAccount.BalanceÁкÍÁ½¸ö´¥·¢Æ÷£ºSynchronizeAccountBalanceºÍSynchronizeCustomerBalance¡£

Íê³É´ËʵÄDDL´úÂ룺

ALTER TABLE Account ADD Balance Numeric;
COMMENT ON Account.Balance 'Move of Customer.Balance column, finaldate=2006-06-14';
CREATE OR REPLACE TRIGGER SynchronizeCustomerBalance
BEFORE INSERT OR UPDATE
ON Account
REFERENCE OLD AS OLD NEW AS NEW
FOR EACH ROW
DECLARE
BEGIN
IF :NEW.Balance IS NOT NULL THEN
UpdateCustomerBalance;
END IF
END;
/
COMMENT ON SynchronizeCustomerBalance 'Move of Customer.Balance column to Account,
dropdate = 2006-06-14';
CREATE OR REPLACE TRIGGER SynchronizeAccountBalance
BEFORE INSERT OR UPDATE OR DELETE
ON Customer
REFERENCE OLD AS OLD NEW AS NEW
FOR EACH ROW
DECLARE
BEGIN
IF DELETING THEN
DeleteCustomerIfAccountNotFound;
END IF
IF (UPDATING OR INSERTING) THEN
IF :NEW.Balance IS NOT NULL THEN
UpdateAccountBalanceForCustomer;
END IF;
END IF;
END;
/
COMMENT ON SynchronizeAccountBalance 'Move of Customer.Balance column to Account, dropdate=2006-06-14'
   
´Îä¯ÀÀ       
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ


MySQLË÷Òý±³ºóµÄÊý¾Ý½á¹¹
MySQLÐÔÄܵ÷ÓÅÓë¼Ü¹¹Éè¼Æ
SQL ServerÊý¾Ý¿â±¸·ÝÓë»Ö¸´
ÈÃÊý¾Ý¿â·ÉÆðÀ´ 10´óDB2ÓÅ»¯
oracleµÄÁÙʱ±í¿Õ¼äдÂú´ÅÅÌ
Êý¾Ý¿âµÄ¿çƽ̨Éè¼Æ


²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿â
¸ß¼¶Êý¾Ý¿â¼Ü¹¹Éè¼ÆÊ¦
HadoopÔ­ÀíÓëʵ¼ù
Oracle Êý¾Ý²Ö¿â
Êý¾Ý²Ö¿âºÍÊý¾ÝÍÚ¾ò
OracleÊý¾Ý¿â¿ª·¢Óë¹ÜÀí


GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Òæ»ª ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí