ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ã³ã³ããã¹ãã§ã¯ããã«ã¹ã±ãŒãããšããçšèªã¯ãããŒã¿ããŒã¹ ã¹ããŒãã®å¶çŽãä»ããŠãªã³ã¯ãããŠããç¹å®ã®ããŒã¿ ãšã³ãã£ãã£ã«å€æŽãé©çšããçµæãšããŠãããŒã¿ããŒã¹ç®¡çã·ã¹ãã (DBMS) ã«ãã£ãŠèªåçã«å®è¡ãããäžé£ã®ã¢ã¯ã·ã§ã³ãŸãã¯æäœãæããŸãã ãã«ã¹ã±ãŒãæäœã䜿çšããäž»ãªç®çã¯ãããŒã¿ããŒã¹ ãšã³ãã£ãã£éã®é¢ä¿ã®åç §æŽåæ§ãç¶æããããŒã¿ã®äžè²«æ§ãšæ£ç¢ºæ§ã確ç«ãããããžãã¹ ã«ãŒã«ã®éµå®ãä¿èšŒããããšã§ãã
éåžžãã«ã¹ã±ãŒãæäœã¯å€éšããŒå¶çŽã«é¢é£ä»ããããŠããããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹å ã® 2 ã€ä»¥äžã®ããŒãã«éã®é¢ä¿ã確ç«ããããã«äœ¿çšãããŸããç¹å®ã®ã«ã¹ã±ãŒã ãªãã·ã§ã³ã䜿çšããŠå€éšããŒå¶çŽãå®çŸ©ããé¢é£ã¬ã³ãŒãã®äž»ããŒãžã®å€æŽããæ¥ç¶ãããŠããä»ã®ãšã³ãã£ãã£ãããŒãã«ã«ã©ã®ããã«åæ ããããæå®ã§ããŸãã
å€éšããŒã«æå®ã§ããã«ã¹ã±ãŒã ãªãã·ã§ã³ã«ã¯æ¬¡ã®ãã®ããããŸãã
- CASCADE : ãã®ãªãã·ã§ã³ã¯ãäž»ããŒã«å€æŽ (æŽæ°ãåé€ãªã©) ãçºçãããšãã«ã察å¿ãã倿Žãé¢é£ããŒãã«å ã®ãã¹ãŠã®é¢é£å€éšã㌠ã¬ã³ãŒãã«ãé©çšãããããšãä¿èšŒããŸããããã¯ãé¢é£ããããŒã¿ãçžäºã«åæããŠããå¿ èŠãããå Žåã«åœ¹ç«ã¡ãŸãã
- SET NULL : äž»ããŒãæŽæ°ãŸãã¯åé€ããããšããã®ãªãã·ã§ã³ã¯é¢é£ããŒãã«å ã®å¯Ÿå¿ããå€éšããŒå€ã NULL ã«èšå®ããŸããããã¯ãæ°ããäž»ããŒå€ã§æŽæ°ãã代ããã«ã¬ã³ãŒãéã®æ¥ç¶ãåæããå¿ èŠãããå ŽåããŸãã¯é¢é£ã¬ã³ãŒãã«åœ±é¿ãäžããã«äž»ã¬ã³ãŒããåé€ããå Žåã«åœ¹ç«ã¡ãŸãã
- SET DEFAULT : SET NULL ãšåæ§ã«ããã®ãªãã·ã§ã³ã¯äž»ããŒãæŽæ°ãŸãã¯åé€ããããšãã«ã察å¿ããå€éšããŒå€ãããŒã¿ããŒã¹ ã¹ããŒãã§æå®ãããŠããããã©ã«ãå€ã«èšå®ããŸããããã«ãããäž»ããŒã倿ŽãŸãã¯åé€ãããå Žåã§ããããŒãã«éã®ããã©ã«ãã®é¢ä¿ãç¶æã§ããŸãã
- NO ACTION ãŸã㯠RESTRICT : ãããã®ãªãã·ã§ã³ã¯ãé¢é£ããå€éšã㌠ã¬ã³ãŒããæã€äž»ããŒå€ã®æŽæ°ãŸãã¯åé€ã鲿¢ããããŒã¿ããŒã¹å šäœã®æŽåæ§ãšäžè²«æ§ã確ä¿ããŸããããã¯ãã«ã¹ã±ãŒãæäœãæãŸãããªãå ŽåããŸãã¯ããŒã¿ã®äžæŽåãçããå¯èœæ§ãããå Žåã«ãããŒãã«éã®é¢ä¿ãç¶æããå Žåã«ç¹ã«éèŠã§ãã
ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ã«ã¹ã±ãŒãã®æŠå¿µããããããããã説æããããã«ãç°¡åãªäŸãèããŠã¿ãŸãããããcustomersããšãordersããšãã 2 ã€ã®ããŒãã«ãå«ãããŒã¿ããŒã¹ ã¹ããŒãã§ãå顧客ã«ã¯è€æ°ã®æ³šæãããå¯èœæ§ããããŸãããã®å Žåããcustomer_idããã£ãŒã«ããä»ããŠãordersãããŒãã«ããcustomersãããŒãã«ã«ãªã³ã¯ããå€éšããŒå¶çŽãååšããå¯èœæ§ããããŸãããã®å¶çŽã¯ CASCADE åé€ãªãã·ã§ã³ã䜿çšããŠå®çŸ©ã§ãããcustomersãããŒãã«ã®ã¬ã³ãŒããåé€ããããšããordersãããŒãã«å ã®ãã¹ãŠã®é¢é£ã¬ã³ãŒããèªåçã«åé€ãããããŒã¿ããŒã¹ã®åç §æŽåæ§ãç¶æãããŸãã
Webãã¢ãã€ã«ãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã®éçºããã»ã¹ãåçåããããã«èšèšããã匷åãªno-codeãã©ãããã©ãŒã ã§ããAppMasterã§ã¯ãããŒã¿ããŒã¹ ã¹ããŒãã®èšèšãšç®¡çã®è€éããã·ã³ãã«ãã€å¹ççã«åŠçã§ããŸãã AppMasterã®èŠèŠçã«çŽæçãªã€ã³ã¿ãŒãã§ã€ã¹ã«ããããŠãŒã¶ãŒã¯ããŒãã« ã¹ããŒããé¢ä¿ãå«ãããŒã¿ ã¢ãã«ãç°¡åã«å®çŸ©ã§ããŸãã PostgreSQL ãªã©ã®äžè¬çãªããŒã¿ããŒã¹ ã·ã¹ãã ã«å¯Ÿãããã®ãã©ãããã©ãŒã ã®ãµããŒããå©çšããããšã§ããŠãŒã¶ãŒã¯ã«ã¹ã±ãŒãæäœãšå¶çŽãç°¡åã«å®è£ ããŠããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®æŽåæ§ãšäžè²«æ§ãç¶æã§ããŸãã
AppMasterãã¹ãŠã®ãããžã§ã¯ãã®ç§»è¡ã¹ã¯ãªãããAPI ããã¥ã¡ã³ããããŒã¿ ã¢ãã«ã®èªåçæãæäŸãããŠãŒã¶ãŒãè¡ã£ãèšèšãšå€æŽãã·ãŒã ã¬ã¹ã«çµ±åããããšã«ãããå æ¬çãªçµ±åéçºç°å¢ãšããŠã®å°äœãããã«åŒ·åããŸããããã«ãããçæãããã¢ããªã±ãŒã·ã§ã³ãåžžã«åºç€ãšãªãããŒã¿ããŒã¹ ã¹ããŒããšäžèŽããã«ã¹ã±ãŒãæäœããã®ä»ã®ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹æ©èœã®å©ç¹ãæå€§éã«æŽ»çšã§ããããã«ãªããŸãã
èŠçŽãããšããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã«ããããã«ã¹ã±ãŒããã®æŠå¿µã¯ãå€éšããŒå¶çŽãéããŠäž»ããŒå€ã®å€æŽãé¢é£ã¬ã³ãŒãã«èªåçã«äŒæãããããšãæããŸãããããã®ã¢ã¯ã·ã§ã³ã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ã®åç §æŽåæ§ãšäžè²«æ§ãç¶æããã®ã«åœ¹ç«ã¡ãã¢ããªã±ãŒã·ã§ã³å šäœã®ä¿¡é Œã§ããæ©èœãä¿èšŒããŸãã AppMasterã®åŒ·åãªno-codeãã©ãããã©ãŒã ãæŽ»çšããããšã§ããŠãŒã¶ãŒã¯ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ã«ã¹ã±ãŒãæäœãšå¶çŽãç°¡åã«èšèšãå®è£ ã管çã§ããéçºããã»ã¹ãåçåããã¢ããªã±ãŒã·ã§ã³ã®ããŒãºã«å¿ããå ç¢ã§å¹ççãªãœãªã¥ãŒã·ã§ã³ãæäŸã§ããŸãã