ããŒã¿ããŒã¹ã¯çŸä»£ã®ããžãã¹ã«æ¬ ãããªãååšã§ããããã®äžã§ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯æãåºã䜿ãããŠãã圢åŒã§ãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšã¯äžäœã©ã®ãããªãã®ãªã®ã§ããããïŒæ¬èšäºã§ã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®åºç€ç¥èããä»çµã¿ãã¡ãªããã»ãã¡ãªãããŸã§ãåå¿è åãã«åããããã解説ããŸããããããããŒã¿ããŒã¹ã«ã€ããŠåŠãŒããšããæ¹ããããžãã¹ã§ã®ããŒã¿æŽ»çšã«èå³ãããæ¹ã¯ããã²ãäžèªãã ããããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãç解ããããšã§ãå¹ççãªããŒã¿ç®¡çãšããžãã¹ã®ææ決å®ååäžã«ã€ãªããã¯ãã§ãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšã¯
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšã¯ãããŒã¿ãè¡ãšåããæãäºæ¬¡å ã®è¡šåœ¢åŒã§ç®¡çãããããã®ããŒãã«å士ãé¢é£ä»ããããšã§å¹ççãªããŒã¿ç®¡çãå®çŸããããŒã¿ããŒã¹ã·ã¹ãã ã§ããçŸåšæãåºã䜿ãããŠããããŒã¿ããŒã¹ã®åœ¢åŒã§ãããããžãã¹ã·ãŒã³ã«ãããŠãæ¬ ãããªãååšãšãªã£ãŠããŸãã
ããŒã¿ããŒã¹ã®åºç€ç¥è
ããŒã¿ããŒã¹ãšã¯ãæ å ±ãäœç³»çã«æŽçããå¹ççã«ç®¡çã»éçšããããã®ã·ã¹ãã ã®ããšãæããŸãã倧éã®ããŒã¿ãäžå 管çããå¿ èŠãªæ å ±ãçŽ æ©ãåãåºããããã«ããããšã§ãæ¥åã®å¹çåãææ決å®ã®è¿ éåã«åœ¹ç«ã¡ãŸããããŒã¿ããŒã¹ã«ã¯ä»¥äžã®ãããªçš®é¡ããããŸãã
- éå±€åããŒã¿ããŒã¹
- ãããã¯ãŒã¯åããŒã¿ããŒã¹
- ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹
- ãªããžã§ã¯ãæåããŒã¿ããŒã¹
- NoSQLããŒã¿ããŒã¹
ãã®äžã§ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯æãäžè¬çã«äœ¿çšãããŠãã圢åŒã§ãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®å®çŸ©
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãããŒã¿ããé¢ä¿ããšããŠæ±ãããŒã¿ããŒã¹ç®¡çã·ã¹ãã ïŒDBMSïŒã®äžçš®ã§ããããŒã¿ã¯è¡šåœ¢åŒã§æ ŒçŽãããåããŒãã«ã¯è¡ïŒã¬ã³ãŒãïŒãšåïŒãã£ãŒã«ãïŒããæ§æãããŸãããããã®ããŒãã«ãé¢é£ä»ããããšã§ãããŒã¿ã®éè€ãæå°éã«æãã€ã€ãæè»æ§ã®é«ãããŒã¿ç®¡çãå¯èœãšãªããŸãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®åºæ¬æŠå¿µã¯ä»¥äžã®éãã§ãã
- ãšã³ãã£ãã£ïŒå®äœïŒïŒç®¡ç察象ãšãªãããŒã¿ã®åäœ
- å±æ§ïŒãšã³ãã£ãã£ãæã€æ§è³ªãç¹åŸŽ
- é¢ä¿ïŒãšã³ãã£ãã£éã®é¢é£æ§
- äž»ããŒïŒåã¬ã³ãŒããäžæã«èå¥ããããã®å±æ§
- å€éšããŒïŒä»ã®ããŒãã«ã®äž»ããŒãåç §ããå±æ§
ãããã®æŠå¿µã«åºã¥ããæ£èŠåãšåŒã°ããèšèšææ³ãçšããŠããŒãã«ãåå²ã»é¢é£ä»ããããšã§ãããŒã¿ã®æŽåæ§ãšå¹çæ§ãé«ããããšãã§ããŸãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®ç¹åŸŽ
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«ã¯ä»¥äžã®ãããªç¹åŸŽããããŸãã
- ããŒã¿ã®ç¬ç«æ§ïŒã¢ããªã±ãŒã·ã§ã³ãšããŒã¿ãåé¢ã§ãããããå€æŽã®åœ±é¿ãæå°éã«æãããã
- ããŒã¿ã®æŽåæ§ïŒæ£èŠåã«ãã£ãŠããŒã¿ã®éè€ãæé€ããççŸã®ãªãäžè²«ããããŒã¿ãç¶æã§ãã
- æè»ãªã¯ãšãªïŒSQLïŒæ§é åç §äŒèšèªïŒã䜿çšããŠãè€éãªæ¡ä»¶ã§ã®ããŒã¿æ€çŽ¢ãéèšãå¯èœ
- åæå®è¡å¶åŸ¡ïŒãã©ã³ã¶ã¯ã·ã§ã³ç®¡çã«ãããè€æ°ãŠãŒã¶ãŒãåæã«ããŒã¿ã«ã¢ã¯ã»ã¹ããŠãæŽåæ§ãä¿ããã
- ã»ãã¥ãªãã£ïŒã¢ã¯ã»ã¹æš©éã®èšå®ã«ãããæ©å¯ããŒã¿ã®ä¿è·ãå¯èœ
ãããã®ç¹åŸŽã«ããããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯å€§èŠæš¡ãªããŒã¿ç®¡çã«é©ããŠãããéèæ©é¢ãå ¬å ±æ©é¢ãäŒæ¥ãªã©å¹ åºãåéã§æŽ»çšãããŠããŸãã代衚çãªãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ãšããŠã¯ãOracle DatabaseãMySQLãMicrosoft SQL ServerãPostgreSQLãªã©ãæããããŸãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãå¹æçã«éçšããããã«ã¯ãé©åãªèšèšãšæ£èŠåãã€ã³ããã¯ã¹ã®äœæãããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ãªã©ãéèŠãšãªããŸãããŸããæšä»ã§ã¯ããã°ããŒã¿ãžã®å¯Ÿå¿ãã¯ã©ãŠãç°å¢ã§ã®éçšãªã©ãæ°ããªèª²é¡ã«ãåãçµãå¿ èŠããããŸããããŒã¿æŽ»çšã®éèŠæ§ãé«ãŸãäžããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«é¢ããç¥èã¯ãçŸä»£ã®ããžãã¹ããŒãœã³ã«ãšã£ãŠäžå¯æ¬ ãªã¹ãã«ã®äžã€ãšèšããã§ãããã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®ä»çµã¿
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãããŒã¿ã衚圢åŒã§ç®¡çãããããã®è¡šãé¢é£ä»ããããšã§å¹ççãªããŒã¿ç®¡çãå®çŸããŸããããã§ã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®ä»çµã¿ã«ã€ããŠè©³ãã解説ããŠãããŸãã
ããŒãã«ãšã¬ã³ãŒã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ã¯ãããŒã¿ããããŒãã«ããšåŒã°ãã衚圢åŒã§ç®¡çããŸããããŒãã«ã¯ãè¡ïŒã¬ã³ãŒãïŒãšåïŒãã£ãŒã«ãïŒããæ§æãããŸããåè¡ã¯ããŒã¿ã®1ã€ã®èšé²ãè¡šããååã¯ããŒã¿ã®å±æ§ãè¡šããŸããäŸãã°ãã顧客ããšããããŒãã«ã§ã¯ã1è¡ã1人ã®é¡§å®¢ã®æ å ±ãè¡šããåã«ã¯ã顧客IDããæ°åããäœæããªã©ã®å±æ§ãå«ãŸããŸãã
ããŒãã«ãèšèšããéã¯ã次ã®ç¹ã«æ³šæããå¿ èŠããããŸãã
- ããŒãã«åã¯ã管ç察象ã®ãšã³ãã£ãã£ïŒå®äœïŒãé©åã«è¡šçŸããååã«ãã
- ååã¯ãå±æ§ãç確ã«è¡šãååã«ãã
- ããŒã¿åïŒæååãæ°å€ãæ¥ä»ãªã©ïŒãé©åã«éžæãã
- å¿ èŠã«å¿ããŠãå¶çŽïŒäž»ããŒãå€éšããŒããŠããŒã¯ããŒãªã©ïŒãèšå®ãã
é©åãªããŒãã«èšèšã¯ãããŒã¿ã®æŽåæ§ãšå¹çæ§ãé«ããããã«éèŠã§ãã
äž»ããŒãšå€éšããŒ
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ã¯ãããŒãã«éã®é¢é£ä»ãã«ãäž»ããŒããšãå€éšããŒãã䜿çšãããŸãã
äž»ããŒã¯ãããŒãã«å ã®åã¬ã³ãŒããäžæã«èå¥ããããã®åã§ããäž»ããŒã«ã¯ãéè€ããå€ã NULL å€ãå«ããããšãã§ããŸãããäŸãã°ãã顧客ãããŒãã«ã§ã¯ã顧客IDããäž»ããŒãšãªããŸãã
å€éšããŒã¯ãããããŒãã«ã®åããä»ã®ããŒãã«ã®äž»ããŒãåç §ããããšã瀺ããŸããããã«ãããããŒãã«éã®é¢é£ä»ããå®çŸãããŸããäŸãã°ãã泚æãããŒãã«ã®ã顧客IDãåããã顧客ãããŒãã«ã®äž»ããŒãåç §ããå€éšããŒãšãªããŸãã
äž»ããŒãšå€éšããŒãé©åã«èšå®ããããšã§ãããŒã¿ã®æŽåæ§ãç¶æããå¹ççãªããŒã¿æ€çŽ¢ãå¯èœã«ãªããŸãã
æ£èŠåãšã¯
æ£èŠåãšã¯ãããŒã¿ã®éè€ãæé€ããããŒã¿ã®äŸåé¢ä¿ãæŽçããããšã§ãããŒã¿ã®äžè²«æ§ãšå¹çæ§ãé«ããããã®èšèšææ³ã§ããæ£èŠåã§ã¯ã以äžã®æ®µéã«åããŠããŒãã«ãåå²ã»åæ§æããŸãã
- 第1æ£èŠåœ¢ïŒ1NFïŒïŒç¹°ãè¿ãé ç®ã®æé€ãšäž»ããŒã®èšå®
- 第2æ£èŠåœ¢ïŒ2NFïŒïŒéšåé¢æ°åŸå±ã®æé€
- 第3æ£èŠåœ¢ïŒ3NFïŒïŒæšç§»çé¢æ°åŸå±ã®æé€
- ãã€ã¹ã»ã³ããæ£èŠåœ¢ïŒBCNFïŒïŒæ±ºå®åã®é¢æ°åŸå±ã®æé€
- 第4æ£èŠåœ¢ïŒ4NFïŒïŒå€å€åŸå±ã®æé€
- 第5æ£èŠåœ¢ïŒ5NFïŒïŒçµååŸå±ã®æé€
æ£èŠåãé©åã«è¡ãããšã§ãããŒã¿ã®æŽæ°æã®äžæŽåãé²ããããŒã¿ã®åé·æ§ãæžããããšãã§ããŸãããã ããæ£èŠåãé²ãããããšããŒãã«ã现ååãããããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããããé©åºŠãªæ£èŠåãæ±ããããŸãã
以äžããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®ä»çµã¿ã«ã€ããŠè§£èª¬ããŸãããããŒãã«ãšã¬ã³ãŒããäž»ããŒãšå€éšããŒãæ£èŠåã®æŠå¿µãç解ããããšã§ãå¹ççãªããŒã¿ããŒã¹èšèšãå¯èœãšãªããŸãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãé©åã«éçšããããšã§ãããžãã¹ã«ãããããŒã¿ç®¡çã®èª²é¡ã解決ããææ決å®ã®è¿ éåãæ¥åã®å¹çåãå®çŸããããšãã§ããã§ãããã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®å©ç¹ãšæ¬ ç¹
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãããŒã¿ã衚圢åŒã§ç®¡çããããŒãã«éã®é¢é£ä»ãã«ãã£ãŠå¹ççãªããŒã¿æäœãå¯èœã«ããããŒã¿ããŒã¹ç®¡çã·ã¹ãã ã§ããããžãã¹ã·ãŒã³ã§åºãå©çšãããŠãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«ã¯ãæ§ã ãªã¡ãªãããšãã¡ãªããããããŸãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®ã¡ãªãã
- ããŒã¿ã®æŽåæ§ãšäžè²«æ§ã®ç¶æ
- æ£èŠåã«ãã£ãŠããŒã¿ã®éè€ãæé€ããççŸã®ãªãããŒã¿ãä¿æã§ãã
- å¶çŽïŒäž»ããŒãå€éšããŒããŠããŒã¯ããŒãªã©ïŒã®èšå®ã«ãããããŒã¿ã®æŽåæ§ãä¿èšŒã§ãã
- æè»ãªããŒã¿æäœ
- SQLãçšããŠãè€éãªæ¡ä»¶ã§ã®ããŒã¿æ€çŽ¢ãéèšãå¯èœ
- ããŒãã«éã®çµåã«ãããé¢é£ããããŒã¿ãå¹ççã«ååŸã§ãã
- åæå®è¡å¶åŸ¡ãšãã©ã³ã¶ã¯ã·ã§ã³ç®¡ç
- è€æ°ãŠãŒã¶ãŒãåæã«ããŒã¿ã«ã¢ã¯ã»ã¹ããŠããæŽåæ§ãç¶æã§ãã
- ãã©ã³ã¶ã¯ã·ã§ã³ç®¡çã«ãããããŒã¿ã®æŽæ°ãå®å šã«è¡ãã
- ã»ãã¥ãªãã£ã®ç¢ºä¿
- ã¢ã¯ã»ã¹æš©éã®èšå®ã«ãããæ©å¯ããŒã¿ã®ä¿è·ãå¯èœ
- ç£æ»æ©èœã«ãããããŒã¿ã®äžæ£ã¢ã¯ã»ã¹ãæ€ç¥ã§ãã
- è±å¯ãªå®çžŸãšåºããµããŒã
- é·å¹Žã®å®çžŸã«ãããä¿¡é Œæ§ãšå®å®æ§ãé«ã
- ãµããŒããµãŒãã¹ãæè²ãªãœãŒã¹ãå å®ããŠãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®ãã¡ãªãã
- ã¹ã±ãŒã©ããªãã£ã®å¶é
- 倧èŠæš¡ãªããŒã¿éãé«ãæžã蟌ã¿è² è·ã«ã¯å¯Ÿå¿ãã¥ãã
- æ°Žå¹³ã¹ã±ãŒãªã³ã°ãé£ãããã³ã¹ããããã
- æè»æ§ã®äœã
- ã¹ããŒãã®å€æŽãé£ãããã¢ããªã±ãŒã·ã§ã³ã®å€æŽã«ã圱é¿ãã
- éæ§é åããŒã¿ãåæ§é åããŒã¿ã®æ±ããèŠæ
- ããã©ãŒãã³ã¹ã®åé¡
- è€éãªã¯ãšãªã倧éã®ããŒã¿åŠçã§ã¯ãããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããã
- é©åãªã€ã³ããã¯ã¹èšèšããã¥ãŒãã³ã°ãå¿ èŠ
- åŠç¿ã³ã¹ããšéçšã³ã¹ã
- æ£èŠåã SQL ã®ç¿åŸã«ã¯äžå®ã®åŠç¿ã³ã¹ããããã
- ããã¯ã¢ããããªã«ããªããã¥ãŒãã³ã°ãªã©ãéçšã«ã¯å°éçãªç¥èãå¿ èŠ
ä»ã®ããŒã¿ããŒã¹ãšã®æ¯èŒ
è¿å¹ŽãNoSQLããŒã¿ããŒã¹ãNewSQLããŒã¿ããŒã¹ãªã©ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšã¯ç°ãªãã¢ãããŒãã®ããŒã¿ããŒã¹ã泚ç®ãããŠããŸããããããã®ããŒã¿ããŒã¹ã«ã¯ã以äžã®ãããªç¹åŸŽããããŸãã
ããŒã¿ããŒã¹ã®çš®é¡ | ç¹åŸŽ |
---|---|
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ |
|
NoSQLããŒã¿ããŒã¹ïŒããã¥ã¡ã³ãåãããŒããªã¥ãŒåãã«ã©ã åãã°ã©ãåãªã©ïŒ |
|
NewSQLããŒã¿ããŒã¹ |
|
ããŒã¿ããŒã¹ã®éžæã«ã¯ãããŒã¿ã®ç¹æ§ãèŠä»¶ãéçºãªãœãŒã¹ãªã©ãç·åçã«èæ ®ããå¿ èŠããããŸãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãããŒã¿ã®äžè²«æ§ãšæŽåæ§ãéèŠãªæ¥åã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããŸããã倧èŠæš¡ãªããŒã¿åŠçããªã¢ã«ã¿ã€ã æ§ãæ±ããããå Žåã«ã¯ãNoSQLãNewSQLã®å°å ¥ãæ€èšããããšãæå¹ã§ãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®ã¡ãªããã掻ããã€ã€ããã¡ãªãããè£ãããã«ã¯ãé©åãªèšèšãšéçšãäžå¯æ¬ ã§ããæ£èŠåãã€ã³ããã¯ã¹ã®èšèšãSQLãã¥ãŒãã³ã°ãããã¯ã¢ããæŠç¥ãªã©ãæ§ã ãªèŠ³ç¹ããããŒã¿ããŒã¹ãæé©åããããšã§ãããžãã¹ã®èŠä»¶ã«åã£ãããŒã¿ç®¡çåºç€ãæ§ç¯ããããšãã§ããã§ãããã
ãŸãšã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãè¡ãšåã§æ§æãããããŒãã«ã䜿ã£ãŠããŒã¿ã管çããããŒãã«å士ãé¢é£ä»ããããšã§å¹ççãªããŒã¿æäœãå®çŸããããŒã¿ããŒã¹ç®¡çã·ã¹ãã ã§ããããŒã¿ã®æŽåæ§ãšäžè²«æ§ã®ç¶æãæè»ãªã¯ãšãªåŠçãåæå®è¡å¶åŸ¡ãªã©ã®ç¹åŸŽããããããžãã¹ã·ãŒã³ã§åºãå©çšãããŠããŸããäžæ¹ã§ãã¹ã±ãŒã©ããªãã£ãæè»æ§ã®é¢ã§ãã¡ãªããããããããããŒã¿ã®ç¹æ§ãèŠä»¶ã«å¿ããŠé©åãªããŒã¿ããŒã¹ãéžæããããšãéèŠã§ãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãå¹æçã«æŽ»çšããã«ã¯ãæ£èŠåãã€ã³ããã¯ã¹ã®èšèšãSQLãã¥ãŒãã³ã°ãªã©ã®æé©åãäžå¯æ¬ ã§ãããã