1. ããŒã¿ããŒã¹ãšã¯ïŒ
1.1. ããŒã¿ããŒã¹ã®å®çŸ©
ããŒã¿ããŒã¹ãšã¯ãæ å ±ãããŒã¿ãæŽçãã管çããæ€çŽ¢ããããããããã«ã·ã¹ãããã£ãã¯ã«æ§æãããããŒã¿ã®éåã§ããããŒã¿ããŒã¹ã¯ãã³ã³ãã¥ãŒã¿ã·ã¹ãã ãã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããããŒã¿ãæ§é åããæ ŒçŽããããšã§ãé¢é£ããæ å ±ã«è¿ éãã€å®¹æã«ã¢ã¯ã»ã¹ã§ããããã«ããŸããããŒã¿ããŒã¹ã®ç®çã¯ãããŒã¿ã®æŽåæ§ãç¶æããããŒã¿ã®è¿œå ãæŽæ°ãåé€ãæ€çŽ¢ãå¹ççã«è¡ãããšã§ãã
ããŒã¿ããŒã¹ã«ã¯ãããã¹ããæ°å€ãç»åãé³å£°ãåç»ãªã©ãããŸããŸãªããŒã¿åœ¢åŒãå«ãŸããããšããããŸãããŸããããŒã¿ããŒã¹ã¯éåžžãããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒDBMSïŒãšåŒã°ãããœãããŠã§ã¢ãä»ããŠæäœãããŸããDBMSã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ãç·šéãæ€çŽ¢ãä¿è·ããããã®æ©èœãæäŸããŸãã
ããŒã¿ããŒã¹ã®æ§é ã¯ãããŒã¿ã®æ ŒçŽæ¹æ³ãé¢é£æ§ã瀺ããã®ã§ããããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãéå±€åããŒã¿ããŒã¹ããããã¯ãŒã¯åããŒã¿ããŒã¹ããªããžã§ã¯ãæåããŒã¿ããŒã¹ãNoSQLããŒã¿ããŒã¹ãªã©ãããŸããŸãªåœ¢åŒãååšããŸãããããã®æ§é ã¯ãããŒã¿ã®æŽçæ¹æ³ãã¢ã¯ã»ã¹æ¹æ³ã«ãã£ãŠç°ãªããå©çšç®çãç¶æ³ã«å¿ããŠéžæãããŸãã
1.2. ããŒã¿ããŒã¹ã®æŽå²ãšçºå±
ããŒã¿ããŒã¹ã®æŽå²ã¯ã1950幎代ã«é¡ããŸããåœæã®ããŒã¿ããŒã¹ã¯ãéå±€åããããã¯ãŒã¯åãšãã£ãæ§é ãæã£ãŠããŸãããã1970幎代ã«ãšãã¬ãŒã»Fã»ã³ãããæå±ãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãç»å ŽããããŒã¿ããŒã¹æè¡ã«é©åœããããããŸããã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãããŒã¿ãè¡šïŒããŒãã«ïŒãšããŠæŽçããè¡šéã®é¢é£æ§ïŒãªã¬ãŒã·ã§ã³ã·ããïŒãå®çŸ©ããããšã§ãããŒã¿ã®æŽåæ§ãä¿ã¡ãªãããå¹ççãªããŒã¿æäœãå¯èœã«ããŸããããã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãçŸåšã§ãå€ãã®ã¢ããªã±ãŒã·ã§ã³ã§æ¡çšãããŠããŸãã
ãã®åŸãã€ã³ã¿ãŒãããã®æ®åã«äŒŽãã倧éã®ããŒã¿ãæ±ãå¿ èŠæ§ãé«ãŸããŸãããããã«å¯Ÿå¿ãããããåŸæ¥ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã ãã§ãªããããæè»ã§ã¹ã±ãŒã©ãã«ãªããŒã¿ããŒã¹æè¡ãæ±ããããããã«ãªããŸããããã®ããŒãºã«å¿ãã圢ã§ããªããžã§ã¯ãæåããŒã¿ããŒã¹ãNoSQLããŒã¿ããŒã¹ãšãã£ãæ°ããªããŒã¿ããŒã¹æè¡ãç»å ŽããŸããã
ãªããžã§ã¯ãæåããŒã¿ããŒã¹ã¯ãããŒã¿ãšããã«é¢é£ããæäœããªããžã§ã¯ããšããŠæ±ããããŒã¿ã®åå©çšæ§ãæ¡åŒµæ§ãåäžãããããšãç®çãšããŠããŸããäžæ¹ãNoSQLããŒã¿ããŒã¹ã¯ãåŸæ¥ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®å¶çŽãç·©åãããã倧èŠæš¡ãªããŒã¿ã»ãããé«éãªããŒã¿åŠçãå¯èœã«ããããšãç®æããŠããŸãã
ããŒã¿ããŒã¹æè¡ã¯ããããŸã§ã®æŽå²ãéããŠãæ§ã ãªããŒãºã«å¯Ÿå¿ããããã«é²åãç¶ããŠãããä»åŸãæ°ããªæè¡ãææ³ãç»å Žããããšãäºæ³ãããŸãã
1.3. ããŒã¿ããŒã¹ã®çš®é¡
ããŒã¿ããŒã¹ã«ã¯ãããŒã¿ã®æ ŒçŽæ¹æ³ãã¢ã¯ã»ã¹æ¹æ³ã«ãã£ãŠæ§ã ãªçš®é¡ãååšããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ã代衚çãªããŒã¿ããŒã¹ã®çš®é¡ã説æããŸãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãããŒã¿ãè¡šïŒããŒãã«ïŒåœ¢åŒã§æ ŒçŽããè¡šéã®é¢ä¿æ§ïŒãªã¬ãŒã·ã§ã³ã·ããïŒãå®çŸ©ããããšã§ãããŒã¿ã®æŽåæ§ãç¶æããªããå¹ççã«ããŒã¿ãæäœã§ããããã«èšèšãããŠããŸããSQLïŒStructured Query LanguageïŒãšããèšèªã䜿ã£ãŠããŒã¿ãæäœããããšãäžè¬çã§ããMySQLãPostgreSQLãªã©ã代衚çãªãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ãã
éå±€åããŒã¿ããŒã¹ã¯ãããŒã¿ã芪åé¢ä¿ïŒããªãŒæ§é ïŒã§è¡šçŸããäžã€ã®èŠªããŒã¿ã«è€æ°ã®åããŒã¿ãé¢é£ä»ããããæ§é ã§ãããã®ã¿ã€ãã®ããŒã¿ããŒã¹ã¯ãããŒã¿ã®æ€çŽ¢ãæŽæ°ãè¿ éã§ããäžæ¹ãããŒã¿ã®æ§é ãåºå®çã§ãããããæè»æ§ã«æ¬ ãããšãããŠããŸãã
ãããã¯ãŒã¯åããŒã¿ããŒã¹ã¯ãããŒã¿ãããŒããšãªã³ã¯ã§è¡šçŸããä»»æã®ããŒã¿éã«ãªã³ã¯ã匵ãããšãã§ããæ§é ã§ããéå±€åããŒã¿ããŒã¹ãšæ¯èŒããŠæè»æ§ãé«ããããè€éãªããŒã¿æ§é ãè¡šçŸããã®ã«é©ããŠããŸãããããŒã¿ã®æäœãè€éã«ãªãããšããããŸãã
ãªããžã§ã¯ãæåããŒã¿ããŒã¹ã¯ãããŒã¿ãšããã«é¢é£ããæäœïŒã¡ãœããïŒããªããžã§ã¯ããšããŠãŸãšãããªããžã§ã¯ãéã®é¢ä¿æ§ãè¡šçŸããããšã§ãããŒã¿ã®åå©çšæ§ãæ¡åŒµæ§ãåäžãããããšãç®çãšããŠããŸãããªããžã§ã¯ãæåããã°ã©ãã³ã°èšèªãšã®èŠªåæ§ãé«ããããã¢ããªã±ãŒã·ã§ã³éçºã®å¹çåãæåŸ ã§ããŸãã
NoSQLããŒã¿ããŒã¹ã¯ãåŸæ¥ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®å¶çŽãç·©åãã倧èŠæš¡ãªããŒã¿ã»ãããé«éãªããŒã¿åŠçãå¯èœã«ããããšãç®æããããŒã¿ããŒã¹ã§ããNoSQLããŒã¿ããŒã¹ã«ã¯ãããŒã»ããªã¥ãŒã¹ãã¢ãããã¥ã¡ã³ãã¹ãã¢ãã«ã©ã ãã¡ããªãŒã¹ãã¢ãã°ã©ãããŒã¿ããŒã¹ãªã©ã®çš®é¡ããããŸãããããã®ããŒã¿ããŒã¹ã¯ãã¹ã±ãŒã©ããªãã£ãæè»æ§ãé«ãããã倧èŠæš¡ãªããŒã¿åŠçãå¿ èŠãªã¢ããªã±ãŒã·ã§ã³ããå€åã«å¯Ÿå¿ããããããŒã¿ã¢ãã«ãæ±ããããã·ã¹ãã ã§å©çšãããŸãã
ãããã®ããŒã¿ããŒã¹ã®çš®é¡ã¯ãããããç°ãªãç¹åŸŽãšå©ç¹ããããŸããé©åãªããŒã¿ããŒã¹ãéžæããããšã§ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãããŒã¿ç®¡çã®å¹çãåäžãããããšãã§ããŸãããã®ãããã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ãããŒã¿ã®ç¹æ§ãèæ ®ããŠãæé©ãªããŒã¿ããŒã¹ãéžæããããšãéèŠã§ãã
2. ããŒã¿ããŒã¹ã®æ§é
2.1. ããŒãã«ã®æŠå¿µ
ããŒã¿ããŒã¹ã®åºæ¬çãªæ§æèŠçŽ ã§ããããŒãã«ã«ã€ããŠèª¬æããŸããããŒãã«ã¯ãããŒã¿ãæŽçããŠä¿åããããã®äºæ¬¡å ã®è¡šåœ¢åŒã§ããããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«ãããŠç¹ã«éèŠãªåœ¹å²ãæãããŸãã
ããŒãã«ã¯ãè¡ïŒã¬ã³ãŒãïŒãšåïŒãã£ãŒã«ãïŒããæ§æãããŸããè¡ã¯ãããããç¬ç«ããããŒã¿ãè¡šçŸããåã¯ããŒã¿ã®å±æ§ã瀺ããŸããäŸãã°ãåŸæ¥å¡æ å ±ã管çããããŒãã«ãèãããšãåè¡ã¯åã ã®åŸæ¥å¡ã«é¢ããããŒã¿ãè¡šããåã¯åŸæ¥å¡ã®ååã幎霢ãéšçœ²ãªã©ã®æ å ±ãæ ŒçŽããŸãã
ããŒãã«ã«ã¯ãäžæã«èå¥ã§ããããŒïŒäž»ããŒïŒãå¿ èŠã§ããäž»ããŒã¯ãåè¡ã«äžæã®å€ãæã€åã§ãããéè€ãèš±ãããŸãããäž»ããŒã䜿çšããããšã§ãå¹ççã«ããŒã¿ãæ€çŽ¢ãæŽæ°ãåé€ããããšãã§ããŸãã
ãŸããããŒãã«éã«ã¯ãªã¬ãŒã·ã§ã³ã·ããïŒé¢é£æ§ïŒãå®çŸ©ããããšãã§ããŸããããã«ãããããŒã¿ã®æŽåæ§ãä¿ã¡ãªãããç°ãªãããŒãã«ããããŒã¿ãçµåããŠæ å ±ãååŸããããšãå¯èœã«ãªããŸãããªã¬ãŒã·ã§ã³ã·ããã®äžäŸãšããŠãåŸæ¥å¡ããŒãã«ãšéšçœ²ããŒãã«ãèãããšãåŸæ¥å¡ããŒãã«ã®ãéšçœ²IDãåãšéšçœ²ããŒãã«ã®ãéšçœ²IDãåãé¢é£ä»ããããšã§ãããŒã¿ã®æŽåæ§ãä¿ã¡ã€ã€ãåŸæ¥å¡ãšéšçœ²ã®æ å ±ãçµåããŠååŸããããšãã§ããŸãã
ããŒãã«ã®æŠå¿µãç解ããããšã¯ãããŒã¿ããŒã¹ã®åºæ¬çãªæäœãããŒã¿ã®ç®¡çã«ãããŠéèŠã§ãã
2.2. ã«ã©ã ãšããŒã¿å
ããŒã¿ããŒã¹ã®ããŒãã«ã«ãããŠãã«ã©ã ã¯ããŒã¿ã®å±æ§ãè¡šçŸããããããã®ã«ã©ã ã«ã¯ããŒã¿åãèšå®ãããŠããŸããããŒã¿åã¯ãã«ã©ã ã«æ ŒçŽã§ããããŒã¿ã®çš®é¡ãšåœ¢åŒãæå®ãããã®ã§ãããŒã¿ã®æŽåæ§ãå¹ççãªããŒã¿åŠçãä¿èšŒããããã«éèŠãªåœ¹å²ãæãããŸãã
äžè¬çãªããŒã¿åã«ã¯ã以äžã®ãããªãã®ããããŸãã
- æŽæ°åïŒINTïŒïŒæŽæ°ãæ ŒçŽããããã®ããŒã¿åã§ã笊å·ä»ããŸãã¯ç¬Šå·ãªãã®æŽæ°ãè¡šçŸã§ããŸãã
- æµ®åå°æ°ç¹åïŒFLOAT, DOUBLEïŒïŒå°æ°ãæ ŒçŽããããã®ããŒã¿åã§ãæå¹æ°åãå°æ°ç¹ä»¥äžã®æ¡æ°ã«å¿ããŠéžæããŸãã
- æåååïŒCHAR, VARCHARïŒïŒæååãæ ŒçŽããããã®ããŒã¿åã§ãåºå®é·ïŒCHARïŒãšå¯å€é·ïŒVARCHARïŒããããŸãã
- æ¥ä»ã»æå»åïŒDATE, TIME, DATETIMEïŒïŒæ¥ä»ãæå»ãæ ŒçŽããããã®ããŒã¿åã§ãããããç°ãªã粟床ãç¯å²ã§æ¥ä»ãæå»ãè¡šçŸã§ããŸãã
- ããŒã«åïŒBOOLEANïŒïŒçåœå€ïŒçãŸãã¯åœïŒãæ ŒçŽããããã®ããŒã¿åã§ãæ¡ä»¶åŒã®è©äŸ¡çµæãªã©ã«äœ¿çšãããŸãã
ããŒã¿åãé©åã«èšå®ããããšã§ãããŒã¿ã®æŽåæ§ãä¿ã¡ãªãããããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãæé©åããããšãã§ããŸããäŸãã°ãæŽæ°åã®ã«ã©ã ã«æååãæ ŒçŽããããšãããšããšã©ãŒãçºçããããŒã¿ã®äžæŽåãé²ãããŸãã
ãŸããããŒã¿åã«ãã£ãŠã¯ãã«ã©ã ã«å¯ŸããŠå¶çŽãèšå®ããããšãã§ããŸããå¶çŽã¯ãããŒã¿ã®æŽåæ§ãä¿ã€ããã®ã«ãŒã«ã§ãäŸãã°ãNOT NULLãå¶çŽãèšå®ããããšã§ãã«ã©ã ã«NULLå€ïŒæªèšå®ã®å€ïŒãèš±å¯ããªãããã«ããããšãã§ããŸãã
ã«ã©ã ãšããŒã¿åã®èšå®ã¯ãããŒã¿ããŒã¹ã®å¹ççãªéçšã«ãããŠéèŠã§ãã
2.3. äž»ããŒãšå€éšããŒ
ããŒã¿ããŒã¹èšèšã«ãããŠãäž»ããŒïŒPrimary KeyïŒãšå€éšããŒïŒForeign KeyïŒã¯ãããŒã¿ã®äžææ§ãæŽåæ§ãä¿ã€ããã®éèŠãªæŠå¿µã§ãããããã®ããŒãç解ããé©åã«èšå®ããããšã§ãããŒã¿ããŒã¹ã®å¹ççãªéçšãå¯èœãšãªããŸãã
äž»ããŒ
äž»ããŒã¯ãããŒãã«å ã®åè¡ãäžæã«èå¥ããããã®ã«ã©ã ïŒãŸãã¯ã«ã©ã ã®çµã¿åããïŒã§ããäž»ããŒã«ã¯ä»¥äžã®ç¹åŸŽããããŸãã
- äžææ§ïŒäž»ããŒã®å€ã¯ãããŒãã«å ã®ãã¹ãŠã®è¡ã§äžæã§ãªããã°ãªããŸããã
- NOT NULLïŒäž»ããŒã®ã«ã©ã ã«NULLå€ã¯èš±å¯ãããŸããã
äž»ããŒã¯ãããŒã¿ããŒã¹å ã§ããŒã¿ãæ€çŽ¢ããããä»ã®ããŒãã«ãšã®é¢ä¿ãå®çŸ©ããéã«äœ¿çšãããŸããé©åãªäž»ããŒãéžæããããšã§ãããŒã¿ã®æŽåæ§ãä¿ã¡ãå¹ççãªããŒã¿åŠçãå¯èœãšãªããŸãã
å€éšããŒ
å€éšããŒã¯ãä»ã®ããŒãã«ã®äž»ããŒãåç §ããã«ã©ã ïŒãŸãã¯ã«ã©ã ã®çµã¿åããïŒã§ãããŒãã«éã®é¢ä¿ãå®çŸ©ããããã«äœ¿çšãããŸããå€éšããŒã«ãã£ãŠã以äžã®ãããªããŒã¿ã®æŽåæ§ãä¿ãããŸãã
- åç §æŽåæ§ïŒå€éšããŒã«èšå®ãããå€ã¯ãåç §å ã®ããŒãã«ã®äž»ããŒã«ååšããå€ã§ãªããã°ãªããŸããã
- ã«ã¹ã±ãŒãæäœïŒå€éšããŒå¶çŽãæºããããã«ãåç §å ã®ããŒãã«ã§ããŒã¿ãæŽæ°ãŸãã¯åé€ãããå Žåãé¢é£ããããŒãã«ã®ããŒã¿ãèªåçã«æŽæ°ãŸãã¯åé€ãããŸãã
äž»ããŒãšå€éšããŒãé©åã«èšå®ããããšã§ãããŒã¿ããŒã¹ã®å¹ççãªéçšãå¯èœãšãªããŸãããããã®æŠå¿µãç解ããé©åãªããŒã¿ããŒã¹èšèšãè¡ãããšãéèŠã§ãã
2.4. ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®æ£èŠå
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«ãããŠãæ£èŠåã¯ããŒã¿ã®ççŸãåé·æ§ãæé€ããå¹ççãªããŒã¿ããŒã¹èšèšãç®æãããã®éèŠãªããã»ã¹ã§ããæ£èŠåã«ãããããŒã¿ã®æŽåæ§ãä¿ãããããŒã¿ã®è¿œå ã»å€æŽã»åé€ãå¹ççã«è¡ããããã«ãªããŸããæ£èŠåã®éçšã§ã¯ãããŒãã«ãåå²ããé©åãªãªã¬ãŒã·ã§ã³ã·ãããèšå®ããããšã§ãããŒã¿ããŒã¹ã®å¹ççãªéçšãå¯èœãšãªããŸãã
æ£èŠåã«ã¯ãäž»ã«ä»¥äžã®æ®µéããããŸãã
第1æ£èŠåœ¢ïŒ1NFïŒ
第1æ£èŠåœ¢ã§ã¯ãããŒãã«å ã®ãã¹ãŠã®ã«ã©ã ãååçãªå€ïŒå解ã§ããªãåäœã®å€ïŒã§ããããšã確èªããŸããããã«ãããã«ã©ã å ã®ããŒã¿ã®äžè²«æ§ãä¿ãããŸãã
第2æ£èŠåœ¢ïŒ2NFïŒ
第2æ£èŠåœ¢ã§ã¯ãéšåçãªé¢æ°åŸå±ãååšããªãããšã確èªããŸããããã¯ãäž»ããŒãè€æ°ã®ã«ã©ã ããæ§æãããå ŽåãéããŒå±æ§ãäž»ããŒã®äžéšã«ã®ã¿é¢é£ããŠããç¶æ ãé¿ããããšãæå³ããŸããéšåçãªé¢æ°åŸå±ãæé€ããããšã§ãåé·æ§ãæžå°ããããŒã¿ã®æŽåæ§ãåäžããŸãã
第3æ£èŠåœ¢ïŒ3NFïŒ
第3æ£èŠåœ¢ã§ã¯ãæšç§»çé¢æ°åŸå±ãååšããªãããšã確èªããŸããããã¯ãããéããŒå±æ§ãä»ã®éããŒå±æ§ã«äŸåããŠããç¶æ ãé¿ããããšãæå³ããŸããæšç§»çé¢æ°åŸå±ãæé€ããããšã§ãåé·æ§ãããã«æžå°ããããŒã¿ã®æŽåæ§ã匷åãããŸãã
ãããã®æ£èŠåã®æ®µéãçµãããšã§ãããŒã¿ããŒã¹ã®èšèšãå¹çåãããããŒã¿ã®ççŸãåé·æ§ãæé€ãããŸãããã ããæ£èŠåã«ã¯ããã©ãŒãã³ã¹äžã®ã³ã¹ãã䌎ãããšããããç¶æ³ã«å¿ããŠé©åãªæ£èŠåã®çšåºŠãéžæããããšãéèŠã§ãã
3. SQLïŒStructured Query LanguageïŒã®åºæ¬
3.1. SQLãšã¯ïŒ
SQLïŒStructured Query LanguageïŒã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒRDBMSïŒã§ããŒã¿ã®æäœã管çãè¡ãããã®æšæºçãªããã°ã©ãã³ã°èšèªã§ããSQLãçšããããšã§ãããŒã¿ã®æ€çŽ¢ãè¿œå ãæŽæ°ãåé€ãããŒãã«ã®äœæãå€æŽãªã©ãããŒã¿ããŒã¹ã«é¢é£ããããŸããŸãªæäœãå¯èœãšãªããŸããSQLã¯ãããŒã¿ããŒã¹ç®¡çã®åéã§åºãæ®åããŠãããå€ãã®RDBMSãSQLããµããŒãããŠããŸãã
SQLã¯ã以äžã®ãããªäž»èŠãªã«ããŽãªã«åé¡ãããã³ãã³ããæäŸããŠããŸãã
ããŒã¿æäœèšèªïŒDMLïŒ
ããŒã¿æäœèšèªã¯ãããŒãã«å ã®ããŒã¿ã®æ€çŽ¢ãæäœãè¡ãã³ãã³ããæäŸããŠããŸããäž»ãªDMLã³ãã³ãã«ã¯ãSELECTïŒããŒã¿ã®æ€çŽ¢ïŒãINSERTïŒããŒã¿ã®è¿œå ïŒãUPDATEïŒããŒã¿ã®æŽæ°ïŒãDELETEïŒããŒã¿ã®åé€ïŒããããŸãã
ããŒã¿å®çŸ©èšèªïŒDDLïŒ
ããŒã¿å®çŸ©èšèªã¯ãããŒã¿ããŒã¹ãããŒãã«ã®æ§é ãå®çŸ©ã»å€æŽããã³ãã³ããæäŸããŠããŸããäž»ãªDDLã³ãã³ãã«ã¯ãCREATEïŒããŒã¿ããŒã¹ãããŒãã«ã®äœæïŒãALTERïŒããŒãã«æ§é ã®å€æŽïŒãDROPïŒããŒã¿ããŒã¹ãããŒãã«ã®åé€ïŒããããŸãã
ããŒã¿å¶åŸ¡èšèªïŒDCLïŒ
ããŒã¿å¶åŸ¡èšèªã¯ãããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹æš©ããã©ã³ã¶ã¯ã·ã§ã³ç®¡çãè¡ãã³ãã³ããæäŸããŠããŸããäž»ãªDCLã³ãã³ãã«ã¯ãGRANTïŒã¢ã¯ã»ã¹æš©ã®ä»äžïŒãREVOKEïŒã¢ã¯ã»ã¹æš©ã®åãæ¶ãïŒãCOMMITïŒãã©ã³ã¶ã¯ã·ã§ã³ã®ç¢ºå®ïŒãROLLBACKïŒãã©ã³ã¶ã¯ã·ã§ã³ã®åãæ¶ãïŒããããŸãã
ãããã®ã³ãã³ããçµã¿åãããããšã§ãããŒã¿ããŒã¹ã®å¹ççãªç®¡çãããŒã¿ã®æäœãå¯èœãšãªããŸãã次ã®ã»ã¯ã·ã§ã³ã§ã¯ãå ·äœçãªSQLã³ãã³ãã®äŸã玹ä»ããŸãã
3.2. SELECTæïŒããŒã¿ã®æœåº
SELECTæã¯ãããŒã¿ããŒã¹ããããŒã¿ãæ€çŽ¢ããŠæœåºããããã®SQLã³ãã³ãã§ããSELECTæã䜿ã£ãŠãç¹å®ã®æ¡ä»¶ã«äžèŽããããŒã¿ãååŸããããè€æ°ã®ããŒãã«ããé¢é£ããããŒã¿ãçµåããŠååŸããããšãã§ããŸããSELECTæã¯ã以äžã®ãããªåºæ¬çãªæ§æãæã£ãŠããŸãã
SELECT ã«ã©ã å1, ã«ã©ã å2, ... FROM ããŒãã«å WHERE æ€çŽ¢æ¡ä»¶;
äŸãšããŠãåŸæ¥å¡ããŒãã«ïŒemployeesïŒããæ°åïŒnameïŒãšéçšæ¥ïŒhire_dateïŒãååŸããã¯ãšãªã¯æ¬¡ã®ããã«ãªããŸãã
SELECT name, hire_date FROM employees;
ããã«ãæ€çŽ¢æ¡ä»¶ãè¿œå ããŠç¹å®ã®æ¡ä»¶ã«äžèŽããããŒã¿ãæœåºããããšãã§ããŸããäŸãã°ãåŸæ¥å¡ããŒãã«ãã絊äžïŒsalaryïŒã50,000以äžã®åŸæ¥å¡ã®æ°åãšçµŠäžãååŸããã¯ãšãªã¯æ¬¡ã®ããã«ãªããŸãã
SELECT name, salary FROM employees WHERE salary >= 50000;
ãŸããSELECTæã«ã¯ãORDER BYå¥ãGROUP BYå¥ãHAVINGå¥ãè¿œå ããããšã§ãçµæã®ãœãŒããã°ã«ãŒãã³ã°ãéèšé¢æ°ã®äœ¿çšãå¯èœã§ããäŸãã°ãéšéããšã«å¹³å絊äžãèšç®ããå¹³å絊äžãé«ãé ã«çµæã衚瀺ããã¯ãšãªã¯æ¬¡ã®ããã«ãªããŸãã
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department HAVING AVG(salary) >= 50000 ORDER BY average_salary DESC;
ãã®ããã«ãSELECTæã䜿ã£ãŠããŒã¿ããŒã¹ããå¿ èŠãªããŒã¿ãæè»ã«æœåºããããšãã§ããŸãã次ã®ã»ã¯ã·ã§ã³ã§ã¯ãããŒã¿ã®è¿œå ãæŽæ°ãåé€ãè¡ãããã®SQLã³ãã³ãã«ã€ããŠèª¬æããŸãã
3.3. INSERTæïŒããŒã¿ã®è¿œå
ããŒã¿ããŒã¹ã«æ°ããããŒã¿ãè¿œå ããããã«ã¯ãINSERTæã䜿çšããŸããINSERTæã¯ãæå®ããããŒãã«ã«æ°ããªè¡ïŒã¬ã³ãŒãïŒãè¿œå ããããšãã§ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãINSERTæã®åºæ¬æ§æãšãå ·äœçãªäœ¿ãæ¹ã«ã€ããŠèª¬æããŠãããŸãã
INSERTæã®åºæ¬æ§æã¯æ¬¡ã®ããã«ãªããŸãã
INSERT INTO ããŒãã«å (ã«ã©ã 1, ã«ã©ã 2, ..., ã«ã©ã n) VALUES (å€1, å€2, ..., å€n);
ããã§ãããŒãã«åã¯ããŒã¿ãè¿œå ããããŒãã«ãæå®ããã«ã©ã 1, ã«ã©ã 2, …, ã«ã©ã nã¯è¿œå ããããŒã¿ã®ã«ã©ã ãæå®ããŸããå€1, å€2, …, å€nã¯ãããããã®ã«ã©ã ã«è¿œå ããããŒã¿ã®å€ãæå®ããŸãã
äŸãšããŠã以äžã®ããŒãã«ããããšããŸãã
CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(255), age INT );
ãã®ããŒãã«ã«æ°ããããŒã¿ãè¿œå ããã«ã¯ã次ã®ãããªINSERTæã䜿çšããŸãã
INSERT INTO students (id, name, age) VALUES (1, 'Alice', 20);
äžèšã®INSERTæã«ãããstudentsããŒãã«ã«æ°ããªã¬ã³ãŒããè¿œå ãããidã1ãnameã’Alice’ãageã20ã®ããŒã¿ãç»é²ãããŸãã
INSERTæã䜿çšããŠè€æ°ã®ã¬ã³ãŒããäžåºŠã«è¿œå ããããšãå¯èœã§ãããã®å Žåã次ã®ãããªæ§æã䜿çšããŸãã
INSERT INTO ããŒãã«å (ã«ã©ã 1, ã«ã©ã 2, ..., ã«ã©ã n) VALUES (å€1, å€2, ..., å€n), (å€1, å€2, ..., å€n), ...;
äŸãã°ãstudentsããŒãã«ã«2ã€ã®ã¬ã³ãŒããè¿œå ããå Žåã以äžã®ããã«èšè¿°ããŸãã
INSERT INTO students (id, name, age) VALUES (2, 'Bob', 22), (3, 'Charlie', 24);
äžèšã®INSERTæã«ãããstudentsããŒãã«ã«2ã€ã®æ°ããªã¬ã³ãŒããè¿œå ãããŸããããŒã¿ã®è¿œå ãæåããå ŽåãéåžžãããŒã¿ããŒã¹ç®¡çã·ã¹ãã ã¯æåã¡ãã»ãŒãžãè¿ããŸãã
3.4. UPDATEæïŒããŒã¿ã®æŽæ°
ããŒã¿ããŒã¹å ã®æ¢åã®ããŒã¿ãå€æŽããå ŽåãUPDATEæã䜿çšããŸããUPDATEæã¯ãæå®ããæ¡ä»¶ã«äžèŽããã¬ã³ãŒãã®ããŒã¿ãæŽæ°ã§ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãUPDATEæã®åºæ¬æ§æãšäœ¿çšæ¹æ³ã説æããŸãã
UPDATEæã®åºæ¬æ§æã¯æ¬¡ã®ããã«ãªããŸãã
UPDATE ããŒãã«å SET ã«ã©ã 1 = å€1, ã«ã©ã 2 = å€2, ..., ã«ã©ã n = å€n WHERE æ¡ä»¶;
ããã§ãããŒãã«åã¯ããŒã¿ãæŽæ°ããããŒãã«ãæå®ããã«ã©ã 1, ã«ã©ã 2, …, ã«ã©ã nã¯æŽæ°ããããŒã¿ã®ã«ã©ã ãæå®ããŸããå€1, å€2, …, å€nã¯ãããããã®ã«ã©ã ã«èšå®ããæ°ããå€ãæå®ããŸããWHEREå¥ã«ã¯ãæŽæ°å¯Ÿè±¡ãšãªãã¬ã³ãŒããç¹å®ããæ¡ä»¶ãèšè¿°ããŸãã
äŸãšããŠã以äžã®ããŒãã«ããããšããŸãã
CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(255), age INT );
ãã®ããŒãã«ã®ããŒã¿ãæŽæ°ããã«ã¯ã次ã®ãããªUPDATEæã䜿çšããŸãã
UPDATE students SET age = 21 WHERE id = 1;
äžèšã®UPDATEæã«ãããstudentsããŒãã«ã®idã1ã®ã¬ã³ãŒãã®ageã21ã«æŽæ°ãããŸãã
UPDATEæã§ã¯ãè€æ°ã®ã«ã©ã ãåæã«æŽæ°ããããšãã§ããŸãããã®å Žåã次ã®ããã«èšè¿°ããŸãã
UPDATE ããŒãã«å SET ã«ã©ã 1 = å€1, ã«ã©ã 2 = å€2, ..., ã«ã©ã n = å€n WHERE æ¡ä»¶;
äŸãã°ãstudentsããŒãã«ã®idã1ã®ã¬ã³ãŒãã®nameãšageãåæã«æŽæ°ããå Žåã以äžã®ããã«èšè¿°ããŸãã
UPDATE students SET name = 'Alicia', age = 21 WHERE id = 1;
泚æç¹ãšããŠãWHEREå¥ãçç¥ãããšãå šãŠã®ã¬ã³ãŒããæŽæ°å¯Ÿè±¡ãšãªããŸããããã¯ãäºæããªãããŒã¿ã®å€æŽãåŒãèµ·ããå¯èœæ§ãããããã泚æãå¿ èŠã§ãã
3.5. DELETEæïŒããŒã¿ã®åé€
ããŒã¿ããŒã¹ããäžèŠãªããŒã¿ãåé€ããå ŽåãDELETEæã䜿çšããŸããDELETEæã¯ãæå®ããæ¡ä»¶ã«äžèŽããã¬ã³ãŒããããŒã¿ããŒã¹ããåé€ã§ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãDELETEæã®åºæ¬æ§æãšäœ¿çšæ¹æ³ã説æããŸãã
DELETEæã®åºæ¬æ§æã¯æ¬¡ã®ããã«ãªããŸãã
DELETE FROM ããŒãã«å WHERE æ¡ä»¶;
ããã§ãããŒãã«åã¯åé€ããããŒã¿ãæ ŒçŽãããŠããããŒãã«ãæå®ããWHEREå¥ã«ã¯åé€å¯Ÿè±¡ãšãªãã¬ã³ãŒããç¹å®ããæ¡ä»¶ãèšè¿°ããŸãã
äŸãšããŠã以äžã®ããŒãã«ããããšããŸãã
CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(255), age INT );
ãã®ããŒãã«ã®ããŒã¿ãåé€ããã«ã¯ã次ã®ãããªDELETEæã䜿çšããŸãã
DELETE FROM students WHERE id = 1;
äžèšã®DELETEæã«ãããstudentsããŒãã«ã®idã1ã®ã¬ã³ãŒããåé€ãããŸãã
DELETEæã䜿çšããéã®æ³šæç¹ãšããŠãWHEREå¥ãçç¥ãããšãå šãŠã®ã¬ã³ãŒããåé€å¯Ÿè±¡ãšãªããŸããããã¯ãäºæããªãããŒã¿ã®åé€ãåŒãèµ·ããå¯èœæ§ãããããã泚æãå¿ èŠã§ããå šãŠã®ã¬ã³ãŒããåé€ããå Žåã¯ãTRUNCATEæã䜿çšããããšãã§ããŸãã
ãŸããããŒã¿ããŒã¹ã«ãã£ãŠã¯ãåé€ãããããŒã¿ã®åŸ©å ãå°é£ãªå ŽåããããŸããããŒã¿ãåé€ããåã«ãå¿ èŠã«å¿ããŠããã¯ã¢ãããååŸããããšãæ€èšããŠãã ããã
3.6. JOINïŒè€æ°ããŒãã«ã®çµå
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ã¯ãããŒã¿ãè€æ°ã®ããŒãã«ã«åæ£ããŠæ ŒçŽãããããšããããŸãããã®ãããããŒã¿ãååŸããéã«ãè€æ°ã®ããŒãã«ããå¿ èŠãªæ å ±ãçµåããŠåãåºãå¿ èŠããããŸãããã®ãããªå Žåã«äœ¿çšããã®ããJOINã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãJOINã®åºæ¬çãªæŠå¿µãšäœ¿çšæ¹æ³ã説æããŸãã
JOINã«ã¯ããã€ãã®çš®é¡ããããŸãããããã§ã¯äž»ã«INNER JOINãšLEFT JOINã«ã€ããŠèª¬æããŸãã
INNER JOINã¯ãçµåæ¡ä»¶ã«äžèŽããã¬ã³ãŒãã®ã¿ãçµæãšããŠè¿ãçµåæ¹æ³ã§ããåºæ¬æ§æã¯ä»¥äžã®ããã«ãªããŸãã
SELECT ã«ã©ã å FROM ããŒãã«1 INNER JOIN ããŒãã«2 ON çµåæ¡ä»¶;
äŸãšããŠã以äžã®2ã€ã®ããŒãã«ããããšããŸãã
CREATE TABLE customers ( id INT PRIMARY KEY, name VARCHAR(255) ); CREATE TABLE orders ( id INT PRIMARY KEY, customer_id INT, product_name VARCHAR(255) );
ãããã®ããŒãã«ãINNER JOINã§çµåããã«ã¯ã以äžã®ããã«ããŸãã
SELECT customers.name, orders.product_name FROM customers INNER JOIN orders ON customers.id = orders.customer_id;
ãã®ã¯ãšãªã¯ãcustomersããŒãã«ãšordersããŒãã«ãçµåããäž¡æ¹ã®ããŒãã«ã§äžèŽããcustomer_idã®ã¬ã³ãŒããè¿ããŸãã
äžæ¹ãLEFT JOINã¯ãçµåæ¡ä»¶ã«äžèŽããªãã¬ã³ãŒããå«ããŠçµæãè¿ãçµåæ¹æ³ã§ããåºæ¬æ§æã¯ä»¥äžã®ããã«ãªããŸãã
SELECT ã«ã©ã å FROM ããŒãã«1 LEFT JOIN ããŒãã«2 ON çµåæ¡ä»¶;
å çšã®ããŒãã«ãLEFT JOINã§çµåããã«ã¯ã以äžã®ããã«ããŸãã
SELECT customers.name, orders.product_name FROM customers LEFT JOIN orders ON customers.id = orders.customer_id;
ãã®ã¯ãšãªã¯ãcustomersããŒãã«ã®å šãŠã®ã¬ã³ãŒããè¿ããçµåæ¡ä»¶ã«äžèŽããordersããŒãã«ã®ã¬ã³ãŒããçµæã«å«ããŸããäžèŽããªãå Žåã¯ãNULLå€ãè¿ãããŸãã
JOINã䜿çšããããšã§ãè€æ°ã®ããŒãã«ããé¢é£ããããŒã¿ãå¹ççã«ååŸã§ããŸããããŒã¿ããŒã¹èšèšãã¯ãšãªã®æé©åã«ãããŠãé©åãªJOINæ¹æ³ãéžæããããšãéèŠã§ãã
4. ããŒã¿ããŒã¹ã®èšèšãšã¢ããªã³ã°
4.1. ããŒã¿ããŒã¹èšèšã®ããã»ã¹
ããŒã¿ããŒã¹èšèšã¯ãããŒã¿ããŒã¹ã·ã¹ãã ã®å¹ççãªéçšãšæ å ±ç®¡çã®ããã«è¡ãããéèŠãªããã»ã¹ã§ããããŒã¿ããŒã¹èšèšã®ç®çã¯ãããŒã¿ã®æŽçãšã¢ã¯ã»ã¹æ§ãåäžãããããšã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãããŒã¿ããŒã¹èšèšã®ããã»ã¹ã«ã€ããŠèª¬æããŸãã
ããŒã¿ããŒã¹èšèšã®ããã»ã¹ã¯ã倧ãŸãã«ä»¥äžã®3ã€ã®ã¹ãããã«åããããŸãã
- èŠä»¶å®çŸ©
- è«çèšèš
- ç©çèšèš
1. èŠä»¶å®çŸ©ã¯ãããŒã¿ããŒã¹ã解決ãã¹ã課é¡ãèŠæ±ãæ確ã«ããããã«è¡ãããŸãããã®æ®µéã§ã¯ãããŒã¿ã®çš®é¡ãé¢ä¿ããŠãŒã¶ãŒã®èŠæ±ãã»ãã¥ãªãã£èŠä»¶ãªã©ãç¹å®ããŸããèŠä»¶å®çŸ©ãæ£ç¢ºã§ããããšããããŒã¿ããŒã¹èšèšã®æåã«ãšã£ãŠéèŠã§ãã
2. è«çèšèšã§ã¯ãèŠä»¶å®çŸ©ã§ç¹å®ãããæ å ±ãããšã«ãããŒã¿ããŒã¹ã®æ§é ã決å®ããŸãããã®æ®µéã§ã¯ããšã³ãã£ãã£ãå±æ§ããªã¬ãŒã·ã§ã³ã·ãããç¹å®ããERå³ïŒEntity-Relationship DiagramïŒãäœæããŸãããŸããæ£èŠåãè¡ã£ãŠããŒã¿ã®éè€ãåé·æ§ãæé€ããå¹ççãªããŒã¿ããŒã¹æ§é ãç®æããŸãã
3. ç©çèšèšã¯ãè«çèšèšã§å®çŸ©ãããæ§é ãå®éã®ããŒã¿ããŒã¹ã·ã¹ãã ã«å®è£ ãã段éã§ãããã®ã¹ãããã§ã¯ãããŒãã«ã®äœæãã€ã³ããã¯ã¹ã®èšå®ãã¹ãã¬ãŒãžæ§æãããã©ãŒãã³ã¹æé©åãªã©ãè¡ãããŸãã
ããŒã¿ããŒã¹èšèšã®ããã»ã¹ã¯ãããŒã¿ããŒã¹ã®å¹çæ§ãæ¡åŒµæ§ã«å€§ããªåœ±é¿ãäžããŸããé©åãªèšèšãè¡ãããããšã§ãããŒã¿ããŒã¹ã·ã¹ãã ã®ããã©ãŒãã³ã¹ãåäžããããŒã¿ç®¡çã容æã«ãªããŸãã
ãšã³ãã£ãã£ã«ã¯ããæ°åãããäœæãããé»è©±çªå·ããªã©ã®å±æ§ããããŸããERå³ã§ã¯ãæ¥å圢ã§è¡šçŸããã察å¿ãããšã³ãã£ãã£ã«ç·ã§æ¥ç¶ãããŸãã
3. ãªã¬ãŒã·ã§ã³ã·ããïŒRelationshipïŒã¯ããšã³ãã£ãã£éã®é¢ä¿ã瀺ããŸãããªã¬ãŒã·ã§ã³ã·ããã¯ãäžå¯Ÿäžãäžå¯Ÿå€ãå€å¯Ÿå€ãªã©ã®é¢ä¿æ§ãæã€ããšããããŸããäŸãã°ãã顧客ããšã泚æãã®éã«ã¯ãã顧客ã泚æãè¡ãããšããäžå¯Ÿå€ã®ãªã¬ãŒã·ã§ã³ã·ããããããŸããERå³ã§ã¯ãè±åœ¢ã§è¡šçŸãããé¢é£ãããšã³ãã£ãã£ã«ç·ã§æ¥ç¶ãããŸãã
ERå³ãäœæããéã«ã¯ããŸããšã³ãã£ãã£ãç¹å®ããããã«å¯Ÿå¿ããå±æ§ãå²ãåœãŠãŸãã次ã«ããšã³ãã£ãã£éã®ãªã¬ãŒã·ã§ã³ã·ãããç¹å®ããé¢ä¿æ§ãæ確ã«ããŸããæåŸã«ãERå³ãèŠçŽããççŸãäžè¶³ããªãã確èªããŸãã
ERå³ãäœæããããšã§ãããŒã¿ããŒã¹ã®æ§é ãèŠèŠçã«æ確ã«ãªããéçºè ãé¢ä¿è éã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ãåæ»ã«ãªããŸãããŸããèšèšæ®µéã§ã®èª€ããåé¡ç¹ã®ç¹å®ã容æã«ãªããåŸã«ãªã£ãŠããã®ä¿®æ£äœæ¥ãæå°éã«æããããšãã§ããŸãã
ããã«ãERå³ãããšã«å®éã®ããŒã¿ããŒã¹ã¹ããŒããçæããããšãå¯èœã§ãéçºè ã¯ãã®ã¹ããŒãã䜿ã£ãŠããŒã¿ããŒã¹ã®æ§ç¯ãã¢ããªã±ãŒã·ã§ã³ã®éçºãé²ããããšãã§ããŸãã
ERå³ã®äœæã«ã¯ãå°çšã®ãœãããŠã§ã¢ããªã³ã©ã€ã³ããŒã«ãå©çšã§ããŸãããããã®ããŒã«ãå©çšããããšã§ãERå³ãç°¡åã«äœæããç·šéãå ±æãå¯èœã«ãªããŸãã
ããŒã¿ããŒã¹èšèšã«ãããŠãERå³ã¯éèŠãªåœ¹å²ãæãããŸããé©åãªERå³ãäœæããããšã§ãããŒã¿ããŒã¹ã®æ§é ãå¹ççã«èšèšããã¢ããªã±ãŒã·ã§ã³éçºãåæ»ã«é²ããããšãã§ããŸãã
4.3. ããŒã¿ããŒã¹ã®æ£èŠå
ããŒã¿ããŒã¹èšèšã«ãããŠãããŒã¿ã®éè€ãåé·æ§ãæé€ããããŒã¿ã®æŽåæ§ãä¿ã€ããã«è¡ãããã»ã¹ãæ£èŠåã§ããæ£èŠåã«ã¯ãäž»ã«ç¬¬1æ£èŠåœ¢ïŒ1NFïŒã第2æ£èŠåœ¢ïŒ2NFïŒã第3æ£èŠåœ¢ïŒ3NFïŒã®3ã€ã®æ®µéããããŸãããããã®æ®µéãçµãããšã§ãããŒã¿ããŒã¹ã®èšèšãããå¹ççã§æè»ã«ãªããããŒã¿ã®è¿œå ãåé€ãæŽæ°ã容æã«ãªããŸãã
第1æ£èŠåœ¢ïŒ1NFïŒã¯ãåã«ã©ã ãååçãªå€ãæã€ããã«ããããšã§ããã€ãŸããã«ã©ã ã«ã¯åäžã®å€ãæ ŒçŽããããªã¹ããéåãªã©è€æ°ã®å€ãæããªãããã«ããŸããããã«ãããããŒã¿ã®éè€ãäžæŽåãé²ããŸãã
第2æ£èŠåœ¢ïŒ2NFïŒã¯ã1NFãæºããåæã§ãéšåé¢æ°åŸå±ïŒäžéšã®ããŒã«ã ãåŸå±ããå±æ§ïŒãæé€ããŸããããã«ãããããŒã¿ã®åé·æ§ãäœæžãããããŒã¿ã®è¿œå ãåé€ãæŽæ°ã容æã«ãªããŸãã
第3æ£èŠåœ¢ïŒ3NFïŒã¯ã2NFãæºããåæã§ãæšç§»çé¢æ°åŸå±ïŒä»ã®å±æ§ãä»ããŠåŸå±ããå±æ§ïŒãæé€ããŸããããã«ãããããã«ããŒã¿ã®åé·æ§ãäœæžãããããŒã¿ã®æŽåæ§ãåäžããŸãã
æ£èŠåãé©åã«è¡ãããšã§ãããŒã¿ããŒã¹èšèšãå¹ççã«ãªããããŒã¿ã®æäœã容æã«ãªããŸãããã ããæ£èŠåã«ã¯ããã©ãŒãã³ã¹é¢ã§ã®ãã¬ãŒããªããååšãããããå®éã®ã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ã«å¿ããŠé©åãªæ£èŠåã®ã¬ãã«ãéžæããããšãéèŠã§ãã
4.4. èšèšäžã®ãã¬ãŒããªããšæé©å
ããŒã¿ããŒã¹èšèšã§ã¯ãå€ãã®å Žåãããã©ãŒãã³ã¹ãæè»æ§ãæŽåæ§ã®éã«ãã¬ãŒããªããååšããŸãããããã®èŠçŽ ãæé©åããé©åãªãã©ã³ã¹ãèŠã€ããããšãéèŠã§ãã以äžã§ã¯ãããã€ãã®äžè¬çãªãã¬ãŒããªããšæé©åã®ãã€ã³ãã説æããŸãã
æ£èŠåãšããã©ãŒãã³ã¹ïŒæ£èŠåãè¡ãããšã§ãããŒã¿ã®æŽåæ§ãæè»æ§ãåäžããŸãããäžæ¹ã§ãè€æ°ã®ããŒãã«ãçµåããå¿ èŠãçããããã©ãŒãã³ã¹ãäœäžããããšããããŸããããã解決ããæ¹æ³ã®äžã€ãšããŠãé©åãªã€ã³ããã¯ã¹ãäœæããããšãæããããŸããã€ã³ããã¯ã¹ã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ãé«éã«æ€çŽ¢ããããã®æ§é ã§ãããé©åã«èšèšãããã€ã³ããã¯ã¹ã¯ãããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸãã
åæ£ããŒã¿ããŒã¹ãšäžè²«æ§ïŒåæ£ããŒã¿ããŒã¹ã¯ãããŒã¿ãè€æ°ã®ãµãŒããŒã«åæ£ãããããšã§ãããã©ãŒãã³ã¹ãå¯çšæ§ãåäžãããããšãã§ããŸãããã ããåæ£ç°å¢ã§ã¯ãããŒã¿ã®äžè²«æ§ãç¶æããããšãé£ãããªãå ŽåããããŸãããã®åé¡ã«å¯ŸåŠããããã«ã¯ãåæ£ããŒã¿ããŒã¹ã®èšèšã«ãããŠãäžè²«æ§ã®èŠä»¶ãæ確ã«å®ããé©åãªåæ£ã¢ã«ãŽãªãºã ãéžæããããšãéèŠã§ãã
ã¹ã±ãŒã©ããªãã£ãšéçšã³ã¹ãïŒããŒã¿ããŒã¹ã®ã¹ã±ãŒã©ããªãã£ã¯ãããŒã¿éãã¢ã¯ã»ã¹æ°ã®å¢å ã«å¯Ÿå¿ã§ããèœåã§ããã¹ã±ãŒã©ããªãã£ãåäžãããããšã§ãããã©ãŒãã³ã¹ãå¯çšæ§ãé«ãŸããŸãããäžæ¹ã§ãéçšã³ã¹ããå¢å ããããšããããŸããéçšã³ã¹ããæé©åããããã«ã¯ãããŒã¿ããŒã¹ã®å®¹éãã©ã³ãã³ã°ãè¡ãããªãœãŒã¹ã®å©çšå¹çãé«ããããšãéèŠã§ãã
以äžã®ããã«ãããŒã¿ããŒã¹èšèšã«ãããŠã¯ãæ§ã ãªãã¬ãŒããªããååšããŸããæé©ãªèšèšãå®çŸããããã«ã¯ããããã®ãã¬ãŒããªããç解ãããããžã§ã¯ãã®èŠä»¶ã«åºã¥ããŠãã©ã³ã¹ãèŠã€ããããšãéèŠã§ãã
èŠä»¶åæãšåŠ¥åïŒããŒã¿ããŒã¹èšèšã®åæ段éã§ã¯ãã·ã¹ãã ã®èŠä»¶ãæ確ã«å®çŸ©ããããšãéèŠã§ããèŠä»¶åæãéããŠãã·ã¹ãã ãéæãã¹ãç®æšããŠãŒã¶ãŒã®ããŒãºãææ¡ããããã«åºã¥ããŠèšèšãè¡ãããšãæ±ããããŸãããã ããçŸå®çãªå¶çŽãååšãããããå šãŠã®èŠä»¶ãæºããããšã¯é£ããå ŽåããããŸãããã®ããã劥åãè¡ããªãããæãéèŠãªèŠçŽ ã«çŠç¹ãåœãŠãŠèšèšãé²ããããšãå¿ èŠã§ãã
æ§èœãã¥ãŒãã³ã°ïŒããŒã¿ããŒã¹ã®èšèšãå®äºããåŸããæ§èœãã¥ãŒãã³ã°ã¯ç¶ç¶çã«è¡ãã¹ãããã»ã¹ã§ããå®éã®éçšç¶æ³ãã¢ãã¿ãªã³ã°ããããã©ãŒãã³ã¹ã®åé¡ãçºçããå Žåã«ã¯ãã€ã³ããã¯ã¹ã®èŠçŽããã¯ãšãªã®æé©åãªã©ãæ§ã ãªææ³ãçšããŠå¯ŸåŠããããšãæ±ããããŸãã
ããŒã¿ããŒã¹èšèšã«ãããŠã¯ããã¬ãŒããªããšæé©åãçæ ®ããªãããã·ã¹ãã ã®èŠä»¶ãéæããããã®æé©ãªè§£æ±ºçãèŠã€ãåºãããšãéèŠã§ããããã«ãããå¹ççã§ä¿¡é Œæ§ã®é«ãããŒã¿ããŒã¹ã·ã¹ãã ãå®çŸããããšãå¯èœãšãªããŸãã
5. ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒDBMSïŒã®æŠèŠ
5.1. DBMSãšã¯ïŒ
ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒDatabase Management SystemãDBMSïŒãšã¯ãããŒã¿ããŒã¹ãå¹ççã«æäœã管çããããã®ãœãããŠã§ã¢ã®ããšã§ããDBMSã¯ãããŒã¿ã®æ ŒçŽãååŸãæŽæ°ãåé€ãšãã£ãåºæ¬çãªæäœããµããŒãããè€æ°ã®ãŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ãåæã«ã¢ã¯ã»ã¹ã§ããããã«ããŸãã
DBMSã®äž»ãªæ©èœã¯ä»¥äžã®éãã§ãã
- ããŒã¿ã®æ°žç¶æ§ïŒããŒã¿ããã£ã¹ã¯ãªã©ã®æ°žç¶çãªã¹ãã¬ãŒãžã«ä¿åããã·ã¹ãã ã®åæ¢ãé害ãçºçããŠãããŒã¿ãä¿è·ããŸãã
- ããŒã¿ã®æŽåæ§ïŒããŒã¿ã®ç¶æ ãäžè²«ããŠä¿æããããšã§ãããŒã¿ã®ä¿¡é Œæ§ãç¶æããŸããããã«ã¯ããã©ã³ã¶ã¯ã·ã§ã³ç®¡çãå¶çŽã®å®çŸ©ãªã©ãå«ãŸããŸãã
- ããŒã¿ã®å®å šæ§ïŒããŒã¿ãžã®ã¢ã¯ã»ã¹æš©éãå¶åŸ¡ããäžæ£ãªã¢ã¯ã»ã¹ãæ å ±æŒæŽ©ãé²ãããã®ã»ãã¥ãªãã£æ©èœãæäŸããŸãã
- ããŒã¿ã®åæã¢ã¯ã»ã¹å¶åŸ¡ïŒè€æ°ã®ãŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ãåæã«ããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããéãããŒã¿ã®æŽåæ§ãä¿ã¡ãªããã¢ã¯ã»ã¹ã調æŽããŸãã
- ããŒã¿ã®æœè±¡åïŒããŒã¿ããŒã¹ã®å éšæ§é ãå®è£ 詳现ãé èœãããŠãŒã¶ãŒã«ã¯ããŒã¿ã®æäœãè¡šçŸã«é¢ããæœè±¡çãªã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãã
DBMSã«ã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒRDBMSïŒãNoSQLããŒã¿ããŒã¹ç®¡çã·ã¹ãã ããªããžã§ã¯ãæåããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒOODBMSïŒãªã©ãããŸããŸãªçš®é¡ããããŸããããããã®DBMSã¯ãããŒã¿ã®æ§é ãã¢ã¯ã»ã¹æ¹æ³ã«ç¹åŸŽããããçšéãèŠä»¶ã«å¿ããŠéžæãããŸãã
5.2. äž»èŠãªDBMSã®æ¯èŒ
ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒDBMSïŒã¯ãããŒã¿ã®æ§é ãã¢ã¯ã»ã¹æ¹æ³ã«ãã£ãŠåé¡ãããããšãå€ããããããã®ã·ã¹ãã ã«ã¯ç¬èªã®ç¹åŸŽãšå©ç¹ããããŸããããã§ã¯ãäž»èŠãªDBMSã®çš®é¡ãšããããã®ç¹åŸŽãæ¯èŒããŸãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒRDBMSïŒ
RDBMSã¯ãããŒã¿ãè¡šïŒããŒãã«ïŒã®åœ¢åŒã§ä¿åããSQLèšèªãçšããŠæäœããŸããRDBMSã®ç¹åŸŽã¯ãããŒã¿ã®æŽåæ§ãäžè²«æ§ãä¿ã€ããã®æ©èœã匷åã§ããããšã§ããäž»èŠãªRDBMSã«ã¯ãOracle DatabaseãMicrosoft SQL ServerãMySQLãPostgreSQLãªã©ããããŸãã
NoSQLããŒã¿ããŒã¹ç®¡çã·ã¹ãã
NoSQLããŒã¿ããŒã¹ã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšã¯ç°ãªãããŒã¿æ§é ãæ¡çšããŠãããã¹ã±ãŒã©ããªãã£ãããã©ãŒãã³ã¹ã«åªããŠããŸããNoSQLããŒã¿ããŒã¹ã«ã¯ã以äžã®ãããªçš®é¡ããããŸãã
- ããã¥ã¡ã³ãæåããŒã¿ããŒã¹ïŒäŸïŒMongoDBãCouchDBïŒïŒJSON圢åŒãªã©ã®ããã¥ã¡ã³ã圢åŒã§ããŒã¿ãä¿åããŸãã
- ããŒã»ããªã¥ãŒåããŒã¿ããŒã¹ïŒäŸïŒRedisãAmazon DynamoDBïŒïŒåçŽãªããŒãšå€ã®ãã¢ã§ããŒã¿ãä¿åããŸãã
- ã«ã©ã ãã¡ããªåããŒã¿ããŒã¹ïŒäŸïŒApache CassandraãHBaseïŒïŒã«ã©ã ãã¡ããªãšåŒã°ããããŒã¿æ§é ãçšããŠã倧éã®ããŒã¿ãåæ£ããŠä¿åããŸãã
- ã°ã©ãããŒã¿ããŒã¹ïŒäŸïŒNeo4jãAmazon NeptuneïŒïŒã°ã©ãæ§é ãçšããŠãããŒã¿éã®é¢ä¿æ§ãè¡šçŸããŸãã
ãªããžã§ã¯ãæåããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒOODBMSïŒ
OODBMSã¯ããªããžã§ã¯ãæåããã°ã©ãã³ã°èšèªãšã®èŠªåæ§ãé«ããããŒã¿ãšåŠçãäžã€ã®ãªããžã§ã¯ããšããŠæ±ããŸããããã«ãããè€éãªããŒã¿æ§é ãç¶æ¿ãªã©ã®ãªããžã§ã¯ãæåã®æŠå¿µãçŽæ¥ããŒã¿ããŒã¹ã«åæ ããããšãã§ããŸãã代衚çãªOODBMSã«ã¯ãdb4oãObjectDBãªã©ããããŸãã
ãããã®DBMSãéžæããéã«ã¯ã以äžã®ãããªèŠçŽ ãèæ ®ããããšãéèŠã§ãã
- çšéïŒããŒã¿ããŒã¹ãã©ã®ãããªç®çã§äœ¿çšããããã«ãã£ãŠãé©åãªDBMSãå€ãããŸããäŸãã°ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯æŽåæ§ãéèŠãªæ¥åã·ã¹ãã ã«åããŠããŸããã倧éã®ããŒã¿ãå¹ççã«åŠçãããå Žåã¯NoSQLããŒã¿ããŒã¹ãé©åãªéžæã«ãªããŸãã
- ã¹ã±ãŒã©ããªãã£ïŒããŒã¿ããŒã¹ã®ãµã€ãºã倧ãããªãã«ã€ããŠãããã©ãŒãã³ã¹ãäœäžããªãããã«ãé©åãªDBMSãéžã¶ããšãéèŠã§ããäŸãã°ãåæ£åããŒã¿ããŒã¹ã®Apache CassandraãAmazon DynamoDBã¯ãã¹ã±ãŒã©ããªãã£ã«åªããŠããŸãã
- ã³ã¹ãïŒããŒã¿ããŒã¹ç®¡çã·ã¹ãã ã«ã¯ããªãŒãã³ãœãŒã¹ã®ãã®ããåçšã®ãã®ãŸã§ããŸããŸãªçš®é¡ããããŸããç·ææã³ã¹ãïŒTCOïŒãèæ ®ããŠãé©åãªDBMSãéžã¶ããšãéèŠã§ãã
- ãµããŒããšã³ãã¥ããã£ïŒããŒã¿ããŒã¹ç®¡çã·ã¹ãã ã®ãµããŒããã³ãã¥ããã£ã掻çºã§ããããšã¯ããã©ãã«ã·ã¥ãŒãã£ã³ã°ãç¥èã®å ±æã«åœ¹ç«ã¡ãŸãããŸããææã®ãµããŒããæäŸãããŠããå Žåãããžãã¹ã«ãããŠéèŠãªã¢ããªã±ãŒã·ã§ã³ã§ã®ä¿¡é Œæ§ãåäžããŸãã
以äžã®ãã€ã³ããèæ ®ããŠããããžã§ã¯ããã¢ããªã±ãŒã·ã§ã³ã«æé©ãªDBMSãéžæããããšããããŒã¿ããŒã¹ãå¹æçã«æŽ»çšããããã®éµãšãªããŸãã
5.3. ãªãŒãã³ãœãŒã¹DBMSã®å©çš
ãªãŒãã³ãœãŒã¹ã®ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒDBMSïŒã¯ãããŒã¿ãæ ŒçŽãååŸãæäœããããã®ãœãããŠã§ã¢ã·ã¹ãã ã§ããã®ãœãŒã¹ã³ãŒããå ¬ã«å©çšå¯èœã§ãããã®ãæããŸããããã«ã¯ãMySQLãPostgreSQLãMongoDBãªã©ããããŸãããªãŒãã³ãœãŒã¹DBMSã®å©çšã«ã¯ãã³ã¹ãã®ç¯çŽãèªç±ãªã«ã¹ã¿ãã€ãºãã³ãã¥ããã£ã®ãµããŒããªã©ãå€ãã®å©ç¹ããããŸãã
ãªãŒãã³ãœãŒã¹DBMSã®å©ç¹
- çµæžçïŒãªãŒãã³ãœãŒã¹DBMSã¯åºæ¬çã«ç¡æã§å©çšã§ããŸããããã¯ãç¹ã«åææè³ãæãããã¹ã¿ãŒãã¢ãããäžå°äŒæ¥ã«ãšã£ãŠå€§ããªå©ç¹ãšãªããŸãã
- ã«ã¹ã¿ãã€ãºå¯èœïŒãªãŒãã³ãœãŒã¹DBMSã¯ãœãŒã¹ã³ãŒããå ¬éãããŠãããããå¿ èŠã«å¿ããŠã«ã¹ã¿ãã€ãºããããšãå¯èœã§ããããã«ãããäŒæ¥ã¯èªç€Ÿã®ããŒãºã«åãããŠDBMSã調æŽããããšãã§ããŸãã
- ã³ãã¥ããã£ãµããŒãïŒãªãŒãã³ãœãŒã¹DBMSã¯å€§ããªã³ãã¥ããã£ã«ãã£ãŠãµããŒããããŠããŸããããã«ãããåé¡ãçºçããéã«ã¯ãã®è§£æ±ºçãå ±æããå ŽãæäŸãããŸãã
ãªãŒãã³ãœãŒã¹DBMSã®äŸ
以äžã«ãäžè¬çãªãªãŒãã³ãœãŒã¹DBMSã®äŸã瀺ããŸãã
DBMSå | ç¹åŸŽ |
---|---|
MySQL | æãåºã䜿çšãããŠãããªãŒãã³ãœãŒã¹DBMSã®äžã€ã§ãWebã¢ããªã±ãŒã·ã§ã³ã®ããã¯ãšã³ããšããŠãã䜿çšãããŸãã |
PostgreSQL | è±å¯ãªæ©èœãšæ¡åŒµæ§ãåãããªãŒãã³ãœãŒã¹ã®é¢ä¿ããŒã¿ããŒã¹ã·ã¹ãã ã§ãæšæºSQLã®å€§éšåããµããŒãããŠããŸãã |
MongoDB | ã¹ã±ãŒã©ããªãã£ãšæè»æ§ã«åªããNoSQLããŒã¿ããŒã¹ã§ã倧éã®ããŒã¿ãå¹ççã«æ±ãããšãå¯èœã§ãã |
ãªãŒãã³ãœãŒã¹DBMSã¯ããããã®ãããªç¹åŸŽãæã€ãããåã ã®ãããžã§ã¯ããããžãã¹ã®ããŒãºã«å¿ããŠé©åãªãã®ãéžæããããšãå¯èœã§ãã
ãªãŒãã³ãœãŒã¹DBMSã®éžæ
ãªãŒãã³ãœãŒã¹DBMSãéžæããéã«ã¯ã以äžã®ç¹ãèæ ®ãããšè¯ãã§ãããã
- ããã©ãŒãã³ã¹ïŒã©ã®DBMSãå¿ èŠãªããã©ãŒãã³ã¹ãæäŸã§ãããã調æ»ããŸããããã«ã¯ãããŒã¿ã®éãã¯ãšãªã®è€éããå¿ èŠãªã¬ã¹ãã³ã¹æéãªã©ãå«ãŸããŸãã
- æ¡åŒµæ§ïŒDBMSãå°æ¥çãªæé·ã«å¯Ÿå¿ã§ãããã©ãããè©äŸ¡ããŸããããã¯ãããŒã¿éã®å¢å ããŠãŒã¶ãŒæ°ã®å¢å ã«å¯Ÿå¿ã§ããèœåãæå³ããŸãã
- ã»ãã¥ãªãã£ïŒããŒã¿ã®å®å šæ§ã確ä¿ããããã«ãDBMSãã©ã®çšåºŠã®ã»ãã¥ãªãã£æ©èœãæäŸããŠãããã確èªããŸãã
- ãµããŒãïŒã³ãã¥ããã£ãµããŒãã®æŽ»çºãããææãµããŒãã®ãªãã·ã§ã³ããããã©ããã調æ»ããŸãã
ãŸãšã
ãªãŒãã³ãœãŒã¹DBMSã¯ãã³ã¹ãã®ç¯çŽãã«ã¹ã¿ãã€ãºã®èªç±åºŠãã³ãã¥ããã£ãµããŒãã®å©ç¹ãæäŸããŸããããããéžæããDBMSã¯ãããžã§ã¯ããããžãã¹ã®èŠä»¶ã«ããç°ãªããŸããé©åãªDBMSãéžæããããã«ã¯ãããã©ãŒãã³ã¹ãæ¡åŒµæ§ãã»ãã¥ãªãã£ããµããŒããªã©ã®èŠçŽ ãæ€èšããããšãéèŠã§ãã
6. ããŒã¿ããŒã¹ã®å®è·µçãªæŽ»çšæ¹æ³
6.1. Webã¢ããªã±ãŒã·ã§ã³ãšããŒã¿ããŒã¹ã®é£æº
Webã¢ããªã±ãŒã·ã§ã³ãšããŒã¿ããŒã¹ã®é£æºã¯ãçŸä»£ã®ãã¯ãããžãŒã©ã³ãã¹ã±ãŒãã«ãããŠäžå¿çãªåœ¹å²ãæãããŸãããŠãŒã¶ãŒæ å ±ã®ä¿åãååããŒã¿ã®ç®¡çããã©ã³ã¶ã¯ã·ã§ã³å±¥æŽã®è¿œè·¡ãªã©ãWebã¢ããªã±ãŒã·ã§ã³ã®æ©èœã®å€ãã¯ããŒã¿ããŒã¹ã®ååšã«ãã£ãŠå¯èœã«ãªããŸãã
Webã¢ããªã±ãŒã·ã§ã³ãšããŒã¿ããŒã¹ã®é£æºã®éèŠæ§
Webã¢ããªã±ãŒã·ã§ã³ã¯ããã®åºç€ãšãªãããŒã¿ããŒã¹ãšå¯æ¥ã«é£æºããããšã§ãããå¹æçã«æ©èœããŸããããŒã¿ããŒã¹ã¯æ å ±ãæŽçããã¢ã¯ã»ã¹ãããã圢ã§ä¿åããããã®ã·ã¹ãã ã§ããWebã¢ããªã±ãŒã·ã§ã³ãããŒã¿ããŒã¹ãšé£æºããããšã§ããŠãŒã¶ãŒã«å¯ŸããŠããŒãœãã©ã€ãºãããäœéšãæäŸãããã倧éã®ããŒã¿ãå¹ççã«ç®¡çãããããããšãå¯èœã«ãªããŸãã
é£æºã®æ¹æ³
Webã¢ããªã±ãŒã·ã§ã³ãšããŒã¿ããŒã¹ã®é£æºã¯ãéåžžã以äžã®ã¹ããããçµãŠè¡ãããŸãã
ãŸããWebã¢ããªã±ãŒã·ã§ã³ã¯ããŒã¿ããŒã¹ãžã®æ¥ç¶ã確ç«ããŸããããã¯éåžžãããŒã¿ããŒã¹ãµãŒããŒã®ãã¹ãåãããŒãçªå·ããŠãŒã¶ãŒåããã¹ã¯ãŒããªã©ã®æ å ±ã䜿çšããŠè¡ãããŸãã
次ã«ãWebã¢ããªã±ãŒã·ã§ã³ã¯SQLïŒStructured Query LanguageïŒãªã©ã®ã¯ãšãªèšèªã䜿çšããŠããŒã¿ããŒã¹ããããŒã¿ãååŸããããããŒã¿ããŒã¹ã«ããŒã¿ãæžã蟌ãã ãããŸãã
æåŸã«ãWebã¢ããªã±ãŒã·ã§ã³ã¯ååŸããããŒã¿ã䜿çšããŠåçãªã³ã³ãã³ããçæããããããŠãŒã¶ãŒã«è¡šç€ºããŸãã
é©åãªããŒã¿ããŒã¹ã®éžæ
Webã¢ããªã±ãŒã·ã§ã³ãšããŒã¿ããŒã¹ã®é£æºã«ãããŠã¯ãã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ã«æãé©ããããŒã¿ããŒã¹ãéžæããããšãéèŠã§ããããã¯ãããŒã¿ã®éãã¯ãšãªã®è€éããå¿ èŠãªã¬ã¹ãã³ã¹æéãªã©ã®èŠçŽ ãèæ ®ããããšã§è¡ãããŸãããŸããããŒã¿ããŒã¹ã®çš®é¡ïŒé¢ä¿ããŒã¿ããŒã¹ãNoSQLããŒã¿ããŒã¹ãªã©ïŒãéèŠãªéžæè¢ã®äžã€ãšãªããŸãã
ã»ãã¥ãªãã£
Webã¢ããªã±ãŒã·ã§ã³ãšããŒã¿ããŒã¹ã®é£æºã§ã¯ãããŒã¿ã®ã»ãã¥ãªãã£ãéèŠãªèª²é¡ãšãªããŸããæ©å¯æ å ±ãããŒã¿ããŒã¹ã«æ ŒçŽãããŠããå Žåãäžé©åãªã¢ã¯ã»ã¹ããããŒã¿ãä¿è·ããããã®é©åãªã»ãã¥ãªãã£å¯Ÿçãå¿ èŠãšãªããŸããããã«ã¯ãããŒã¿ã®æå·åãã¢ã¯ã»ã¹å¶åŸ¡ãSQLã€ã³ãžã§ã¯ã·ã§ã³æ»æããã®ä¿è·ãªã©ãå«ãŸããŸãã
ãŸãšã
Webã¢ããªã±ãŒã·ã§ã³ãšããŒã¿ããŒã¹ã®é£æºã¯ãæ å ±ãæŽçããå¹ççã«ç®¡çããããã®åŒ·åãªæ段ãæäŸããŸããé©åãªããŒã¿ããŒã¹ãéžæããããŒã¿ã®ã»ãã¥ãªãã£ã確ä¿ããããšã§ãWebã¢ããªã±ãŒã·ã§ã³ã¯ãŠãŒã¶ãŒã«å¯ŸããŠããŒãœãã©ã€ãºãããäœéšãæäŸããããšãã§ããŸãããã®é£æºã¯ãçŸä»£ã®Webã¢ããªã±ãŒã·ã§ã³ã«ãããŠéèŠãªåœ¹å²ãæããããã®æåã¯ããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãšããžãã¹ã®æé·ã«çŽæ¥å¯äžããŸãã
6.2. ããŒã¿åæãšããžãã¹ã€ã³ããªãžã§ã³ã¹ïŒBIïŒ
çŸä»£ã®ããžãã¹ç°å¢ã«ãããŠãããŒã¿åæãšããžãã¹ã€ã³ããªãžã§ã³ã¹ïŒBIïŒã¯éèŠãªåœ¹å²ãæãããŠããŸãããããã®ææ³ãé©åã«æŽ»çšããããšã§ãäŒæ¥ã¯åžå Žã®ãã¬ã³ããææ¡ããæŠç¥çãªææ決å®ãè¡ãããšãå¯èœã«ãªããŸãã
ããŒã¿åæã®åœ¹å²
ããŒã¿åæã¯ã倧éã®ããŒã¿ããæçãªæ å ±ãæœåºãããã®æ å ±ãçšããŠçµè«ãå°ãåºãããã»ã¹ã§ãããã®ããã»ã¹ã¯ãé©åãªããŒã¿ã®åéãæŽçããããŠè§£æãéããŠè¡ãããŸãã
ããŒã¿åæã®çµæã¯ãæ°ããªè£œåããµãŒãã¹ã®éçºãããŒã±ãã£ã³ã°æŠç¥ã®æ¹åã顧客äœéšã®æé©åãªã©ãããžãã¹ã®æ§ã ãªåŽé¢ã§æŽ»çšãããŸãããããã®æŽ»åã¯å šãŠãäŒæ¥ã競äºåªäœã確ä¿ããåžå Žã§ã®æåãå®çŸããããã®éèŠãªèŠçŽ ãšãªããŸãã
ããžãã¹ã€ã³ããªãžã§ã³ã¹ïŒBIïŒã®éèŠæ§
ããžãã¹ã€ã³ããªãžã§ã³ã¹ïŒBIïŒã¯ãããŒã¿åæã®ææ³ãããžãã¹ç°å¢ã«å¿çšãããã®ã§ããBIããŒã«ã¯ãããŒã¿ã®èŠèŠåãã¬ããŒãäœæãããã·ã¥ããŒãäœæãªã©ãéããŠãäŒæ¥ãããŒã¿ãããå¹æçã«ç解ãã掻çšããããšãæ¯æŽããŸãã
BIã®äž»ãªç®çã¯ãäŒæ¥ãããŒã¿ãåºã«ããæŽå¯ãåŸãããšã§ãããè³¢æãªææ決å®ãè¡ãããšãå¯èœã«ããããšã§ããããã¯ãæ°ããªããžãã¹ãã£ã³ã¹ã®ç¹å®ãæ¥çžŸã®è¿œè·¡ããªã¹ã¯ã®ç®¡çãªã©ãããžãã¹ã®ããããåŽé¢ã§æŽ»çšãããŸãã
ããŒã¿åæãšBIã®é£æº
ããŒã¿åæãšBIã¯ããã°ãã°é£æºããŠæŽ»çšãããŸããããŒã¿åæã«ããåŸãããæŽå¯ãBIããŒã«ãçšããŠèŠèŠåããããšã§ããã®æŽå¯ãçµå¶è ãææ決å®è ã«ããç解ãããããªããŸãã
ãŸããBIããŒã«ã¯ãã°ãã°ããŒã¿åææ©èœãå å ããŠããããŠãŒã¶ãŒãããŒã¿ã®æ¢çŽ¢ã解æãçŽæ¥è¡ãããšãå¯èœã«ããŸããããã«ããããŠãŒã¶ãŒã¯èªèº«ã®ããžãã¹åé¡ã«å¯Ÿããç¬èªã®æŽå¯ãåŸãããšãå¯èœãšãªããŸãã
ãŸãšã
ããŒã¿åæãšããžãã¹ã€ã³ããªãžã§ã³ã¹ïŒBIïŒã¯ãããžãã¹ã®æåãæ¯ããéèŠãªããŒã«ãšãªããŸãããããã¯ãäŒæ¥ã倧éã®ããŒã¿ãå¹æçã«å©çšãããã®çµæããæŽå¯ãåŸãŠæŠç¥çãªææ決å®ãè¡ãããšãå¯èœã«ããŸããé©åã«æŽ»çšããããšã§ãäŒæ¥ã¯ç«¶äºåªäœã確ä¿ããåžå Žã§ã®æåãè¿œæ±ããããšãå¯èœãšãªããŸãã
ããŒã¿åæãšBIã®é©åãªæŽ»çšã¯ãäŒæ¥ãçŽé¢ãã課é¡ã®è§£æ±ºãæ°ããªããžãã¹ãã£ã³ã¹ã®çºæããããŠçµç¹å šäœã®ããã©ãŒãã³ã¹ã®åäžã«å¯äžããŸãããããã£ãŠããããã®ææ³ãç解ããé©åã«æŽ»çšããããšã¯ãçŸä»£ã®ããžãã¹ç°å¢ã«ãããŠéèŠãªã¹ãã«ãšãªããŸãã
6.3. ããŒã¿ããŒã¹ã®ããã¯ã¢ãããšåŸ©å
ããŒã¿ããŒã¹ã®ããã¯ã¢ãããšåŸ©å ã¯ãããŒã¿ã®æ倱ãé²ããäºæ¥ã®ç¶ç¶æ§ã確ä¿ããããã«éåžžã«éèŠãªããã»ã¹ã§ãããããã®äœæ¥ãç解ããé©åã«å®è¡ããããšã§ãçµç¹ã¯äºæããªãäºæ ãçœå®³ããããŒã¿ãä¿è·ããããšãã§ããŸãã
ããŒã¿ããŒã¹ã®ããã¯ã¢ãã
ããŒã¿ããŒã¹ã®ããã¯ã¢ããã¯ãããŒã¿ãè€è£œããå®å šãªå Žæã«ä¿åããããã»ã¹ã§ããããã¯ã¢ããã®äž»ãªç®çã¯ãããŒã¿ããŒã¹ã®é害ãããŒã¿ã®æ倱ãçºçããå Žåã«åããŠãããŒã¿ã埩å ã§ããããã«ããããšã§ãã
ããã¯ã¢ããã¯å®æçã«ããŸãã¯ããŒã¿ã®å€æŽããããã³ã«è¡ãããå šãŠã®ããŒã¿ãå«ããã«ããã¯ã¢ããã以åã®ãã«ããã¯ã¢ãã以éã«å€æŽãããããŒã¿ã®ã¿ãå«ãå·®åããã¯ã¢ãããæåŸã®ãã«ãŸãã¯å·®åããã¯ã¢ãã以éã«å€æŽãããããŒã¿ã®ã¿ãå«ãå¢åããã¯ã¢ããã®3çš®é¡ãäžè¬çã«è¡ãããŸãã
ããŒã¿ããŒã¹ã®åŸ©å
ããŒã¿ããŒã¹ã®åŸ©å ã¯ãããã¯ã¢ããããããŒã¿ãåãåºããå ã®ããŒã¿ããŒã¹ã«ååºŠæ ŒçŽããããã»ã¹ã§ããããŒã¿ã®æ倱ãããŒã¿ããŒã¹ã®é害ãçºçããå ŽåããŸãã¯ãã¹ããéçºã®ç®çã§ããŒã¿ããŒã¹ã®ç¹å®ã®ç¶æ ãåçŸããå¿ èŠãããå Žåã«è¡ãããŸãã
埩å ããã»ã¹ã§ã¯ããã«ããã¯ã¢ããããå§ããŠãå¿ èŠã«å¿ããŠå·®åããã¯ã¢ãããå¢åããã¯ã¢ãããé©çšããŠãããŸãããã®ããã»ã¹ã¯ãããã¯ã¢ãããæ£ç¢ºã«äœæãããé©åã«ä¿åãããŠããããšãåæãšããŸãã
ãŸãšã
ããŒã¿ããŒã¹ã®ããã¯ã¢ãããšåŸ©å
ã¯ãçµç¹ãããŒã¿ã®æ倱ããèªèº«ãä¿è·ããããã®éèŠãªæ段ã§ãããããã®ããã»ã¹ãé©åã«ç®¡çããããšã§ãçµç¹ã¯ããžãã¹ã®ç¶ç¶æ§ã確ä¿ãã顧客
ã®ä¿¡é Œãç¶æããããšãã§ããŸãã
ããã¯ã¢ãããšåŸ©å ã®ããã»ã¹ã¯ãç¹å®ã®æŠç¥ãæ¹éã«åºã¥ããŠè¡ããããããã¯çµç¹ã®ããžãã¹èŠä»¶ãããŒã¿ã®æ§è³ªãå©çšå¯èœãªãªãœãŒã¹ã«ãã£ãŠç°ãªããŸãããããã£ãŠãé©åãªããã¯ã¢ãããšåŸ©å ã®æŠç¥ãçå®ãããããå®è¡ããããšã¯ãããŒã¿ç®¡çã®éèŠãªåŽé¢ãšãªããŸãã
ãŸããããã¯ã¢ãããšåŸ©å ã®ããã»ã¹ã¯ãããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒDBMSïŒã®äžéšãšããŠæäŸãããæ©èœãå©çšããŠèªååããããšãå¯èœã§ããããã«ãããããã¯ã¢ãããšåŸ©å ã®ããã»ã¹ã®å¹çæ§ãšä¿¡é Œæ§ãåäžããçµç¹ã®ããŒã¿ç®¡çã®è² æ ã軜æžãããŸãã
æåŸã«ãããã¯ã¢ãããšåŸ©å ã®æŠç¥ã¯ãå®æçã«èŠçŽãããã¹ãããããšãéèŠã§ããããã«ãããæŠç¥ãçŸåšã®ããžãã¹èŠä»¶ãšäžèŽããŠããããšã確èªããå¿ èŠã«å¿ããŠæŠç¥ã調æŽããããšãã§ããŸãããŸãã埩å ã®ãã¹ãã¯ãå¿ èŠãªå Žåã«ããŒã¿ã確å®ã«åŸ©å ã§ããããšãä¿èšŒããããã«ãéèŠã§ãã
6.4. ããŒã¿ããŒã¹ã®ã»ãã¥ãªãã£å¯Ÿç
ããŒã¿ããŒã¹ã¯ãäŒæ¥ãæãéèŠããããŒã¿ãä¿ç®¡ããå Žæã§ããããã®ããã«ã»ãã¥ãªãã£å¯Ÿçã¯äžå¯æ¬ ã§ããããŒã¿ããŒã¹ã«ã¯ã顧客ã®å人æ å ±ãéèæ å ±ãäŒæ¥ç§å¯ãªã©ãéåžžã«éèŠãªæ å ±ãå«ãŸããããšããããŸãããã®ãããããŒã¿ããŒã¹ã®ã»ãã¥ãªãã£ã¯ãäŒæ¥ã®æ å ±ã»ãã¥ãªãã£æŠç¥ã®äžå¿çãªéšåã圢æããŸãã
ã¢ã¯ã»ã¹å¶åŸ¡
ããŒã¿ããŒã¹ã®ã»ãã¥ãªãã£ã確ä¿ããæåã®ã¹ãããã¯ãã¢ã¯ã»ã¹å¶åŸ¡ã§ããããã«ã¯ãèªèšŒïŒãŠãŒã¶ãŒã誰ã§ãããã確èªããããã»ã¹ïŒãšèªå¯ïŒãŠãŒã¶ãŒãããŒã¿ããŒã¹ã®ã©ã®éšåã«ã¢ã¯ã»ã¹ã§ãããã決å®ããããã»ã¹ïŒãå«ãŸããŸããã¢ã¯ã»ã¹å¶åŸ¡ã¯ãäžæ£ãªãŠãŒã¶ãŒãããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããã®ãé²ãã ãã§ãªããæ£åœãªãŠãŒã¶ãŒãé©åãªæš©éãæã€ããšã確èªããŸãã
ããŒã¿æå·å
ããŒã¿æå·åã¯ãããŒã¿ããŒã¹ã®ã»ãã¥ãªãã£ã匷åããããã®éèŠãªæ段ã§ããæå·åã¯ãããŒã¿ãèªã¿åãããšãã§ããã®ã¯é©åãªããŒãæã€äººã ãã«éå®ããããšã§ãããŒã¿ãä¿è·ããŸããããŒã¿ã¯ãããŒã¿ããŒã¹å ã§ä¿ç®¡ãããŠããéïŒéæ¢ããŒã¿ïŒã ãã§ãªãããããã¯ãŒã¯ãéããŠéä¿¡ãããéïŒç§»åããŒã¿ïŒãæå·åããããšãå¯èœã§ãã
ç£æ»ãšã¢ãã¿ãªã³ã°
ããŒã¿ããŒã¹ã®æŽ»åãå®æçã«ç£æ»ããã¢ãã¿ãªã³ã°ããããšã¯ãäžæ£ãªã¢ã¯ã»ã¹ãæªæã®ãã掻åãæ€åºããäžã§éèŠã§ããç£æ»ãšã¢ãã¿ãªã³ã°ã¯ãã·ã¹ãã å ã®ç°åžžãªãã¿ãŒã³ãçããã掻åãç¹å®ãããããã«å¯Ÿå¿ããããã®æ©æèŠåã·ã¹ãã ãšããŠæ©èœããŸãã
ããŒã¿ããŒã¹ã®ããã¯ã¢ãããšåŸ©å
ããŒã¿ããŒã¹ã®ã»ãã¥ãªãã£å¯Ÿçã®äžéšãšããŠãããŒã¿ããŒã¹ã®ããã¯ã¢ãããšåŸ©å ã®èšç»ãéèŠã§ããããã¯ãããŒã¿ããŒã¹ãæ»æãåããå Žåããããã¯æè¡çãªåé¡ãçºçããå Žåã«ãããŒã¿ã®æ倱ãé²ããæ¥åã®äžæãæå°éã«æããããã®ä¿éºã®äžçš®ãšèããããšãã§ããŸãã
ããã管ç
ããã管çã¯ãããŒã¿ããŒã¹ã®ã»ãã¥ãªãã£å¯Ÿçã®äžéšãšããŠå¿ããŠã¯ãªããªãé ç®ã§ããããã¯ãDBMSãœãããŠã§ã¢ã®ææ°ã®ã»ãã¥ãªãã£ã¢ããããŒããšããããåžžã«é©çšããæ°ãã«çºèŠãããè匱æ§ããããŒã¿ããŒã¹ãä¿è·ããããã»ã¹ã§ãã
以äžã«è¿°ã¹ãæ¹æ³ã¯äžéšã§ãããããŒã¿ããŒã¹ã®ã»ãã¥ãªãã£å¯Ÿçã¯å€å²ã«ããããŸããããŒã¿ã®éèŠæ§ãšããŒã¿ããŒã¹ãæ»æã®å¯Ÿè±¡ãšãªãå¯èœæ§ãèæ ®ã«å ¥ãããšãããŒã¿ããŒã¹ã®ã»ãã¥ãªãã£å¯Ÿçã¯éåžžã«éèŠãªé ç®ãšãªããŸããé©åãªã»ãã¥ãªãã£å¯Ÿçãè¬ããããšã§ãäŒæ¥ã¯èªèº«ã®è²ŽéãªããŒã¿ãä¿è·ãã顧客ããã®ä¿¡é Œãç¶æããããšãã§ããŸãã
6.5. ããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãã¥ãŒãã³ã°
ããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ã¯ãã¢ããªã±ãŒã·ã§ã³ã®æåã«ãšã£ãŠéèŠãªèŠçŽ ã§ããããŒã¿ããŒã¹ãã¹ã ãŒãºã«åäœãããšãã¢ããªã±ãŒã·ã§ã³ã¯è¿ éã«å¿çãããŠãŒã¶ãŒäœéšã¯åäžããŸãããããã倧éã®ããŒã¿ãè€éãªã¯ãšãªã絡ããšãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ã¯äœäžããå¯èœæ§ããããŸããããã§ããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ã®éèŠæ§ãæããã«ãªããŸãã
ã€ã³ããã¯ã¹ã®æé©å
ããŒã¿ããŒã¹ã®ã€ã³ããã¯ã¹ã¯ãç¹å®ã®ããŒã¿ãçŽ æ©ãæ€çŽ¢ããããã®éããã¹ã®ãããªãã®ã§ããããããé©åã«èšå®ãããŠããªããšãã€ã³ããã¯ã¹ã¯ããã©ãŒãã³ã¹ãæãªãå¯èœæ§ããããŸãããããã£ãŠãå¿ èŠãªã€ã³ããã¯ã¹ã®ã¿ãäœæããäžèŠãªãã®ã¯åé€ããããšã§ãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸãã
ã¯ãšãªã®æé©å
ããŒã¿ããŒã¹ãžã®ã¯ãšãªã¯ãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããŸããè€éãªã¯ãšãªãéå¹çãªã¯ãšãªã¯ãããŒã¿ããŒã¹ã®ãªãœãŒã¹ãé床ã«æ¶è²»ããããã©ãŒãã³ã¹ãäœäžãããå¯èœæ§ããããŸãããããã£ãŠãã¯ãšãªãå®æçã«èŠçŽããå¿ èŠã«å¿ããŠæé©åããããšãéèŠã§ãã
ããŒããŠã§ã¢ã®æé©å
ããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ã¯ã䜿çšããŠããããŒããŠã§ã¢ã«ã倧ããäŸåããŸãããã£ã¹ã¯ã®é床ãã¡ã¢ãªã®éãããã»ããµã®æ§èœãªã©ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžããŸããå¿ èŠã«å¿ããŠããŒããŠã§ã¢ãã¢ããã°ã¬ãŒãããããšã§ãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãåäžãããããšãå¯èœã§ãã
ããŒã¿ããŒã¹ã®èšå®
ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒDBMSïŒèªäœã®èšå®ããããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããŸããäŸãã°ãã¡ã¢ãªäœ¿çšéããã£ãã·ã¥èšå®ãåææ¥ç¶æ°
ãªã©ã¯ãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããŸãããããã®èšå®ãé©åã«èª¿æŽããããšã§ãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸãã
ã¢ãã¿ãªã³ã°ãšåæ
ããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãæé©åããããã«ã¯ããŸãçŸç¶ãææ¡ããå¿ èŠããããŸããããŒã¿ããŒã¹ã®ã¢ãã¿ãªã³ã°ããŒã«ã䜿çšããŠããã©ãŒãã³ã¹ã远跡ããåé¡ã®ãããšãªã¢ãç¹å®ããŸããã¢ãã¿ãªã³ã°ããŒã¿ãåæããããšã§ãäœãããã©ãŒãã³ã¹ã®ããã«ããã¯ã«ãªã£ãŠããã®ããã©ã®éšåãæ¹åããã°æãå¹æãããã®ããå€æããããšãã§ããŸãã
ããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ã¯ãããŒã¿ããŒã¹ãæé©ãªç¶æ ã«ä¿ã€ããã®æç¶çãªããã»ã¹ã§ããå®æçã«ããã©ãŒãã³ã¹ãè©äŸ¡ããå¿ èŠã«å¿ããŠèª¿æŽãè¡ãããšã§ãããŒã¿ããŒã¹ã¯åžžã«æé«ã®ããã©ãŒãã³ã¹ãçºæ®ããŸããããã«ããããŠãŒã¶ãŒäœéšãåäžããã¢ããªã±ãŒã·ã§ã³ã®æåã«è²¢ç®ããŸãã
7. ã¯ã©ãŠãããŒã¿ããŒã¹ã®å©çš
7.1. ã¯ã©ãŠãããŒã¿ããŒã¹ã®ã¡ãªãããšãã¡ãªãã
è¿å¹ŽãããŒã¿ããŒã¹ã®ã¯ã©ãŠãåã¯æ¥éã«é²å±ããŠããŸããã¯ã©ãŠãããŒã¿ããŒã¹ã¯ãèªç€Ÿã®ãµãŒããŒã«ããŒã¿ããŒã¹ãèšçœ®ããã®ã§ã¯ãªããã¯ã©ãŠããããã€ããŒãæäŸããã€ã³ãã©ã¹ãã©ã¯ãã£äžã§ããŒã¿ããŒã¹ãéçšãããã®ã§ãããããããã®éžæã«ã¯ã¡ãªãããšãã¡ãªããããããŸãã
ã¯ã©ãŠãããŒã¿ããŒã¹ã®ã¡ãªãã
ã¹ã±ãŒã©ããªãã£
ã¯ã©ãŠãããŒã¿ããŒã¹ã®æ倧ã®å©ç¹ã®äžã€ã¯ããã®ã¹ã±ãŒã©ããªãã£ã§ããéèŠãå¢ããæã«è¿ éã«ãªãœãŒã¹ãå¢ããããšãã§ããéèŠãæžã£ãæã«ã¯ãªãœãŒã¹ãæžããããšãå¯èœã§ããããã«ãããå¿ èŠãªãªãœãŒã¹ã ãã䜿çšããã³ã¹ããæå°éã«æããããšãã§ããŸãã
ã¡ã³ããã³ã¹ãšã¢ããããŒã
ã¯ã©ãŠããããã€ããŒãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã¡ã³ããã³ã¹ãšã¢ããããŒããè¡ããããäŒæ¥ã¯ãããã®äœæ¥ã«æéãè²»ããå¿ èŠããããŸãããããã«ãããããéèŠãªæ¥åã«éäžããããšãå¯èœã«ãªããŸãã
ããŒã¿ã®å¯çšæ§
ã¯ã©ãŠãããŒã¿ããŒã¹ã¯ãããŒã¿ã®å¯çšæ§ãé«ããŸããå€ãã®ã¯ã©ãŠããããã€ããŒã¯ãããŒã¿ã»ã³ã¿ãŒãè€æ°ã®å°åã«åæ£ããŠãããããäžéšã®ããŒã¿ã»ã³ã¿ãŒã§åé¡ãçºçããŠãããŒã¿ãžã®ã¢ã¯ã»ã¹ãä¿èšŒãããŸãã
ã¯ã©ãŠãããŒã¿ããŒã¹ã®ãã¡ãªãã
ããŒã¿ã®ã»ãã¥ãªãã£
ã¯ã©ãŠãããŒã¿ããŒã¹ã䜿çšãããšãããŒã¿ã®ã»ãã¥ãªãã£ã¯ã¯ã©ãŠããããã€ããŒã«å€§ããäŸåããŸããããŒã¿æŒæŽ©ããããã³ã°ã®ãªã¹ã¯ã¯åžžã«ååšããé©åãªã»ãã¥ãªãã£å¯Ÿçãå¿ èŠã§ãã
ã³ã¹ã
åææè³ã¯å°ãªããŠæžããããããŸããããé·æçã«èŠããšã¯ã©ãŠãããŒã¿ããŒã¹ã®ã³ã¹ãã¯é«ããªãå¯èœæ§ããããŸãã䜿çšéã«å¿ãã課éãè¡ãããããããªãœãŒã¹äœ¿çšéãå¢ãããšã³ã¹ããå¢å ããŸãã
ãã³ããŒããã¯ã€ã³
äžæŠç¹å®ã®ã¯ã©ãŠããããã€ããŒãéžæãããšããã®ãããã€ããŒã®ç¹å®ã®æ©èœããµãŒãã¹ã«äŸåããå¯èœæ§ããããŸããããã¯ãã³ããŒããã¯ã€ã³ãšåŒã°ããä»ã®ãµãŒãã¹ã«ç§»è¡ããéã®éå£ãšãªãå¯èœæ§ããããŸãã
以äžã®ããã«ãã¯ã©ãŠãããŒã¿ããŒã¹ã¯ã¹ã±ãŒã©ããªãã£ãã¡ã³ããã³ã¹ã®å®¹æããããŒã¿ã®å¯çšæ§ã®åäžãªã©ã®ã¡ãªãããæäŸããŸãããããŒã¿ã®ã»ãã¥ãªãã£ãã³ã¹ãããã³ããŒããã¯ã€ã³ãšãã£ããã¡ãªãããååšããŸãããããã®èŠçŽ ãç·åçã«èæ ®ããèªç€Ÿã®ããžãã¹ããŒãºã«æãé©ããéžæãããããšãéèŠã§ãã
7.2. äž»èŠãªã¯ã©ãŠãããŒã¿ããŒã¹ãµãŒãã¹ã®æ¯èŒ
ã¯ã©ãŠãããŒã¿ããŒã¹ã®äžçã¯å€çš®å€æ§ã§ããã®äžã«ã¯æ°å€ãã®ãããã€ããŒãšãµãŒãã¹ãååšããŸãããã®äžã§ããAmazon RDSãGoogle Cloud SQLãMicrosoft Azure SQL Databaseã®3ã€ãããã¯ã¢ãããããã®ç¹æ§ãæ¯èŒããŠã¿ãŸãããã
Amazon RDS
Amazon RDSã¯Amazon Web ServicesïŒAWSïŒãæäŸãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãµãŒãã¹ã§ããMySQL, PostgreSQL, Oracle, SQL Serverãªã©ãæ§ã ãªããŒã¿ããŒã¹ãšã³ãžã³ããµããŒãããŠããŸããRDSã®ç¹åŸŽã¯èªåããã¯ã¢ãããèªåãã§ã€ã«ãªãŒããŒããªãŒãã¬ããªã«ã®äœæãªã©ãéçšç®¡çãç°¡æåããæ©èœãè±å¯ã§ããããšã§ãããŸããAWSã®ä»ã®ãµãŒãã¹ãšã®çµ±åæ§ãé«ãã®ãç¹åŸŽã§ãã
Google Cloud SQL
Google Cloud SQLã¯Google Cloud PlatformïŒGCPïŒãæäŸããããŒã¿ããŒã¹ãµãŒãã¹ã§ãMySQLãšPostgreSQLããµããŒãããŠããŸããGoogleã®ã€ã³ãã©ã¹ãã©ã¯ãã£äžã§çšŒåãããããé«ãèä¹ æ§ãšå¯çšæ§ãæäŸããŸãããŸããBigQueryãšãã£ãGoogleã®ããã°ããŒã¿ãµãŒãã¹ãšã®é£æºã容æãªã®ãç¹åŸŽã§ãã
Microsoft Azure SQL Database
Microsoft Azure SQL Databaseã¯Microsoft AzureãæäŸããããŒã¿ããŒã¹ãµãŒãã¹ã§ãSQL Serverã®ã¯ã©ãŠãçãšãèšããŸããéçºè ã«ãšã£ãŠéŠŽæã¿æ·±ãSQL Serverã®æ©èœãã¯ã©ãŠãã§å©çšã§ãããããæ¢åã®ã¢ããªã±ãŒã·ã§ã³ã®ã¯ã©ãŠã移è¡ã容æã«ãããšããç¹åŸŽããããŸãããŸããAIã«ããããã©ãŒãã³ã¹æé©åãèªåãã¥ãŒãã³ã°æ©èœãåããŠããŸãã
ãµãŒãã¹ã®æ¯èŒ
以äžã®è¡šã§åãµãŒãã¹ã®ç¹æ§ãæ¯èŒããŠã¿ãŸãããã
ãµãŒãã¹ | ãµããŒãããDB | ç¹åŸŽ |
---|---|---|
Amazon RDS | MySQL, PostgreSQL, Oracle, SQL Serverãªã© | éçšç®¡çãç°¡æåããæ©èœãè±å¯ãAWSãšã®çµ±åæ§ãé«ãã |
Google Cloud SQL | MySQL, PostgreSQL | é«ãèä¹ æ§ãšå¯çšæ§ãGoogleã®ããã°ããŒã¿ãµãŒãã¹ãšã®é£æºã容æã |
Microsoft Azure SQL Database | SQL Server | SQL Serverã®æ©èœãã¯ã©ãŠãã§å©çšã§ããAIã«ããããã©ãŒãã³ã¹æé©åãèªåãã¥ãŒãã³ã°æ©èœãåããŠããã |
ããããã®ãµãŒãã¹ã¯äžé·äžçããããèªç€Ÿã®ããŒãºã«æãé©ãããµãŒãã¹ãéžæããããšãéèŠã§ãããµãŒãã¹ã®éžæã«ã¯ããµããŒãããããŒã¿ããŒã¹ãšã³ãžã³ãéçšç®¡çæ©èœãã»ãã¥ãªãã£ãããã©ãŒãã³ã¹ãã³ã¹ããªã©ãå€ãã®èŠçŽ ãèæ ®ããå¿ èŠããããŸãããŸããä»ã®ã¯ã©ãŠããµãŒãã¹ãšã®çžäºéçšæ§ãéèŠãªéžæåºæºã®äžã€ã§ãã
7.3. ã¯ã©ãŠãããŒã¿ããŒã¹ã®ç§»è¡ãšéçš
ããŒã¿ããŒã¹ããªã³ãã¬ãã¹ããã¯ã©ãŠããžç§»è¡ããéã«ã¯ãããã€ãã®éèŠãªã¹ããããèžãå¿ èŠããããŸãããŸãã移è¡å¯Ÿè±¡ã®ããŒã¿ããŒã¹ãšãã®ããŒã¿ã詳现ã«èª¿æ»ãã移è¡åŸã®ããã©ãŒãã³ã¹ã確ä¿ããããã®æé©åãå¿ èŠãã©ããã決å®ããŸãã次ã«ãé©åãªã¯ã©ãŠãããŒã¿ããŒã¹ãµãŒãã¹ãéžæãã移è¡ããã»ã¹ãèšç»ããŸãã
移è¡èšç»ã«ã¯ãå®éã®ããŒã¿ç§»è¡ã ãã§ãªããã¢ããªã±ãŒã·ã§ã³ã®æŽæ°ãæ°ããç°å¢ã§ã®ãã¹ããå«ãŸããŸãããã®åŸãããŒã¿ããŒã¹ãæ°ããã¯ã©ãŠãç°å¢ã«ç§»è¡ãããã¹ãŠã®æ©èœãæ£åžžã«åäœããããšã確èªããŸããæåŸã«ã移è¡åŸã®ããŒã¿ããŒã¹ã®éçšãšç®¡çãè¡ããŸãã
ãã®éçšãšç®¡çã«ã¯ãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ç£èŠãå®æçãªããã¯ã¢ãããã»ãã¥ãªãã£å¯Ÿçã®ç¶æãªã©ãå«ãŸããŸããã¯ã©ãŠãããŒã¿ããŒã¹ã¯ã¹ã±ãŒã©ããªãã£ãé«ããéèŠã«å¿ããŠãªãœãŒã¹ãè¿ éã«å¢æžãããããšãã§ãããããããã©ãŒãã³ã¹ç£èŠã¯ç¹ã«éèŠã§ãããŸããã¯ã©ãŠãç°å¢ã§ã¯ããŒã¿ã®ä¿è·ãéèŠãšãªããããé©åãªã»ãã¥ãªãã£å¯Ÿçãè¬ããå¿ èŠããããŸãã
ãããã£ãŠãã¯ã©ãŠãããŒã¿ããŒã¹ã®ç§»è¡ãšéçšã¯ãäºåã®èšç»ãšæºåããããŠæ³šææ·±ã管çãå¿ èŠãšãªããŸãããããããããã®åªåã«ãããã¯ã©ãŠãããŒã¿ããŒã¹ã¯æè»æ§ãšå¹çæ§ãæäŸããããžãã¹ã®æé·ãšé²åããµããŒãããŸãã
8. NoSQLããŒã¿ããŒã¹ã®æŠèŠ
8.1. NoSQLããŒã¿ããŒã¹ãšã¯ïŒ
NoSQLããŒã¿ããŒã¹ã¯ãåŸæ¥ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšã¯ç°ãªãããŒã¿ç®¡çã®ã¢ãããŒããæäŸããŸãããã®åå㯠“Not Only SQL”ïŒSQLã ãã§ãªãïŒãè¡šããããã¯NoSQLããŒã¿ããŒã¹ãSQLãçšãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšã¯ç°ãªãç¹æ§ãæã£ãŠããããšã瀺ããŠããŸãã
NoSQLããŒã¿ããŒã¹ã¯ã倧éã®åæ£ããŒã¿ãå¹ççã«æ±ãããšãã§ãããããããã°ããŒã¿ããªã¢ã«ã¿ã€ã ã®ãŠã§ãã¢ããªã±ãŒã·ã§ã³ãªã©ãç¹å®ã®çšéã«é©ããŠããŸãããŸããã¹ã±ãŒã©ããªãã£ãšæè»æ§ãé«ããããããŒã¿ã®åœ¢åŒãé »ç¹ã«å€æŽãããå¯èœæ§ãããç¶æ³ã«ã察å¿ã§ããŸãã
NoSQLããŒã¿ããŒã¹ã¯äž»ã«4ã€ã®ã¿ã€ãã«åããããŸãïŒããŒã»ããªã¥ãŒã¹ãã¢ãããã¥ã¡ã³ãã¹ãã¢ãã«ã©ã ã¹ãã¢ããããŠã°ã©ãããŒã¿ããŒã¹ã§ãããããããç°ãªãããŒã¿ã¢ãã«ãæã¡ãç¹å®ã®åé¡è§£æ±ºã«é©ããŠããŸãã
ããšãã°ãããŒã»ããªã¥ãŒã¹ãã¢ã¯æãã·ã³ãã«ãªNoSQLããŒã¿ããŒã¹ã§ãäžæã®ããŒãšããã«é¢é£ä»ããããå€ã®ãã¢ãä¿åããŸããäžæ¹ãããã¥ã¡ã³ãã¹ãã¢ã¯ãJSONãXMLãªã©ã®ããã¥ã¡ã³ã圢åŒã§ããŒã¿ãä¿åããè€éãªããŒã¿æ§é ãæ±ãããšãã§ããŸãã
ã«ã©ã ã¹ãã¢ã¯ãããŒã¿ãã«ã©ã åäœã§æ ŒçŽãã倧éã®ããŒã¿ãé«éã«åŠçããããšãå¯èœã§ããæåŸã«ãã°ã©ãããŒã¿ããŒã¹ã¯ãããŒã¿éã®é¢ä¿æ§ã匷調ããè€éãªé¢ä¿ãå¹ççã«æ¢çŽ¢ããããšãå¯èœã§ãã
ãããã£ãŠãNoSQLããŒã¿ããŒã¹ã¯ããã®ç¹æ§ãšå€æ§æ§ã«ãããå€ãã®çŸä»£çãªããŒã¿èŠä»¶ãæºããããšãã§ããŸãã
8.2. NoSQLããŒã¿ããŒã¹ã®çš®é¡ãšç¹åŸŽ
åè¿°ã®éããNoSQLããŒã¿ããŒã¹ã«ã¯äž»ã«åã€ã®çš®é¡ãååšããŸããããããã®ç¹åŸŽãšäžè¬çãªäœ¿çšäŸã«ã€ããŠè©³ããèŠãŠãããŸãããã
ããŒã»ããªã¥ãŒã¹ãã¢
ããŒã»ããªã¥ãŒã¹ãã¢ã¯ããã®ååã瀺ãéããäžæã®ããŒãšããã«é¢é£ä»ããããå€ã®ãã¢ãä¿åããŸããããã¯æãåºæ¬çãªNoSQLããŒã¿ããŒã¹ã®åœ¢åŒã§ãæäœã容æã§ããã©ãŒãã³ã¹ãé«ãã§ããããŒã¿ã¯äžè¬çã«ã¡ã¢ãªã«ä¿åãããããŒã䜿çšããŠè¿ éã«ååŸããããšãå¯èœã§ããAmazon DynamoDBãRedisãªã©ããã®ã¿ã€ãã®ããŒã¿ããŒã¹ã®äŸã§ãã
ããã¥ã¡ã³ãã¹ãã¢
ããã¥ã¡ã³ãã¹ãã¢ã¯ãããã¥ã¡ã³ã圢åŒã§ããŒã¿ãä¿åããããŒã¿ããŒã¹ã§ãããããã®ããã¥ã¡ã³ãã¯äžè¬çã«JSONãŸãã¯XML圢åŒã§ãè€éãªããŒã¿æ§é ãè¡šçŸããããšãã§ããŸããããã¥ã¡ã³ãã¯äžæã®ããŒã«ãã£ãŠèå¥ããããã®ããŒã䜿çšããŠããŒã¿ãååŸããããšãå¯èœã§ããMongoDBãCouchDBããã®ã¿ã€ãã®ããŒã¿ããŒã¹ã®äŸã§ãã
ã«ã©ã ã¹ãã¢
ã«ã©ã ã¹ãã¢ã¯ããŒã¿ãã«ã©ã åäœã§æ ŒçŽããããŒã¿ããŒã¹ã§ããåŸæ¥ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšã¯ç°ãªããããŒã¿ã¯è¡ã§ã¯ãªãã«ã©ã ã«ãã£ãŠä¿åãããåãã«ã©ã ã®ããŒã¿ãäžç·ã«ä¿åãããŸããããã«ãããç¹å®ã®ã«ã©ã ã®ããŒã¿ã ããé«éã«èªã¿åãããšãå¯èœãšãªããŸããApache CassandraãGoogle Bigtableããã®ã¿ã€ãã®ããŒã¿ããŒã¹ã®äŸã§ãã
ã°ã©ãããŒã¿ããŒã¹
æåŸã«ãã°ã©ãããŒã¿ããŒã¹ã¯ãããŒããšãšããžã䜿çšããŠããŒã¿ãšãã®é¢ä¿æ§ãè¡šçŸããŸããããã«ãããæ·±ãéå±€æ§é ãè€éãªãããã¯ãŒã¯ãå¹ççã«è¡šçŸã»æ¢çŽ¢ããããšãå¯èœã§ããã°ã©ãããŒã¿ããŒã¹ã¯ããœãŒã·ã£ã«ãããã¯ãŒã¯ãã¬ã³ã¡ã³ããŒã·ã§ã³ã·ã¹ãã ãªã©ãè€éãªé¢ä¿æ§ãæ±ãã¢ããªã±ãŒã·ã§ã³ã«ç¹ã«é©ããŠããŸããNeo4jãAmazon Neptuneããã®ã¿ã€ãã®ããŒã¿ããŒã¹ã®äŸã§ãã
以äžãNoSQLããŒã¿ããŒã¹ã®äž»èŠãªçš®é¡ãšãã®ç¹åŸŽã§ããããããã®ããŒã¿ããŒã¹ã¯ãç¹å®ã®åé¡ã解決ããããã«èšèšãããŠããã䜿çšããéã«ã¯ãã®ç¹æ§ãç解ããäžã§éžæããããšãéèŠã§ãããŸãããããã®ããŒã¿ããŒã¹ã¯äžéšã®ç¹æ§ãå ±æããŠããããšãå€ãã§ããäŸãã°ãã¹ã±ãŒã©ããªãã£ãšæè»æ§ã¯ãNoSQLããŒã¿ããŒã¹å šäœã«å ±éããç¹æ§ã§ãããããã®ç¹æ§ã«ãããNoSQLããŒã¿ããŒã¹ã¯å€§éã®ããŒã¿ãå¹ççã«åŠçããå€åããããžãã¹èŠä»¶ã«è¿ éã«å¯Ÿå¿ããããšãã§ããŸãã
ããããNoSQLããŒã¿ããŒã¹ãå šãŠã®ã·ããªãªã§ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãäžåãããã§ã¯ãããŸããããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãACIDç¹æ§ïŒAtomicityãConsistencyãIsolationãDurabilityïŒãä¿èšŒããããããã©ã³ã¶ã¯ã·ã§ã³ã®æŽåæ§ãå¿ èŠãªã¢ããªã±ãŒã·ã§ã³ã«ã¯äŸç¶ãšããŠéèŠãªåœ¹å²ãæãããŠããŸãããã®ãããé©åãªããŒã¿ããŒã¹ãéžæããã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ãããŒã¿ã®éããã©ã³ã¶ã¯ã·ã§ã³ã®æ§è³ªãªã©ãå€ãã®èŠçŽ ãèæ ®ããå¿ èŠããããŸãã
8.3. NoSQLããŒã¿ããŒã¹ã®é©çšäŸ
NoSQLããŒã¿ããŒã¹ã¯ãã®æè»æ§ãã¹ã±ãŒã©ããªãã£ãé«ããã©ãŒãã³ã¹ãªã©ã®ç¹æ§ã掻ãããŠãå€å²ã«ãããã¢ããªã±ãŒã·ã§ã³ã«é©çšãããŠããŸãã以äžã§ã¯ãNoSQLããŒã¿ããŒã¹ãã©ã®ãããªã·ãã¥ãšãŒã·ã§ã³ã§æŽ»çšã§ãããã«ã€ããŠãå ·äœçãªäŸãæããŠèª¬æããŸãã
- ãªã¢ã«ã¿ã€ã åæ: NoSQLããŒã¿ããŒã¹ã¯ã倧éã®ããŒã¿ããªã¢ã«ã¿ã€ã ã§åãæ±ãããšãå¯èœãªããããªã¢ã«ã¿ã€ã åæã«é©ããŠããŸããäŸãã°ããŠãŒã¶ãŒã®è¡ååæãã»ã³ãµãŒããŒã¿ã®è§£æãªã©ãé«éã«ããŒã¿ãçæã»æ¶è²»ããã·ã¹ãã ã«ãããŠã¯ãNoSQLããŒã¿ããŒã¹ã®é«éãªèªã¿æžãèœåã倧ãã«åœ¹ç«ã¡ãŸãã
- 倧èŠæš¡ãªããŒã¿ã»ãã: NoSQLããŒã¿ããŒã¹ã¯ã¹ã±ãŒã©ããªãã£ã«åªããŠããããã倧èŠæš¡ãªããŒã¿ã»ãããæ±ãã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããŸããäŸãã°ããœãŒã·ã£ã«ãããã¯ãŒãã³ã°ãµã€ãã倧èŠæš¡ãªeã³ããŒã¹ãµã€ãã§ã¯ãæ°åå件ããæ°åå件ã®ããŒã¿ã管çããããšãæ±ããããŸãããã®ãããªå ŽåãNoSQLããŒã¿ããŒã¹ã®åæ£åŠçèœåã掻ããããšã§ãããŒã¿ã®ç®¡çãšåæãå¹ççã«è¡ãããšãã§ããŸãã
- é«éãªãã©ã³ã¶ã¯ã·ã§ã³: NoSQLããŒã¿ããŒã¹ã¯é«éãªèªã¿æžãèœåãæããŠãããããé«éãªãã©ã³ã¶ã¯ã·ã§ã³ãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããŸããäŸãã°ããªã³ã©ã€ã³ã²ãŒã ãåºåé ä¿¡ã·ã¹ãã ãªã©ã§ã¯ããŠãŒã¶ãŒããã®ãªã¯ãšã¹ãã«å¯ŸããŠé«éã«ã¬ã¹ãã³ã¹ãè¿ãããšãæ±ããããŸããNoSQLããŒã¿ããŒã¹ã䜿çšããã°ã倧éã®ãªã¯ãšã¹ãã«å¯ŸããŠãå®å®ããããã©ãŒãã³ã¹ãæäŸããããšãå¯èœã§ãã
以äžãNoSQLããŒã¿ããŒã¹ã®äžéšã®é©çšäŸã§ãããããããããã®ã·ããªãªã¯NoSQLããŒã¿ããŒã¹ã®å¯èœæ§ãã»ãã®äžéšãã瀺ããŠããŸããã
NoSQLããŒã¿ããŒã¹ã®çš®é¡ãšç¹æ§ã«ãã£ãŠããã®ä»ã«ãæ§ã ãªçšéã§æŽ»çšããããšãã§ããŸããäŸãã°ã
- éå±€ããŒã¿ç®¡ç: æšæ§é ãã°ã©ãæ§é ãªã©ã®éå±€ããŒã¿ãå¹ççã«ç®¡çããããã«ãããã¥ã¡ã³ãåãã°ã©ãåã®NoSQLããŒã¿ããŒã¹ã掻çšãããŸãããããã¯ãéå±€çãªé¢ä¿æ§ãçŽæçã«è¡šçŸããæè»ã«ããŒã¿æ§é ãå€æŽããããšãå¯èœã§ããããã«ãããããŒã¿ã®é¢é£æ§ãä¿ã¡ã€ã€ããå¿ èŠã«å¿ããŠããŒã¿æ§é ãæ¡åŒµããããšãã§ããŸãã
- IoTããŒã¿ç®¡ç: IoTããã€ã¹ããçæãããããŒã¿ã¯ããã®ããªã¥ãŒã ãé床ãå€æ§æ§ãããåŸæ¥ã®RDBMSã§ã¯é©åã«åŠçããããšãå°é£ã§ãããããããNoSQLããŒã¿ããŒã¹ã®ã¹ã±ãŒã©ããªãã£ãšé«éãªèªã¿æžãèœåã掻çšããããšã§ããããã®ããŒã¿ãå¹ççã«åŠçããããšãå¯èœã«ãªããŸãã
ãããã®äŸããããããããã«ãNoSQLããŒã¿ããŒã¹ã¯ãã®ç¹æ§ã掻ãããŠæ§ã ãªã·ãã¥ãšãŒã·ã§ã³ã§å©çšãããŠããŸããããããNoSQLããŒã¿ããŒã¹ãäžèœã§ããããã§ã¯ãããŸãããçšéãèŠä»¶ã«ãã£ãŠã¯ãåŸæ¥ã®RDBMSãããé©ããŠããå ŽåããããŸãããã®ãããããŒã¿ããŒã¹ãéžæããéã«ã¯ããã®ç¹æ§ãšèªèº«ã®èŠä»¶ããã£ãããšç解ããé©åãªããŒã¿ããŒã¹ãéžæããããšãéèŠã§ãã
9. ããŒã¿ããŒã¹ã®å°æ¥ãšãã¬ã³ã
9.2. AIãšããŒã¿ããŒã¹ã®èå
çŸä»£ã®ããŒã¿ããŒã¹æè¡ã¯ãAIïŒäººå·¥ç¥èœïŒãšã®èåã«ãããåŸæ¥ã®ããŒã¿ç®¡çãšã¯äžç·ãç»ããæ°ããªå¯èœæ§ãéããŠããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãAIãšããŒã¿ããŒã¹ãã©ã®ããã«èåãããããã©ã®ããã«ããŒã¿ç®¡çãæ¹åããŠããã®ãã«ã€ããŠè§£èª¬ããŸãã
- èªååãšæé©å: AIã¯ãããŒã¿ããŒã¹ã®éçšãšç®¡çãèªååããæé©åããããã®éèŠãªããŒã«ãšãªã£ãŠããŸããäŸãã°ãAIã¯ããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãç£èŠããå¿ èŠã«å¿ããŠãªãœãŒã¹ã®é åã調æŽããããåé¡ãèªåçã«ç¹å®ããŠè§£æ±ºãããããŸããããã«ãããããŒã¿ããŒã¹ã®éçšã³ã¹ããåæžããããã©ãŒãã³ã¹ãåäžãããããšãå¯èœã§ãã
- é«åºŠãªããŒã¿åæ: AIãšããŒã¿ããŒã¹ã®çµ±åã«ãããé«åºŠãªããŒã¿åæãå¯èœãšãªããŸããAIã¢ã«ãŽãªãºã ã¯ã倧éã®ããŒã¿ãé«éã«åŠçãããã¿ãŒã³ãåŸåãèŠã€ãåºãããšãå¯èœã§ããããã«ãããäŒæ¥ã¯éèŠãªããžãã¹ã€ã³ãµã€ããåŸãããã«ãããã®æ å ±ã掻çšããããšãã§ããŸãã
- ããŒã¿ã¯ã¬ã³ãžã³ã°: ããŒã¿ã¯ã¬ã³ãžã³ã°ãã€ãŸãããŒã¿ã®å質ãä¿ã€ããã®ããã»ã¹ããAIã®åãåããŠèªååãããŠããŸããAIã¯äžå®å šãªããŒã¿ãç¹å®ããæ¬ æå€ãæšæž¬ããããç°åžžå€ãæ€åºããŠä¿®æ£ãããããŸããããã«ãããããŒã¿ã®æŽåæ§ãšæ£ç¢ºæ§ãä¿ãããããŒã¿åæã®ä¿¡é Œæ§ãåäžããŸãã
ãããã®å©ç¹ã«ãããAIãšããŒã¿ããŒã¹ã®èåã¯ãããŒã¿ç®¡çãããå¹ççã§ãæŽç·Žããããã®ã«å€ããŠããŸããããã¯ãäŒæ¥ãããè¯ãææ決å®ãäžãããã®éèŠãªã¹ããããšãªããŸããã ãããããä»æ¥ã®ããžãã¹ç°å¢ã«ãããŠã¯ãAIãšããŒã¿ããŒã¹ã®èåã«ã€ããŠç解ããŠããããšãéèŠãªã®ã§ãã
9.3. ããŒã¿ããŒã¹ã®ã°ãªãŒã³åãšãµã¹ããããªãã£
ããŒã¿ããŒã¹æè¡ã¯ãæã ã®ããžã¿ã«ãªç掻ãæ¯ããéèŠãªã€ã³ãã©ã¹ãã©ã¯ãã£ã®äžéšã§ããããã®éçšã¯å€§éã®ãšãã«ã®ãŒãæ¶è²»ããç°å¢ã«åœ±é¿ãäžããŸããããããæè¡ã®é²æ©ã«ããã”ã°ãªãŒã³å”ãš”ãµã¹ããããªã㣔ãã€ãŸãç°å¢ã«é æ ®ããæç¶å¯èœãªéçšãžã®ã·ãããé²ãã§ããŸãã以äžã«ããã®äž»ãªèŠç¹ã解説ããŸãã
- ãšãã«ã®ãŒå¹çã®æ¹å: ããŒã¿ã»ã³ã¿ãŒã¯ããµãŒããŒã®å·åŽã®ããã«å€§éã®ãšãã«ã®ãŒãæ¶è²»ããŸããããããæ°ããªå·åŽæè¡ããšãã«ã®ãŒå¹çã®è¯ãããŒããŠã§ã¢ã®æ¡çšã«ããããã®ãšãã«ã®ãŒæ¶è²»éãæžããããšãå¯èœãšãªã£ãŠããŸãã
- ã¯ã©ãŠãããŒã¿ããŒã¹ã®å©çš: ã¯ã©ãŠãããŒã¿ããŒã¹ã¯ããªã³ãã¬ãã¹ã®ããŒã¿ã»ã³ã¿ãŒã«æ¯ã¹ãŠäžè¬çã«ãšãã«ã®ãŒå¹çãé«ãã§ããããã¯ãã¯ã©ãŠããããã€ããŒãã¹ã±ãŒã«ãšå¹çæ§ãè¿œæ±ããææ°ã®ãšãã«ã®ãŒå¹çæè¡ãæ¡çšããŠããããã§ãã
- ãµãŒããŒã¬ã¹ã¢ãŒããã¯ãã£: ãµãŒããŒã¬ã¹ã¢ãŒããã¯ãã£ã¯ããªãœãŒã¹ã®äœ¿çšãå¿ èŠãªæãšéã«éå®ããããšã«ããããšãã«ã®ãŒå¹çãåäžãããŸããããã«ãããäžå¿ èŠãªãšãã«ã®ãŒæ¶è²»ãåæžããããšãå¯èœã§ãã
ãããã®åãçµã¿ã«ãããããŒã¿ããŒã¹ã®ã°ãªãŒã³åãšãµã¹ããããªãã£ãé²ããããŠããŸããããŒã¿ããŒã¹æè¡ã¯ãç§ãã¡ã®ç掻ãšããžãã¹ããµããŒãããã ãã§ãªããå°çç°å¢ãžã®é æ ®ãå¿ããŠã¯ãªããªãéèŠãªé åã§ããããã®è²¬ä»»ãæããããã®åªåãç¶ããããŠããŸãã
10. ãŸãšãïŒããŒã¿ããŒã¹ã掻çšããããã®ã¹ãã«
10.1. å¿ èŠãªã¹ãã«ã»ãã
ããŒã¿ããŒã¹ç®¡çãããŒã¿ããŒã¹ã«é¢é£ããè·çš®ã§ã¯ãç¹å®ã®ã¹ãã«ã»ãããæ±ããããŸãã以äžã«ããã®é åã§æŽ»èºããããã«å¿ èŠãªäž»èŠãªã¹ãã«ãããã€ãæããŠã¿ãŸãããã
- SQLã®ç解: SQLïŒStructured Query LanguageïŒã¯ãããŒã¿ããŒã¹ãšå¯Ÿè©±ããããã®äž»èŠãªèšèªã§ããããŒã¿ã®æ€çŽ¢ãæ¿å ¥ãæŽæ°ãåé€ãªã©ãããŒã¿ããŒã¹ã§è¡ãåºæ¬çãªæäœã¯ãã¹ãŠSQLãçšããŠè¡ãããŸãããããã£ãŠãSQLã«ç²ŸéããŠããããšã¯ãããŒã¿ããŒã¹é¢é£ã®è·çš®ã«ãããŠå¿ é ã®ã¹ãã«ãšãªããŸãã
- ããŒã¿ã¢ããªã³ã°: ããŒã¿ããŒã¹ã®èšèšãšæé©åã®ããã«ã¯ãããŒã¿ã¢ããªã³ã°ã®ã¹ãã«ãå¿ èŠã§ããããã¯ãããŒã¿ã®é¢ä¿æ§ãç解ãããããæãå¹ççãªåœ¢ã§ããŒã¿ããŒã¹ã«è¡šçŸããèœåãæããŸãã
- ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒDBMSïŒã®ç解: MySQLãPostgreSQLãOracleãªã©ãããŸããŸãªDBMSãååšããŸãããããã®DBMSã®ç¹æ§ãšããããããé©ããŠããç¶æ³ãç解ããããšã¯éèŠãªã¹ãã«ã§ãã
- NoSQLããŒã¿ããŒã¹ã®ç解: åŸæ¥ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã ãã§ãªããNoSQLããŒã¿ããŒã¹ã«ã€ããŠã®ç解ãæ±ããããããšãå€ãã§ããMongoDBãCassandraãªã©ãNoSQLããŒã¿ããŒã¹ã¯å€§éã®ããŒã¿ãæ±ãéã«æçšã§ãã
- ããã°ã©ãã³ã°ã¹ãã«: PythonãJavaãªã©ã®ããã°ã©ãã³ã°èšèªã«ç²ŸéããŠããããšã¯ãããŒã¿ããŒã¹ãšã¢ããªã±ãŒã·ã§ã³ãæ¥ç¶ããããã«å¿ èŠãªã¹ãã«ã§ãããŸããããŒã¿åæãããŒã¿åŠçãè¡ãéã«ã圹ç«ã¡ãŸãã
ãããã®ã¹ãã«ã¯ãããŒã¿ããŒã¹ç®¡çãããŒã¿ããŒã¹é¢é£ã®è·çš®ã§æ±ããããäžéšã®ã¹ãã«ã§ããäžæ¹ã§ããããã®ã¹ãã«ã身ã«ã€ããããšã§ãããŒã¿ã«é¢é£ããæ§ã ãªè·çš®ã§åºã掻èºããããšãå¯èœãšãªããŸãã
ããã«é²ãã§ãã¯ã©ãŠãããŒã¿ããŒã¹ãµãŒãã¹ãAIãšããŒã¿ããŒã¹ã®èåã«ã€ããŠç解ããããšã¯ãçŸä»£ã®ããŒã¿é§ååããžãã¹ã«ãããŠãŸããŸãéèŠãšãªã£ãŠããŸããã¯ã©ãŠããµãŒãã¹ã®ç解ã¯ãããŒã¿ã®ã¹ã±ãŒãªã³ã°ã管çãå¹ççã«è¡ãããã®ã¹ãã«ãšãªããŸãããŸããAIãšããŒã¿ããŒã¹ã®èåã«ã€ããŠç解ããããšã§ãããŒã¿ããŒã¹ããã®ã€ã³ãµã€ãæœåºãããã©ãŒãã³ã¹æé©åã«ã€ããŠã®æ·±ãç¥èãåŸãããšãã§ããŸãã
æåŸã«ãããŒã¿ã»ãã¥ãªãã£ãšãã©ã€ãã·ãŒã«ã€ããŠã®ç解ããããŒã¿ããŒã¹ç®¡çè ãããŒã¿ãšã³ãžãã¢ãšãã£ãè·çš®ã§ã¯æ¬ ãããªãã¹ãã«ã§ããããŒã¿ã®ä¿è·ã¯ãããžãã¹ã®ä¿¡é Œæ§ãšæ³åŸéµå®ã®èŠ³ç¹ããéåžžã«éèŠã§ãããããŒã¿ããŒã¹ã®èšèšãå®è£ ãéçšã®ãã¹ãŠã®æ®µéã§èæ ®ãã¹ãäºé ã§ãã
以äžã®ã¹ãã«ã身ã«ã€ããããšã§ãããŒã¿ããŒã¹ã«é¢é£ããè·çš®ã§ã¯é«ãããã©ãŒãã³ã¹ãçºæ®ããããšãã§ããçµç¹ã®ããŒã¿æŠç¥ãæšé²ããéèŠãªåœ¹å²ãæããããšãã§ããŸãã
10.2. ããŒã¿ããŒã¹ã«é¢ããè³æ Œãšç ä¿®
ããŒã¿ããŒã¹æè¡ã®ç¥èãšã¹ãã«ã蚌æããããã«ãå€ãã®è³æ Œãšç ä¿®ãååšããŸãããããã®ããã°ã©ã ã¯ãåå¿è ããäžçŽè ãŸã§å¹ åºãã¬ãã«ã®ã¹ãã«ãæã€äººã ã«å¯ŸããŠãããŒã¿ããŒã¹ã®ç解ãæ·±ããå°éçãªæèœã磚ãããã®æ©äŒãæäŸããŸãã
以äžã«ãããŒã¿ããŒã¹ã«é¢é£ããäž»ãªè³æ Œãšç ä¿®ãããã€ã玹ä»ããŸãã
1. Microsoft Certified: Azure Data Engineer Associate
ãã®è³æ Œã¯ãAzure ããŒã¿ãµãŒãã¹ãçšããŠããŒã¿ãœãªã¥ãŒã·ã§ã³ãèšèšããã³å®è£
ããããã®ã¹ãã«ã蚌æããŸããããŒã¿ã¹ãã¬ãŒãžãšããŒã¿åŠçãããŒã¿ã®ã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹ãããŒã¿ããã©ãŒãã³ã¹ã®æé©åãªã©ãã¯ã©ãŠãããŒã¹ã®ããŒã¿ãœãªã¥ãŒã·ã§ã³ã®å
šäœçãªç解ãæ·±ããããšãã§ããŸãã
2. Oracle Database Certification
ãªã©ã¯ã«ã¯ãåçŽããäžçŽã¬ãã«ãŸã§ã®ããŒã¿ããŒã¹ç®¡çè
åãã«ãäžé£ã®è³æ Œããã°ã©ã ãæäŸããŠããŸãããããã®è³æ Œã¯ãããŒã¿ããŒã¹ã®èšèšãå®è£
ã管çãããã³æé©åã«é¢ãã詳现ãªç¥èã蚌æããŸãã
3. MongoDB Certified Developer
ãã®è³æ Œã¯ãéçºè
ã MongoDB ãçšããŠã¢ããªã±ãŒã·ã§ã³ãå¹æçã«éçºã§ããããšã蚌æããŸããè³æ ŒååŸè
ã¯ãMongoDB ã®åºæ¬çãªæŠå¿µããé«åºŠãªæ©èœãŸã§ãåºç¯ã§æ·±ãç解ãæã€ããšãæåŸ
ãããŸãã
4. AWS Certified Database – Specialty
ãã®è³æ Œã¯ãAWS ã®ããŒã¿ããŒã¹ãµãŒãã¹ãçšããŠãœãªã¥ãŒã·ã§ã³ãèšèšã移è¡ãããã³ç®¡çããã¹ãã«ã蚌æããŸããè³æ ŒååŸè
ã¯ãAWS ã®ããŒã¿ããŒã¹ãã¯ãããžãŒã®å
šäœçãªç解ãæã€ããšãæåŸ
ãããŸãã
ãããã®è³æ Œãç ä¿®ããã°ã©ã ãéããŠãããŒã¿ããŒã¹æè¡ã®ç¥èãšã¹ãã«ã蚌æãããã£ãªã¢ã®é²å±ã«åœ¹ç«ãŠãããšãã§ããŸãããããã®è³æ Œã¯ãæ±è·è ãä»ã®åè£è ãšå·®å¥åããéçšè ãæ±è·è ã®ã¹ãã«ã確èªããããã®ä¿¡é Œæ§ã®é«ãææšãšãªããŸãã
ãŸããåè³æ Œã«ã¯äžå®ã®åæç¥èãçµéšãæ±ãããããããèªèº«ã®ã¹ãã«ã¬ãã«ã«åãããè³æ Œãéžã¶ããšãéèŠã§ããåå¿è ã¯åºæ¬çãªããŒã¿ããŒã¹ã®æŠå¿µãåŠã¶ããã®è³æ Œããå§ããçµéšãç©ãã åŸã«ããé«åºŠãªè³æ ŒãååŸããããšãèãããšè¯ãã§ãããã
ããã«ãè³æ Œã ãã§ãªããåçš®ç ä¿®ããã°ã©ã ãå©çšããããšã§ãããå ·äœçãªã¹ãã«ãç¥èã身ã«ã€ããããšãå¯èœã§ããäŸãã°ãCourseraãUdemyã®ãããªãªã³ã©ã€ã³åŠç¿ãã©ãããã©ãŒã ã§ã¯ãããŒã¿ããŒã¹ã®èšèšãSQLã®åºæ¬ãNoSQLããŒã¿ããŒã¹ã®äœ¿çšæ¹æ³ãªã©ãå¹ åºããããã¯ã«ã€ããŠåŠã¶ããšãã§ããŸãã
æåŸã«ãå®æçãªç¶ç¶åŠç¿ã¯ããŒã¿ããŒã¹å°é家ãšããŠå¿ èŠäžå¯æ¬ ã§ããããŒã¿ããŒã¹æè¡ã¯åžžã«é²åããŠãããæ°ããããŒã¿ã¢ããªã³ã°ææ³ãããŒã¿ããŒã¹ãããŒãžã¡ã³ãã·ã¹ãã (DBMS)ãããŒã¿ã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ãªã©ãè¿œãã€ã€ãèªèº«ã®ã¹ãã«ãåžžã«ææ°ã®ãã®ã«ä¿ã€ããšãéèŠã§ãã
10.3. ããŒã¿ããŒã¹ãã£ãªã¢ã®å±æ
ããŒã¿ããŒã¹æè¡ã®çºå±ã«äŒŽããããŒã¿ããŒã¹å°é家ã®ãã£ãªã¢ãã¹ãå€æ§åããŠããŸãã
ããŒã¿ããŒã¹ç®¡çè (DBA)ã¯ãããŒã¿ããŒã¹ã®èšèšãå®è£ ãã¡ã³ããã³ã¹ãããã©ãŒãã³ã¹ã®æé©åãªã©ãããŒã¿ããŒã¹ã«é¢ããå šè¬çãªè²¬ä»»ãæ ãè·çš®ã§ããDBAã¯ããžãã¹ã®ããŒãºãç解ããããã«é©ããããŒã¿ããŒã¹ãœãªã¥ãŒã·ã§ã³ãæäŸããèœåãæ±ããããŸãã
äžæ¹ãããŒã¿ãšã³ãžãã¢ã¯ã倧èŠæš¡ãªããŒã¿ã»ããã®åéãå€æãä¿åãæ åœããŸãã圌ãã¯ãã°ãã°ãããŒã¿ãŠã§ã¢ããŠã¹ãããã°ããŒã¿ãã©ãããã©ãŒã ãããŒã¿ãã€ãã©ã€ã³ã®èšèšãšç®¡çã«æºãããŸãã
ãããŠãããŒã¿ã¢ãŒããã¯ãã¯ãäŒæ¥å šäœã®ããŒã¿æŠç¥ãæ§ç¯ããå®è¡ãã圹å²ãæãããŸãã圌ãã¯ããŒã¿ããŒã¹ã®èšèšãããŒã¿ã¢ããªã³ã°ãããŒã¿çµ±åãããŒã¿ã¬ããã³ã¹ãããŒã¿ã»ãã¥ãªãã£ãªã©ã«é¢ããæ·±ãç解ãå¿ èŠã§ãã
ãããã®è·çš®ã¯å šãŠã匷åºãªããŒã¿ããŒã¹ç¥èãšçµéšãå¿ èŠãšããŸããããã®ä»ã«ããœããã¹ãã«ïŒã³ãã¥ãã±ãŒã·ã§ã³èœåãåé¡è§£æ±ºèœåãªã©ïŒãéèŠã§ããããŒã¿ããŒã¹å°é家ã¯ãã°ãã°ãããžãã¹ã¹ããŒã¯ãã«ããŒãéçºè ãããŒã¿ãµã€ãšã³ãã£ã¹ããªã©ãæ§ã ãªããã¯ã°ã©ãŠã³ããæã€ããŒã ã¡ã³ããŒãšååããªããã°ãªããªãããã§ãã
ããŒã¿ãããžãã¹ãšãã¯ãããžãŒã®äžçã§ãŸããŸãéèŠã«ãªãã«ã€ããŠãããŒã¿ããŒã¹å°é家ã«å¯ŸããéèŠã¯é«ãŸãäžæ¹ã§ããæ°ããããŒã¿ããŒã¹æè¡ã®å°å ¥ãããŒã¿ã»ãã¥ãªãã£ã®åŒ·åãããŒã¿é§åã®ææ決å®ãžã®ç§»è¡ãªã©ãå€ãã®äŒæ¥ãããŒã¿ããŒã¹å°é家ãæ±ããŠããŸãããããã®ååã¯ãããŒã¿ããŒã¹ãã£ãªã¢ãä»åŸãæé·ãç¶ããããšã瀺ããŠããŸãã