č³‡ę ¼éƒØ šŸ“

ć‚ć‚‰ć‚†ć‚‹č³‡ę ¼ć®č©¦éØ“ęƒ…å ±ć€åƾē­–ę–¹ę³•ć€éŽåŽ»å•é”Œćƒ»ęØ”ę“¬å•é”Œć‚’č§£čŖ¬

ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‚¹ćƒšć‚·ćƒ£ćƒŖć‚¹ćƒˆč©¦éؓ ćƒćƒ¼ćƒˆć‚·ćƒ¼ćƒˆ 令和3幓åŗ¦ē§‹ęœŸē‰ˆ

ć€€ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‚¹ćƒšć‚·ćƒ£ćƒŖć‚¹ćƒˆč©¦éØ“ć‚’å—éØ“ć™ć‚‹ę–¹å‘ć‘ć«ć€åˆå‰ā…”åƾē­–ć‚’äø­åæƒćØć—ćŸćƒćƒ¼ćƒˆć‚·ćƒ¼ćƒˆć‚’ē”Øę„ć—ć¾ć—ćŸć€‚
怀恓恔悉ćÆć€ć‚ćć¾ć§č©¦éØ“åˆę ¼ć‚’ē›®ēš„ćØć—ćŸå†…å®¹ć«ćŖć£ć¦ć„ć¾ć™ć®ć§ć€ćć”ć‚“ćØå­¦ēæ’ć—ćŸć„ę–¹ćÆć€éŽåŽ»å•é”Œč§£čŖ¬ćƒšćƒ¼ć‚øē­‰ć‚’ć”č¦§ćć ć•ć„ć€‚

試éؓ刄

午前ā… 

ć€€åŒę™‚é–‹å‚¬ć®åæœē”Øęƒ…å ±ęŠ€č”“č€…č©¦éؓ午前問锌ćØåŒć˜å•é”ŒćŒå‡ŗé”Œć•ć‚Œć¾ć™ć€‚ļ¼ˆ80問äø­30問ļ¼‰
ć‚ˆć£ć¦ć€åƾē­–ćÆåæœē”Øęƒ…å ±ęŠ€č”“č€…ć®ćƒšćƒ¼ć‚øć‚’å‚č€ƒć«ć—ć¦ćć ć•ć„ć€‚
怀ćŖćŠć€åˆå‰ā… ćÆåæœē”Øęƒ…å ±or高åŗ¦åŒŗåˆ†ć®åˆę ¼ć‹ć€åˆå‰ā… ć®éƒØåˆ†åˆę ¼ć«ć‚ˆć‚Šć€2å¹“é–“ć®å…é™¤ć‚’å—ć‘ć‚‰ć‚Œć¾ć™ć€‚

Ā 

午前ā…”

怀重ē‚¹åˆ†é‡Žć€ć‹ć¤å‡ŗ锌åÆčƒ½ę€§ćŒä½Žć„å•é”Œļ¼ˆē›“čæ‘åˆ†ćƒ»é‡č¤‡åˆ†ļ¼‰ć‚’é™¤å¤–ć—ćŸéŽåŽ»å•é”Œć«ć¤ć„ć¦ć€å•é”ŒćØē­”ćˆć®ćæ悒ꊜē²‹ć—ć¾ć—ćŸć€‚

ć€€ä¾‹å¹“é€šć‚Šć§ć‚ć‚Œć°ć€å•é”Œć®4割ē؋åŗ¦ćÆ态仄äø‹ć®ē“„130å•ć®äø­ć‹ć‚‰å‡ŗé”Œć•ć‚Œć¾ć™ć®ć§ć€ē›“å‰ć®ē¢ŗčŖļ¼ˆč©°ć‚č¾¼ćæļ¼Ÿļ¼‰ć«ć”利ē”Ø恏恠恕恄怂

Ā 

ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ļ¼ˆå•1怜18ļ¼‰

ļ¼±ć€€ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®3å±¤ć‚¹ć‚­ćƒ¼ćƒžć‚¢ćƒ¼ć‚­ćƒ†ć‚Æćƒćƒ£ć«é–¢ć™ć‚‹čؘčæ°ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀ꦂåæµć‚¹ć‚­ćƒ¼ćƒžćÆļ¼Œå†…éƒØć‚¹ć‚­ćƒ¼ćƒžćØ外éƒØć‚¹ć‚­ćƒ¼ćƒžć®é–“ć«ä½ē½®ć—ļ¼Œć‚Øćƒ³ćƒ†ć‚£ćƒ†ć‚£ć‚„ćƒ‡ćƒ¼ć‚æ項ē›®ē›øäŗ’ć®é–¢äæ‚ć«é–¢ć™ć‚‹ęƒ…å ±ć‚’ć‚‚ć¤ć€‚

Ā 

ļ¼±ć€€UML悒ē”Ø恄恦č”Øć—ćŸå•†å“ćØ倉åŗ«ć®ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œå•†å“ć®å€‰åŗ«é–“恮ē§»å‹•ćÆćŖ恄悂恮ćØ恙悋怂

f:id:trhnmr:20210716153100p:plain

ļ¼”怀1ēØ®é”žć®å•†å“ć‚’äŗŒć¤ć®å€‰åŗ«ć«åˆć‚ć¦å…„åŗ«ć™ć‚‹ćØļ¼Œā€œåœØåŗ«å•†å“ā€ćƒ‡ćƒ¼ć‚æ恌2件čæ½åŠ ć•ć‚Œć‚‹ć€‚

Ā 

ļ¼±ć€€kꬔ恮BęœØ꧋造恫恊恄恦ļ¼Œćƒ«ćƒ¼ćƒˆćƒŽćƒ¼ćƒ‰ćÆi個ļ¼ˆ1 ā‰¦ i ā‰¦ 2kļ¼‰ć®ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’悂恔ļ¼Œćƒ«ćƒ¼ćƒˆä»„å¤–ć®ćƒŽćƒ¼ćƒ‰ćÆj個ļ¼ˆk ā‰¦ j ā‰¦ 2kļ¼‰ć®ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’悂恤悂恮ćØć™ć‚‹ć€‚ćƒ«ćƒ¼ćƒˆćƒŽćƒ¼ćƒ‰ć‚’1ꮵē›®ćØć—ćŸå “åˆļ¼ŒBęœØćÆ1ꮵē›®ć‹ć‚‰nꮵē›®ć¾ć§ć«ęœ€å¤§ä½•ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ę ¼ē“ć™ć‚‹ć“ćØ恌恧恍悋恋怂恓恓恧ļ¼Œkļ¼ŒnćÆč‡Ŗē„¶ę•°ćØ恗ļ¼Œn ā‰§ 2ćØ恙悋怂

ļ¼”怀(2k + 1)n - 1

Ā 

ļ¼±ć€€ę¦‚åæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć®čŖ¬ę˜ŽćØ恗恦ļ¼Œęœ€ć‚‚適切ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀åÆ¾č±”äø–ē•Œć®ęƒ…å ±ę§‹é€ ć‚’ęŠ½č±”åŒ–ć—ć¦č”Øē¾ć—ćŸć‚‚ć®ć§ć‚ć‚‹ć€‚

Ā 

ļ¼±ć€€é–¢äæ‚ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć«ćŠć„ć¦å±žę€§Aļ¼ŒBć‚’č€ƒćˆć‚‹ć€‚å±žę€§Ać®ćƒ‰ćƒ”ć‚¤ćƒ³ļ¼ˆå®šē¾©åŸŸļ¼‰ćÆmå€‹ć®č¦ē“ ć‹ć‚‰ęˆć‚‹é›†åˆć§ć‚ć‚Šļ¼Œå±žę€§Bć®ćƒ‰ćƒ”ć‚¤ćƒ³ćÆnå€‹ć®č¦ē“ ć‹ć‚‰ęˆć‚‹é›†åˆć§ć‚ć‚‹ćØ恙悋怂恓恮ćØ恍ļ¼Œé–¢äæ‚R悒R(A, B)ćØ恙悋ćØļ¼ŒR恫ćÆęœ€å¤§ä½•å€‹ć®ć‚æćƒ—ćƒ«ćŒć‚ć‚‹ć‹ć€‚

ļ¼”怀mn

Ā 

ļ¼±ć€€å›³ć®ć‚ˆć†ćŖ関äæ‚R(A, B)恫恊恄恦ļ¼Œå±žę€§Ać®å®šē¾©åŸŸć®č¦ē“ ćÆ{a1, a2 ,a3}ļ¼Œå±žę€§Bć®å®šē¾©åŸŸć®č¦ē“ ćÆ{b1, b2}恧恂悋怂a1ćØb1悒ēµć¶ē·šćÆļ¼Œ(a1, b1)ć®ć‚ˆć†ć«ļ¼Œé–¢äæ‚R恮要ē“ ć‚’č”Øć—ć¦ć„ć‚‹ć€‚ć“ć®é–¢äæ‚R恮要ē“ ć‚’č”Ø恙čŖžćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210716154035p:plain

ļ¼”怀ēµ„

Ā 

ļ¼±ć€€ANSI/SPARC3å±¤ć‚¹ć‚­ćƒ¼ćƒžć«é–¢ć™ć‚‹čؘčæ°ćØ恗恦ļ¼Œé©åˆ‡ć§ćŖ恄悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€é–¢äæ‚ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®ćƒ“ćƒ„ćƒ¼ć‚„ćƒćƒƒćƒˆćƒÆćƒ¼ć‚Æćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®ć‚µćƒ–ć‚¹ć‚­ćƒ¼ćƒžćÆļ¼Œę¦‚åæµć‚¹ć‚­ćƒ¼ćƒžć«ē›øå½“ć™ć‚‹ć€‚

Ā 

ļ¼±ć€€éƒØļ¼ŒčŖ²ļ¼Œäæ‚ć®éšŽå±¤é–¢äæ‚ć‹ć‚‰ęˆć‚‹ēµ„ē¹”ć®ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ćØ恗恦ļ¼Œćƒ¢ćƒ‡ćƒ«Aļ½žC恮äø‰ć¤ć®ę”ˆćŒęå‡ŗć•ć‚ŒćŸć€‚ć“ć‚Œć‚‰ć«åÆ¾ć™ć‚‹č§£é‡ˆćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ēµ„ē¹”éšŽå±¤ć«ćŠć‘ć‚‹ēµ„ē¹”ć®ä½ē½®ć‚’ēµ„ē¹”ćƒ¬ćƒ™ćƒ«ćØå‘¼ć¶ć€‚ēµ„ē¹”é–“ć®éšŽå±¤é–¢äæ‚ćÆļ¼Œč¦Ŗ子ćØ恗恦čؘčæ°ć—恦恄悋怂č¦ŖćØ子ćÆå¾Ŗē’°ć—ćŖ恄悂恮ćØ恙悋怂恓恓恧ļ¼Œćƒ¢ćƒ‡ćƒ«ć®č”ØčØ˜ć«ćÆUML悒ē”Ø恄ļ¼Œļ½›éšŽå±¤ļ½ćÆēµ„ē¹”恮č¦ŖćØå­ć®é–¢é€£ćŒå¾Ŗē’°ć—ćŖ恄恓ćØć‚’ęŒ‡å®šć™ć‚‹åˆ¶ē“„čؘčæ°ć§ć‚悋怂

f:id:trhnmr:20210717103948p:plain

ļ¼”ć€€ćƒ¢ćƒ‡ćƒ«C恧ćÆļ¼Œēµ„ē¹”恮č¦Ŗ子関äæ‚ćŒå¾Ŗē’°ć—ćŖć„ć‚ˆć†ć«åˆ¶ē“„ć‚’čŖ²ć™åæ…č¦ćŒć‚ć‚‹ć€‚

Ā 

ļ¼±ć€€ćƒ—ćƒ­ćƒ‘ćƒ†ć‚£ć‚°ćƒ©ćƒ•ć‚’č”Øć—ćŸå›³ć®ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć‚’é©åˆ‡ć«č§£é‡ˆć—ćŸć‚Ŗ惖ć‚ø悧ć‚Æćƒˆå›³ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒ¢ćƒ‡ćƒ«ć®č”ØčØ˜ć«ćÆUML悒ē”Ø恄悋怂

f:id:trhnmr:20210717104109p:plain

f:id:trhnmr:20210717104125p:plain

ļ¼”怀悤

Ā 

ļ¼±ć€€å››ć¤ć®č”Øć®é–¢äæ‚ć‚’č”Ø恙E-R図ćØć—ć¦é©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œ1怀* ćÆ1åÆ¾å¤šć®é–¢é€£ć‚’č”Ø恗ļ¼Œå®Ÿē·šć®äø‹ē·šćÆäø»ć‚­ćƒ¼ć‚’ļ¼Œē “ē·šć®äø‹ē·šćÆ外éƒØć‚­ćƒ¼ć‚’č”Ø恙怂

f:id:trhnmr:20210717104330p:plain

f:id:trhnmr:20210717104346p:plain

ļ¼”怀悤

Ā 

ļ¼±ć€€ā€œå­¦ē”ŸćÆļ¼Œå­¦ęœŸćŒē•°ćŖć‚Œć°åŒć˜ęŽˆę„­ē§‘ē›®ć‚’何åŗ¦ć§ć‚‚屄äæ®ć§ćć‚‹ā€ć‚’é©åˆ‡ć«č”Øē¾ć—ć¦ć„ć‚‹ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒ¢ćƒ‡ćƒ«ć®č”ØčØ˜ę³•ć«ćÆUML悒ē”Ø恄悋怂

f:id:trhnmr:20210717104503p:plain

ļ¼”怀ć‚Ø

Ā 

ļ¼±ć€€ē¬¬1ę­£č¦å½¢ć‹ć‚‰ē¬¬5ę­£č¦å½¢ć¾ć§ć®ę­£č¦åŒ–ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀ē¬¬3ę­£č¦å½¢ćøć®åˆ†č§£ć§ćÆļ¼Œęƒ…å ±ē„”ęå¤±ć‹ć¤é–¢ę•°å¾“å±žę€§ćŒäæå­˜ć•ć‚Œć‚‹ć€‚

Ā 

ļ¼±ć€€ē¬¬3ę­£č¦å½¢ć«ćŠć„ć¦å­˜åœØ恙悋åÆčƒ½ę€§ć®ć‚ć‚‹é–¢ę•°å¾“å±žćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€å€™č£œć‚­ćƒ¼ć®ēœŸéƒØåˆ†é›†åˆć‹ć‚‰ä»–ć®å€™č£œć‚­ćƒ¼ć®ēœŸéƒØ分集合ćøć®é–¢ę•°å¾“å±ž

Ā 

ļ¼±ć€€ē¬¬2ę­£č¦å½¢ć§ć‚ć‚‹é–¢äæ‚R恌ļ¼Œē¬¬3ę­£č¦å½¢ć§ć‚‚ć‚ć‚‹ćŸć‚ć®ę”ä»¶ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀ęŽØē§»ēš„é–¢ę•°å¾“å±žę€§ćŒå­˜åœØ恗ćŖ恄怂

Ā 

ļ¼±ć€€äŗŗć®å„åŗ·ēŠ¶ę…‹ć®ę¤œęŸ»ć§ćÆļ¼Œę¤œęŸ»é …ē›®ćŒäŗŗć«ć‚ˆć£ć¦ē•°ćŖ悋恠恑恧ćŖ恏ļ¼Œć‚ć‚‰ć‹ć˜ć‚ę±ŗć¾ć£ć¦ć„ćŖ恄恓ćØć‚‚å¤šć„ć€‚ć“ć®ć‚ˆć†ćŖå “åˆć®ę¦‚åæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ćØ恗恦ļ¼Œęœ€ć‚‚適切ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œę¤œęŸ»é …ē›®ć®ęؙęŗ–値ćÆļ¼Œę¤œęŸ»é …ē›®ć”ćØć«ęœ€ę–°ć®å€¤ć ć‘ć‚’äæęŒć—ļ¼Œč؈ęø¬å€¤ćÆč؈ęø¬ę—„ꙂćØćØ悂恫äæęŒć™ć‚‹ć€‚ć¾ćŸļ¼Œćƒ¢ćƒ‡ćƒ«ć®č”ØčØ˜ć«ćÆUML悒ē”Ø恄悋怂

f:id:trhnmr:20210717105634p:plain

ļ¼”怀悤

Ā 

ļ¼±ć€€é–¢äæ‚R(Aļ¼ŒBļ¼ŒCļ¼ŒDļ¼ŒE)恫恊恄恦ļ¼Œ
ć€€é–¢ę•°å¾“å±ž {Aļ¼ŒB}ā†’Cļ¼Œ{Bļ¼ŒC}ā†’Dļ¼ŒDā†’{Aļ¼ŒE}
恌ꈐē«‹ć™ć‚‹ć€‚ć“ć‚Œć‚‰ć‹ć‚‰ę±ŗå®šć§ćć‚‹Rć®å€™č£œć‚­ćƒ¼ć‚’å…Øć¦ęŒ™ć’ćŸć‚‚ć®ćÆć©ć‚Œć‹ć€‚

ļ¼”怀{Aļ¼ŒB}ļ¼Œ{Bļ¼ŒC}ļ¼Œ{Bļ¼ŒD}

Ā 

ļ¼±ć€€ę¦‚åæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć«ćŠć„ć¦ļ¼Œå®Ÿä½“Ać®ć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹aćŒä»–ć®å®Ÿä½“Bć®ć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹bćØé–¢é€£ć—ć¦ćŠć‚Šļ¼Œć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹aćŒå­˜åœØ恗ćŖ恏ćŖ悌恰ļ¼Œć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹bć‚‚å­˜åœØ恗ćŖ恏ćŖć‚‹å “åˆć€ć“ć®ć‚ˆć†ćŖ実体Bć‚’ä½•ćØå‘¼ć¶ć‹ć€‚

ļ¼”ć€€å¼±å®Ÿä½“

Ā 

ļ¼±ć€€é–¢äæ‚Rļ¼ˆAļ¼ŒBļ¼ŒCļ¼‰ć«ćŠć„恦ļ¼Œé–¢ę•°å¾“属Aā†’Bļ¼ŒBā†’C恌ꈐē«‹ć™ć‚‹ćØ恍ļ¼Œå°Žć‘ćŖć„é–¢ę•°å¾“å±žćÆć©ć‚Œć‹ć€‚

ļ¼”怀{Bļ¼ŒC}ā†’{Aļ¼ŒC}

Ā 

ļ¼±ć€€é–¢äæ‚ćƒ¢ćƒ‡ćƒ«ć®å€™č£œć‚­ćƒ¼ć®čŖ¬ę˜Žć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€å€™č£œć‚­ćƒ¼ć®å€¤ćÆć‚æćƒ—ćƒ«ć”ćØ恫ē•°ćŖ悋怂

Ā 

ļ¼±ć€€UML悒ē”Ø恄恦čؘčæ°ć—ćŸćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć«ćŠć„ć¦ļ¼Œā€œå—講ā€ć‚Æćƒ©ć‚¹ć®å±žę€§ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210717110204p:plain

ļ¼”怀ꈐēø¾

Ā 

ļ¼±ć€€å—ę³Øå…„åŠ›ć‚·ć‚¹ćƒ†ćƒ ć«ć‚ˆć£ć¦ä½œęˆć•ć‚Œć‚‹ę¬”ć®č”Øć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚å—ę³Øē•Ŗ号ćÆ受ę³Ø恔ćØć«ę–°ćŸć«ē™ŗč”Œć•ć‚Œć‚‹ē•Ŗå·ć§ć‚ć‚Šļ¼Œé …ē•ŖćÆ1å›žć®å—ę³Øć§å•†å“ć‚³ćƒ¼ćƒ‰åˆ„ć«é€£ē•Ŗ恧ē™ŗč”Œć•ć‚Œć‚‹ē•Ŗå·ć§ć‚ć‚‹ć€‚
怀ćŖ恊ļ¼Œå˜ä¾”ćÆå•†å“ć‚³ćƒ¼ćƒ‰ć«ć‚ˆć£ć¦äø€ę„ć«å®šć¾ć‚‹ć€‚

f:id:trhnmr:20210717110312p:plain

ļ¼”怀ē¬¬1ę­£č¦å½¢ć¾ć§ę­£č¦åŒ–ć•ć‚Œć¦ć„ć‚‹ć€‚

Ā 

ļ¼±ć€€é–¢äæ‚ćƒ¢ćƒ‡ćƒ«ć«ćŠć„ć¦ļ¼Œęƒ…å ±ē„”ęå¤±åˆ†č§£ćŒć§ćļ¼Œć‹ć¤ļ¼Œé–¢ę•°å¾“å±žę€§äæå­˜ćŒęˆć‚Šē«‹ć¤å¤‰ę›ćŒåæ…ćšå­˜åœØ恙悋悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œęƒ…å ±ē„”ęå¤±åˆ†č§£ćØćÆč‡Ŗē„¶ēµåˆć«ć‚ˆć£ć¦å…ƒć®é–¢äæ‚ćŒåæ…ćšå¾—ć‚‰ć‚Œć‚‹åˆ†č§£ć‚’ć„ć†ć€‚

ļ¼”怀ē¬¬2ę­£č¦å½¢ć‹ć‚‰ē¬¬3ę­£č¦å½¢ćøć®å¤‰ę›

Ā 

ļ¼±ć€€UML悒ē”Ø恄恦č”Øć—ćŸå›³ć®ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć®č§£é‡ˆćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210717110446p:plain

ļ¼”怀1件恮ā€œåœØåŗ«å–引ā€ćƒ‡ćƒ¼ć‚æ悒čØ˜éŒ²ć™ć‚‹éš›ļ¼Œ2件恮ā€œåœØåŗ«å“ā€ćƒ‡ćƒ¼ć‚æ悂ꛓꖰ恙悋怂

Ā 

ļ¼±ć€€é–¢ę•°å¾“å±žć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼ŒAļ¼ŒBļ¼ŒCćÆć‚ć‚‹é–¢äæ‚ć®å±žę€§ć®é›†åˆćØ恙悋怂

ļ¼”怀BćØCć®å’Œé›†åˆćŒAć«é–¢ę•°å¾“å±žć™ć‚Œć°ļ¼ŒBćØCćÆ恝悌恞悌恌Ać«é–¢ę•°å¾“å±žć™ć‚‹ć€‚

Ā 

ļ¼±ć€€ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒŖćƒ³ć‚°ć®éŽēØ‹ć§ļ¼ŒäŗŒć¤ć®ć‚Øćƒ³ćƒ†ć‚£ćƒ†ć‚£é–“ć«å¤šåÆ¾å¤šć®åƾåæœćŒē”Ÿć˜ćŸć€‚ć“ć‚Œć‚’é–¢äæ‚ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹äøŠć«å®Ÿč£…ć™ć‚‹å “合ļ¼ŒäŗŒć¤ć®ć‚Øćƒ³ćƒ†ć‚£ćƒ†ć‚£ć‚’č”ØćØć—ć¦å®šē¾©ć—ćŸäøŠć§ļ¼Œå¤šåÆ¾å¤šć®åƾåæœć‚’č”Øć™ę–¹ē­–ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćć‚Œćžć‚Œć®č”Øć‚’å‚ē…§ć™ć‚‹å¤–éƒØć‚­ćƒ¼ć®ēµ„åˆć›ć‚’äø»ć‚­ćƒ¼ć®äø€éƒØćØ恙悋č”Øć‚’ę–°ćŸć«å®šē¾©ć™ć‚‹ć€‚

Ā 

ļ¼±ć€€ę¬”恮ꦂåæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć‚’é–¢äæ‚ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹äøŠć«å®Ÿč£…恙悋ćØ恍ļ¼Œé©åˆ‡ćŖ関äæ‚ć‚¹ć‚­ćƒ¼ćƒžå®šē¾©ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒ¢ćƒ‡ćƒ«ć®č”ØčØ˜ć«ćÆUML悒ē”Øć„ć‚‹ć€‚é–¢äæ‚ć‚¹ć‚­ćƒ¼ćƒžå®šē¾©äø­ć®å®Ÿē·šć®äø‹ē·šćÆäø»ć‚­ćƒ¼ć‚’ļ¼Œē “ē·šć®äø‹ē·šćÆ外éƒØć‚­ćƒ¼ć‚’č”Ø恙怂

f:id:trhnmr:20210717111031p:plain

f:id:trhnmr:20210717111321p:plain

ļ¼”怀ć‚Ø

Ā 

ļ¼±ć€€ę¬”恮ꦂåæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć‚’é–¢äæ‚ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹äøŠć«å®Ÿč£…恙悋恓ćØćØ恗ļ¼Œå®Ÿč£…ē”Øć®ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć‚’ä½œęˆć—ćŸć€‚é©åˆ‡ćŖ多重åŗ¦ćŒęŒ‡å®šć•ć‚Œć¦ć„悋悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒ¢ćƒ‡ćƒ«ć®č”ØčØ˜ć«ćÆUML悒ē”Ø恄悋怂

f:id:trhnmr:20210717111443p:plain

f:id:trhnmr:20210717111458p:plain

ļ¼”怀ć‚Ø

Ā 

ļ¼±ć€€é–¢äæ‚RćÆå±žę€§{Aļ¼ŒBļ¼ŒCļ¼ŒDļ¼ŒE}恋悉ꈐ悊ļ¼Œé–¢ę•°å¾“å±žę€§Aā†’Bļ¼ŒAā†’Cļ¼Œ{Cļ¼ŒD}ā†’E恌ꈐē«‹ć™ć‚‹ć€‚ęœ€åˆć«å±žę€§é›†åˆ{Aļ¼ŒB}悒äøŽćˆć¦ļ¼Œć“ć‚Œć‚‰ć®é–¢ę•°å¾“å±žę€§ć‚’é©ē”Øć—ć¦å°Žå‡ŗć•ć‚Œć‚‹å±žę€§ć‚’ć“ć®å±žę€§é›†åˆć«åŠ ćˆć‚‹ć€‚ć“ć®ę“ä½œć‚’ē¹°ć‚Ščæ”ć—ć¦å¾—ć‚‰ć‚Œć‚‹å±žę€§é›†åˆļ¼ˆå±žę€§é›†åˆć®é–‰åŒ…ļ¼‰ćÆć©ć‚Œć‹ć€‚

ļ¼”怀{Aļ¼ŒBļ¼ŒC}

Ā 

ļ¼±ć€€ä½“ē¾ćƒ“ćƒ„ćƒ¼ļ¼ˆMaterializedviewļ¼‰ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€å®Ÿč”Øć®ć‚ˆć†ć«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć«ę ¼ē“ć•ć‚Œć‚‹ćƒ“ćƒ„ćƒ¼ć®ć“ćØ恧恂悋怂

Ā 

ļ¼±ć€€ē¤¾å“”ćØå¹“ć®é–¢é€£ćŒę¬”ć®ę”ä»¶ć‚’ęŗ€ćŸć™å “åˆć‚’UML恮ć‚Æćƒ©ć‚¹å›³ć§čؘčæ°ć™ć‚‹ćØ恍ļ¼Œaļ¼Œbć«å…„ć‚‹å¤šé‡åŗ¦ć®é©åˆ‡ćŖēµ„åˆć›ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œå¹“ć‚Æćƒ©ć‚¹ć®ć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹ćÆęƎ幓存åœØ恙悋怂

ć€€ć€”ę”ä»¶ć€•

怀ļ¼ˆ1ļ¼‰ć™ć¹ć¦ć®ē¤¾å“”ćÆå…„ē¤¾å¹“悒ē‰¹å®šć§ćć‚‹ć€‚

怀ļ¼ˆ2ļ¼‰å¹“ć«ć‚ˆć£ć¦ćÆē¤¾å“”ćŒå…„ē¤¾ć—ćŖ恄恓ćØ悂恂悋怂

f:id:trhnmr:20210717111842p:plain

Ā  a b
ļ¼” 0..* 1..1

Ā 

ļ¼±ć€€ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®é–¢äæ‚ćƒ¢ćƒ‡ćƒ«ć®å€™č£œć‚­ćƒ¼ć®čŖ¬ę˜ŽćØ恗恦ļ¼Œęœ€ć‚‚適切ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œę„µå°ć®ēµ„ćØćÆļ¼Œćć®ēµ„ć‹ć‚‰å±žę€§ćŒäø€ć¤ć§ć‚‚ę¬ č½ć™ć‚‹ćØå”Æäø€č­˜åˆ„ę€§ć‚’å¤±ć£ć¦ć—ć¾ć†ēµ„悒恄恆怂

ļ¼”ć€€é–¢äæ‚恮ć‚æćƒ—ćƒ«ć‚’äø€ę„ć«č­˜åˆ„ć§ćć‚‹å±žę€§ļ¼ŒåˆćÆå±žę€§ć®ēµ„ć§ę„µå°ć®ć‚‚ć®

Ā 

ļ¼±ć€€ę¬”恮ć‚Ŗ惖ć‚ø悧ć‚Æćƒˆå›³ļ¼ˆć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹ć‚’č”Øć™å›³ļ¼‰ć«åƾåæœć™ć‚‹ę¦‚åæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œć‚Ŗ惖ć‚ø悧ć‚Æćƒˆå›³åŠć³ę¦‚åæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć®č”ØčØ˜ć«ćÆUML悒ē”Ø恄悋怂

f:id:trhnmr:20210717112148p:plain

f:id:trhnmr:20210717112200p:plain

ļ¼”怀悤

Ā 

ļ¼±ć€€é–¢äæ‚ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹äøŠć«å®Ÿč£…恙悋ć‚Øćƒ³ćƒ†ć‚£ćƒ†ć‚£ć®äø»ć‚­ćƒ¼ćŒč¤‡åˆć‚­ćƒ¼ć§ć‚ć‚Šļ¼Œč¤‡åˆć‚­ćƒ¼ć‚’ę§‹ęˆć—ć¦ć„ć‚‹å±žę€§ę•°ćŒå¤šć™ćŽć‚‹ć®ć§ļ¼Œå°‘ćŖćć—ć¦ę‰±ć„ć‚„ć™ćć—ćŸć„ć€‚ć“ć®å “åˆć®åƾåæœćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€č¤‡åˆć‚­ćƒ¼ć‚’é€£ē•ŖćŖć©ä»£ē”Øć®ć‚­ćƒ¼ļ¼ˆsurrogate keyļ¼‰ć«ē½®ćę›ćˆļ¼Œč¤‡åˆć‚­ćƒ¼ć‚’ę§‹ęˆć—ć¦ć„ć‚‹å±žę€§ć‚’ä»£ē†ć‚­ćƒ¼ļ¼ˆalternate keyļ¼‰ć«ć™ć‚‹ć€‚

Ā 

ļ¼±ć€€ę¬”恮č”Øć‚’ęƒ…å ±ē„”ęå¤±åˆ†č§£ć—ćŸć‚‚ć®ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œäø‹ē·šéƒØćÆäø»ć‚­ćƒ¼ć‚’č”Ø恙怂

怀怀ē™ŗę³Ø伝ē„Øļ¼ˆę³Øꖇē•Ŗ号ļ¼Œå•†å“ē•Ŗ号ļ¼Œå•†å“åļ¼Œå•†å“å˜ä¾”ļ¼Œę³Øꖇꕰ量ļ¼‰

ļ¼”怀ē™ŗę³Øļ¼ˆę³Øꖇē•Ŗ号ļ¼Œå•†å“ē•Ŗ号ļ¼Œę³Øꖇꕰ量ļ¼‰
商品ļ¼ˆå•†å“ē•Ŗ号ļ¼Œå•†å“åļ¼Œå•†å“å˜ä¾”ļ¼‰

Ā 

ļ¼±ć€€ę¬”恮č”Ø悒ļ¼Œē¬¬3ę­£č¦å½¢ć¾ć§ę­£č¦åŒ–ć‚’č”Œć£ćŸå “åˆļ¼Œå¹¾ć¤ć®č”Øć«åˆ†å‰²ć•ć‚Œć‚‹ć‹ć€‚ć“ć“ć§ļ¼Œé”§å®¢ć®1å›žć®ę³Øꖇ恫åÆ¾ć—ć¦1ęžšć®å—ę³Ø伝ē„ØćŒä½œć‚‰ć‚Œļ¼Œé”§å®¢ćÆ1å›žć®ę³Øꖇ恧äø€ć¤ä»„äøŠć®å•†å“ć‚’ę³Øę–‡ć§ćć‚‹ć‚‚ć®ćØ恙悋怂

f:id:trhnmr:20210717113424p:plain

ļ¼”怀悦

Ā 

ļ¼±ć€€ę„­å‹™ćƒ«ćƒ¼ćƒ«ćŒę¬”ć®ć‚ˆć†ć«äøŽćˆć‚‰ć‚Œć¦ć„ć‚‹ć€‚ć“ć‚Œć«åŸŗć„ćE-Rå›³ć‚’ä½œęˆć—ćŸć€‚é©åˆ‡ćŖE-R図ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œ1怀* ćÆ1åÆ¾å¤šć®é–¢é€£ć‚’č”Ø恙怂

ć€€ć€”ę„­å‹™ćƒ«ćƒ¼ćƒ«ć€•

ć€€ć€€ć“ć®ä¼šē¤¾ćÆčŖžå­¦ę•™ęć‚’č²©å£²ć—ć¦ć„ć‚‹ć€‚å–¶ę„­å“”ćÆäø€ć¤ä»„äøŠć®ę‹…å½“åœ°åŸŸćŒå®šć‚ć‚‰ć‚Œć¦ćŠć‚Šļ¼Œę‹…å½“åœ°åŸŸć®1äŗŗ仄äøŠć®é”§å®¢ć‹ć‚‰å—ę³Øć‚’å¾—ć‚‹ć€‚äø€ć¤ć®åœ°åŸŸć‚’1äŗŗ仄äøŠć®å–¶ę„­å“”ćŒę‹…å½“ć™ć‚‹ć€‚

f:id:trhnmr:20210717113655p:plain

ļ¼”怀悦

Ā 

ļ¼±ć€€å±žę€§é–“ć®å¾“å±žé–¢äæ‚ć‚’ę¬”ć®ć‚ˆć†ć«č”ØčØ˜ć™ć‚‹ćØ恍ļ¼Œå±žę€§ameć§ę§‹ęˆć•ć‚Œć‚‹é–¢äæ‚ć‚’ē¬¬3ę­£č¦å½¢ć«ć—ćŸć‚‚ć®ćÆć©ć‚Œć‹ć€‚

ć€€ć€”å±žę€§é–“ć®å¾“å±žé–¢äæ‚怕

ļ¼ˆ1ļ¼‰å±žę€§Xć®å€¤ćŒäøŽćˆć‚‰ć‚Œć‚‹ćØļ¼Œå±žę€§Yć®å€¤ć‚’äø€ę„ć«ę±ŗ悁悋恓ćØ

f:id:trhnmr:20210717113916p:plain

ļ¼ˆ2ļ¼‰å±žę€§XćØå±žę€§Y恮äŗŒć¤ć®å€¤ćŒäøŽćˆć‚‰ć‚Œć‚‹ćØļ¼Œå±žę€§Zć®å€¤ć‚’äø€ę„ć«ę±ŗ悁悋恓ćØ恌恧恍悋怂恌恧恍悋怂

f:id:trhnmr:20210717113933p:plain

ć€€ć€”ę­£č¦åŒ–ć™ć‚‹é–¢äæ‚怕

f:id:trhnmr:20210717113948p:plain

f:id:trhnmr:20210717113959p:plain

ļ¼”怀ć‚Ø

Ā 

ļ¼±ć€€ā€œē¤¾å“”å–å¾—č³‡ę ¼ā€č”Ø恫åÆ¾ć—ļ¼ŒSQLę–‡ć‚’å®Ÿč”Œć—ć¦ēµęžœć‚’å¾—ćŸć€‚SQLꖇ恮ać«å…„ć‚Œć‚‹å­—å„ćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210723000252p:plain

怀怔SQLꖇ怕
怀SELECT C1.ē¤¾å“”ć‚³ćƒ¼ćƒ‰, C1.č³‡ę ¼ AS č³‡ę ¼1, C2.č³‡ę ¼ AS č³‡ę ¼2
怀怀FROM ē¤¾å“”å–å¾—č³‡ę ¼ C1 LEFT OUTER JOIN ē¤¾å“”å–å¾—č³‡ę ¼ C2
怀怀怀怀怀a怀怀

ļ¼”怀ON C1.ē¤¾å“”ć‚³ćƒ¼ćƒ‰ = C2.ē¤¾å“”ć‚³ćƒ¼ćƒ‰
怀AND C1.č³‡ę ¼ = 'FE' AND C2.č³‡ę ¼ = 'AP'
WHERE C1.č³‡ę ¼ = 'FE'

Ā 

ļ¼±ć€€å’Œäø”ē«‹ć§ć‚ć‚‹é–¢äæ‚RćØS恌恂悋怂Rāˆ©SćØē­‰ć—恄悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œāˆ’ćÆå·®ę¼”ē®—ļ¼Œāˆ©ćÆå…±é€šé›†åˆę¼”ē®—ć‚’č”Ø恙怂

ļ¼”怀R āˆ’ (R āˆ’ S)

Ā 

ļ¼±ć€€å±žę€§ćŒnå€‹ć‚ć‚‹é–¢äæ‚恮ē•°ćŖć‚‹å°„å½±ćÆå¹¾ć¤ć‚ć‚‹ć‹ć€‚ć“ć“ć§ļ¼Œå°„å½±ć®å€‹ę•°ć«ćÆļ¼Œå…ƒć®é–¢äæ‚ćØåŒć˜ēµęžœćØćŖć‚‹å°„å½±ļ¼ŒåŠć³å±žę€§ć‚’å…Øćå«ć¾ćŖć„å°„å½±ć‚’å«ć‚ć‚‹ć‚‚ć®ćØ恙悋怂

ļ¼”怀2n

Ā 

ļ¼±ć€€ć‚ć‚‹é›»å­å•†å–å¼•ć‚µć‚¤ćƒˆć§ćÆļ¼Œä¼šå“”ć®å±žę€§ć‚’ęŸ”č»Ÿć«å¤‰ę›“ć§ćć‚‹ć‚ˆć†ć«ļ¼Œā€œä¼šå“”項ē›®ā€č”Ø恧ē®”ē†ć™ć‚‹ć“ćØć«ć—ćŸć€‚ā€œä¼šå“”項ē›®ā€č”Ø恫åÆ¾ć—ļ¼Œę¬”ć®ę”ä»¶ć§SQLę–‡ć‚’å®Ÿč”Œć—ć¦ēµęžœć‚’å¾—ć‚‹å “合ļ¼ŒSQLꖇ恮ać«å…„ć‚Œć‚‹å­—å„ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œå®Ÿē·šć®äø‹ē·šćÆäø»ć‚­ćƒ¼ć‚’ļ¼ŒNULLćÆå€¤ćŒćŖ恄恓ćØ悒č”Ø恙怂

ć€”ę”ä»¶ć€•

ļ¼ˆ1ļ¼‰åŒäø€ā€œä¼šå“”ē•Ŗ号ā€ć‚’ć‚‚ć¤č¤‡ę•°ć®č”Œć«ć‚ˆć£ć¦ļ¼Œäø€äŗŗć®ä¼šå“”ć®å±žę€§ć‚’č”Ø恙怂

ļ¼ˆ2ļ¼‰ę–°č¦ć«čæ½åŠ ć™ć‚‹č”Œć®č”Œē•Ŗ号ćÆļ¼Œęœ€å¾Œć«čæ½åŠ ć•ć‚ŒćŸč”Œć®č”Œē•Ŗå·ć«1ć‚’åŠ ćˆćŸå€¤ćØ恙悋怂

ļ¼ˆ3ļ¼‰åŒäø€ā€œä¼šå“”ē•Ŗ号ā€ć§åŒäø€ā€œé …ē›®åā€ć®č”ŒćŒč¤‡ę•°ć‚ć‚‹å “合ļ¼Œć‚ˆć‚Šå¤§ćć„č”Œē•Ŗå·ć®é …ē›®å€¤ć‚’ꎔē”Ø恙悋怂

f:id:trhnmr:20210723001457p:plain

怀怔SQLꖇ怕
怀SELECT 会哔ē•Ŗ号,
怀怀怀怀a怀怀 (CASE WHEN 項ē›®å='会哔名' THEN 項ē›®å€¤ END) AS 会哔名,
怀怀怀怀a怀怀Ā (CASE WHEN 項ē›®å='꜀ēµ‚č³¼å…„å¹“ęœˆę—„' THEN 項ē›®å€¤ END)Ā 
怀怀怀AS ꜀ēµ‚č³¼å…„å¹“ęœˆę—„
怀怀FROM ( SELECT 会哔ē•Ŗ号, 項ē›®å, 項ē›®å€¤ FROM 会哔項ē›®
怀怀怀WHERE č”Œē•Ŗ号 IN ( SELECT 怀怀a怀怀 (č”Œē•Ŗ号) FROM 会哔項ē›®
怀怀怀怀GROUP BY 会哔ē•Ŗ号, 項ē›®å)
怀) T
怀GROUP BY 会哔ē•Ŗ号
怀ORDER BY 会哔ē•Ŗ号

ļ¼”怀MAX

Ā 

ļ¼±ć€€é–¢äæ‚ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć«ćŠć„ć¦ļ¼Œć‚æćƒ—ćƒ«ę•°n恮č”ØäŗŒć¤ć«åÆ¾ć™ć‚‹ēµåˆę“ä½œć‚’ļ¼Œå…„ć‚Œå­ćƒ«ćƒ¼ćƒ—ę³•ć«ć‚ˆć£ć¦å®Ÿč”Œć™ć‚‹å “åˆć®č؈ē®—量ćÆć©ć‚Œć‹ć€‚

ļ¼”怀O(n2)

Ā 

ļ¼±ć€€SQL恫恊恑悋BLOBćƒ‡ćƒ¼ć‚æåž‹ć®čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€å¤§é‡ć®ćƒć‚¤ćƒŠćƒŖćƒ‡ćƒ¼ć‚æć‚’ę ¼ē“ć§ćć‚‹ć€‚

Ā 

ļ¼±ć€€ę¬”恮SQLꖇćÆļ¼ŒAč”Ø恫åÆ¾ć™ć‚‹ć‚«ćƒ¼ć‚½ćƒ«Bć®ćƒ‡ćƒ¼ć‚æę“ä½œć§ć‚ć‚‹ć€‚ać«å…„ć‚Œć‚‹å­—å„ćÆć©ć‚Œć‹ć€‚

怀怀UPDATE A
怀SET A2 = 1ļ¼ŒA3 = 2
怀WHERE 怀怀a怀怀

怀怀恓恓恧ļ¼ŒAč”Ø恮꧋造ćÆꬔ恮ćØ恊悊恧恂悊ļ¼Œäø‹ē·šćÆäø»ć‚­ćƒ¼ć‚’č”Ø恙怂
怀A(A1, A2, A3)

Ā 

ļ¼”怀CURRENT OF B

Ā 

ļ¼±ć€€å•†å“ęƒ…å ±ć«ä¾”ę ¼ļ¼Œć‚µć‚¤ć‚ŗćŖ恩恮ē®”ē†é …ē›®ć‚’čæ½åŠ ć™ć‚‹å “åˆć§ć‚‚ć‚¹ć‚­ćƒ¼ćƒžå¤‰ę›“ć‚’äøč¦ćØć™ć‚‹ćŸć‚ć«ļ¼Œā€œē®”ē†é …ē›®ā€č”Ø悒ꬔ恮SQLę–‡ć§å®šē¾©ć—ćŸć€‚ā€œē®”ē†é …ē›®ā€č”Ø恮ā€œIDā€ćÆå•†å“ć”ćØ恫付äøŽć™ć‚‹ć€‚恓恮ćØ恍ļ¼ŒåŒć˜IDć®å•†å“ć«åÆ¾ć—ć¦ļ¼Œē•°ćŖć‚‹å•†å“åć‚’å®šē¾©ć§ććŖć„ć‚ˆć†ć«ć—ćŸć„ć€‚ać«å…„ć‚Œć‚‹å­—å„ćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210723002743p:plain

怀怔SQLꖇ怕
怀CREATE TABLE ē®”ē†é …ē›® (
怀怀ID INTEGER NOT NULL,
怀怀項ē›®å VARCHAR(20) NOT NULL,
ć€€ć€€ćƒ‡ćƒ¼ć‚æ型 VARCHAR(10) NOT NULL,
ć€€ć€€å€¤ VARCHAR(100) NOT NULL,
怀怀怀怀a怀怀
怀)

ļ¼”怀UNIQUE (IDļ¼Œé …ē›®å)

Ā 

ļ¼±ć€€ā€œéƒØ品ā€č”Ø恋悉ļ¼ŒéƒØå“åć«'N11'ćŒå«ć¾ć‚Œć‚‹éƒØå“ęƒ…å ±ļ¼ˆéƒØ品ē•Ŗ号ļ¼ŒéƒØ品名ļ¼‰ć‚’ę¤œē“¢ć™ć‚‹SQLę–‡ćŒć‚ć‚‹ć€‚ć“ć®SQLꖇćÆļ¼Œę¤œē“¢åÆ¾č±”ć®éƒØå“ęƒ…å ±ć®ć»ć‹ļ¼ŒåÆ¾č±”éƒØå“ć«č¦ŖéƒØ品ē•Ŗå·ćŒčØ­å®šć•ć‚Œć¦ć„ć‚‹å “åˆćÆč¦ŖéƒØå“ęƒ…å ±ć‚’čæ”恗ļ¼ŒčØ­å®šć•ć‚Œć¦ć„ćŖć„å “åˆćÆNULL悒čæ”恙怂ać«å…„ć‚Œć‚‹å­—å„ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œå®Ÿē·šć®äø‹ē·šćÆäø»ć‚­ćƒ¼ć‚’č”Ø恙怂

怀éƒØ品ļ¼ˆéƒØ品ē•Ŗ号ļ¼ŒéƒØ品名ļ¼Œč¦ŖéƒØ品ē•Ŗ号ļ¼‰

怀怔SQLꖇ怕
怀SELECT B1.éƒØ屋ē•Ŗ号, B1.éƒØ品名,
怀怀B2.éƒØ品ē•Ŗ号 AS č¦ŖéƒØ品ē•Ŗ号, B2.éƒØ品名 AS č¦ŖéƒØ品名
怀怀怀FROM éƒØ品Ā ć€€ć€€a怀怀
怀怀怀ON B1.č¦ŖéƒØ品ē•Ŗ号 = B2.éƒØ品ē•Ŗ号
怀怀WHERE B1.éƒØ品名 LIKE '%N11%'

ļ¼”怀B1 LEFT OUTER JOIN éƒØ品 B2

Ā 

ļ¼±ć€€é–¢äæ‚Rļ¼ŒS恮ē­‰ēµåˆę¼”ē®—ćÆļ¼Œć©ć®ę¼”ē®—ć«ć‚ˆć£ć¦č”Ø恙恓ćØ恌恧恍悋恋怂

ļ¼”怀ē›“ē©ćØéøꊞ

Ā 

ļ¼±ć€€å°Žå‡ŗč”Øć«é–¢ć™ć‚‹čؘčæ°ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒ“ćƒ„ćƒ¼ćÆ導å‡ŗč”Ø恮äø€ć¤ć®å½¢ę…‹ć§ć‚悋怂

Ā 

ļ¼±ć€€å›³ć®ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ćÆ会čØˆå–å¼•ć®ä»•čØ³ć‚’č”Øē¾ć—恦恄悋怂ā€œē§»å‹•ā€ćŒćƒŖćƒ³ć‚Æ恙悋ā€œå‹˜å®šā€ć®ę®‹é«˜ć‚’å¢—ć‚„ć™å “合ćÆé‡‘é”ć®ē¬¦å·ć‚’ę­£ć«ļ¼Œęø›ć‚‰ć™å “合ćÆč² ć«ć™ć‚‹ć“ćØ恧ļ¼Œč²øå€Ÿå¹³å‡ć®åŽŸē†ć‚’č”Øē¾ć™ć‚‹ć€‚ć“ć®ćƒ¢ćƒ‡ćƒ«ć«åŸŗć„ćļ¼Œā€œå‹˜å®šā€č”Øļ¼Œā€œä¼šč؈取引ā€č”Øļ¼Œā€œē§»å‹•ā€č”Øć‚’å®šē¾©ć—ćŸć€‚å‹˜å®šē§‘ē›®"ē¾é‡‘"恮2017幓4꜈30ę—„ć«ćŠć‘ć‚‹ę®‹é«˜ć‚’å°Žå‡ŗć™ć‚‹ćŸć‚ć®SQLꖇćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒ¢ćƒ‡ćƒ«ć®č”ØčØ˜ć«ćÆUML悒ē”Ø恄ļ¼Œč”Øäø­ć®å®Ÿē·šć®äø‹ē·šćÆäø»ć‚­ćƒ¼ć‚’č”Øć™ć€‚ć¾ćŸļ¼Œā€œä¼šč؈取引ā€č”Ø恫ćÆä»ŠęœŸåˆ†ć®ćƒ‡ćƒ¼ć‚æ恠恑恌äæęŒć•ć‚Œć‚‹ć€‚

f:id:trhnmr:20210723002925p:plain

ć€€ć€€å‹˜å®šļ¼ˆå‹˜å®šē§‘ē›®ļ¼ŒęœŸé¦–ę®‹é«˜ļ¼‰
会č؈取引ļ¼ˆå–引ē•Ŗ号ļ¼Œå–å¼•ę—„ļ¼‰
ē§»å‹•ļ¼ˆå‹˜å®šē§‘ē›®ļ¼Œå–引ē•Ŗ号ļ¼Œé‡‘锍ļ¼‰

ļ¼”怀SELECT ęœŸé¦–ę®‹é«˜ + SUM(金锍) AS ę®‹é«˜ FROM 勘定, ē§»å‹•, 会č؈取引
怀WHERE 勘定.勘定ē§‘ē›® = ē§»å‹•.勘定ē§‘ē›® AND
ć€€ć€€ä¼šč؈取引.取引ē•Ŗ号 = ē§»å‹•.取引ē•Ŗ号 AND
ć€€ć€€å‹˜å®š.勘定ē§‘ē›® = 'ē¾é‡‘' AND
ć€€ć€€å–å¼•ę—„ <= '2017-04-30'
怀GROUP BYĀ å‹˜å®š.勘定ē§‘ē›®, ęœŸé¦–ę®‹é«˜

Ā 

ļ¼±ć€€ā€œē¤¾å“”ā€č”Ø恋悉ļ¼ŒéƒØē½²ć‚³ćƒ¼ćƒ‰ć”ćØ恮äø»ä»»ć®äŗŗꕰćØäø€čˆ¬ē¤¾å“”恮äŗŗꕰ悒걂悁悋SQLꖇćØć™ć‚‹ćŸć‚ć«ļ¼Œać«å…„ć‚‹å­—å„ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œå®Ÿē·šć®äø‹ē·šćÆäø»ć‚­ćƒ¼ć‚’č”Ø恙怂

怀ē¤¾å“”ļ¼ˆē¤¾å“”ć‚³ćƒ¼ćƒ‰ļ¼ŒéƒØē½²ć‚³ćƒ¼ćƒ‰ļ¼Œē¤¾å“”名ļ¼Œå½¹č·ļ¼‰

怀怔SQLꖇ怕
怀SELECT éƒØē½²ć‚³ćƒ¼ćƒ‰,
怀怀COUNT(CASE WHEN å½¹č· = 'äø»ä»»' 怀怀a怀怀 END) AS äø»ä»»ć®äŗŗꕰ,
怀怀COUNT(CASE WHEN å½¹č· = 'äø€čˆ¬ē¤¾å“”' 怀怀a怀怀 END) AS äø€čˆ¬ē¤¾å“”恮äŗŗꕰ
怀FROM ē¤¾å“” GROUP BY éƒØē½²ć‚³ćƒ¼ćƒ‰

怔ēµęžœć®ä¾‹ć€•

f:id:trhnmr:20210723002946p:plain

ļ¼”怀THEN 1 ELSE NULL

Ā 

ļ¼±ć€€SQLćŒęä¾›ć™ć‚‹3å€¤č«–ē†ć«ćŠć„恦ļ¼ŒA恫5ļ¼ŒB恫4ļ¼ŒC恫NULLć‚’ä»£å…„ć—ćŸćØ恍ļ¼Œę¬”恮論ē†å¼ć®č©•ä¾”ēµęžœćÆć©ć‚Œć‹ć€‚

怀(A > C) or (B > A) or (C = A)

ļ¼”怀unknownļ¼ˆäøå®šļ¼‰

Ā 

ļ¼±ć€€ć‚ć‚‹ęœˆć®ā€œęœˆęœ«å•†å“åœØåŗ«ā€č”ØćØā€œå½“ęœˆå•†å“å‡ŗč·å®Ÿēø¾ā€č”Ø悒ä½æć£ć¦ļ¼Œćƒ“ćƒ„ćƒ¼ā€œå•†å“åˆ„å‡ŗč·å®Ÿēø¾ā€ć‚’定ē¾©ć—ćŸć€‚ć“ć®ćƒ“ćƒ„ćƒ¼ć«SQLę–‡ć‚’å®Ÿč”Œć—ćŸēµęžœć®å€¤ćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210723003007p:plain

ć€€ć€”ćƒ“ćƒ„ćƒ¼ā€œå•†å“åˆ„å‡ŗč·å®Ÿēø¾ā€ć®å®šē¾©ć€•
怀CREATE VIEW 商品刄å‡ŗč·å®Ÿēø¾ (å•†å“ć‚³ćƒ¼ćƒ‰, å‡ŗč·å®Ÿēø¾ę•°, ęœˆęœ«åœØåŗ«ę•°)
怀怀AS SELECT ęœˆęœ«å•†å“åœØåŗ«.å•†å“ć‚³ćƒ¼ćƒ‰, SUM (å‡ŗč·ę•°), åœØåŗ«ę•°
怀怀怀FROMĀ ęœˆęœ«å•†å“åœØåŗ« LEFT OUTER JOIN å½“ęœˆå•†å“å‡ŗč·å®Ÿēø¾
怀怀怀ONĀ ęœˆęœ«å•†å“åœØåŗ«.å•†å“ć‚³ćƒ¼ćƒ‰ =Ā å½“ęœˆå•†å“å‡ŗč·å®Ÿēø¾.å•†å“ć‚³ćƒ¼ćƒ‰
怀怀怀怀GROUP BY ęœˆęœ«å•†å“åœØåŗ«.å•†å“ć‚³ćƒ¼ćƒ‰, åœØåŗ«ę•°

怀怔SQLꖇ怕
怀SELECT SUM (ęœˆęœ«åœØåŗ«ę•°) AS å‡ŗč·å•†å“åœØåŗ«åˆč؈
怀怀FROM 商品刄å‡ŗč·å®Ÿēø¾ WHERE å‡ŗč·å®Ÿēø¾ę•° <= 300

ļ¼”怀400

Ā 

ļ¼±ć€€PCćøć®ćƒ”ćƒ¢ćƒŖć‚«ćƒ¼ćƒ‰ć®å–ä»˜ć‘ēŠ¶ę…‹ć‚’ē®”ē†ć™ć‚‹ćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć‚’ä½œęˆć—ćŸć€‚1å°ć®PCćÆļ¼Œć‚¹ćƒ­ćƒƒćƒˆē•Ŗå·ć«ć‚ˆć£ć¦č­˜åˆ„ć•ć‚Œć‚‹ćƒ”ćƒ¢ćƒŖć‚«ćƒ¼ćƒ‰ć‚¹ćƒ­ćƒƒćƒˆć‚’äŗŒć¤å‚™ćˆć‚‹ć€‚ā€œå–ä»˜ć‘ā€č”Øć‚’å®šē¾©ć™ć‚‹SQLꖇ恮ać«å…„ć‚‹é©åˆ‡ćŖ制ē“„ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒ¢ćƒ‡ćƒ«ć®č”ØčØ˜ć«ćÆUML悒ē”Ø恄悋怂

f:id:trhnmr:20210723132443p:plain

怀怔SQLꖇ怕
怀CREATE TABLE å–ä»˜ć‘ (
怀怀PCID INTEGER NOT NULL FOREIGN KEY REFERENCES PC(PCID),
ć€€ć€€ć‚¹ćƒ­ćƒƒćƒˆē•Ŗ号Ā INTEGER NOT NULL
ć€€ć€€ćƒ”ćƒ¢ćƒŖćƒ¼ć‚«ćƒ¼ćƒ‰IDĀ INTEGER NOT NULL
怀怀怀FOREIGN KEY REFERENCES ćƒ”ćƒ¢ćƒŖćƒ¼ć‚«ćƒ¼ćƒ‰(ćƒ”ćƒ¢ćƒŖćƒ¼ć‚«ćƒ¼ćƒ‰ID)
怀怀怀怀a怀怀
怀怀CHECK(ć‚¹ćƒ­ćƒƒćƒˆē•Ŗ号 IN(1, 2))
怀)

ļ¼”怀PRIMARY KEY(PCID, ć‚¹ćƒ­ćƒƒćƒˆē•Ŗ号),
UNIQUE(ćƒ”ćƒ¢ćƒŖćƒ¼ć‚«ćƒ¼ćƒ‰ID),

Ā 

ļ¼±ć€€ę¬”恮SQLꖇćØåŒć˜ę¤œē“¢ēµęžœćŒå¾—ć‚‰ć‚Œć‚‹SQLꖇćÆć©ć‚Œć‹ć€‚

怀怀SELECT DISTINCT TBL1. COL1 FROM TBL1
怀怀WHERE COL1 IN (SELECT COL1 FROM TBL2)

ļ¼”怀SELECT DISTINCT TBL1. COL1 FROM TBL1
怀WHERE EXISTS
怀(SELECT * FROM TBL2 WHERE TBL1. COL1 = TBL2, COL1)

Ā 

ļ¼±ć€€ę›“ꖰåÆčƒ½ćŖćƒ“ćƒ„ćƒ¼ć®å®šē¾©ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒ“ćƒ„ćƒ¼å®šē¾©ć®äø­ć§å‚ē…§ć™ć‚‹åŸŗåŗ•č”ØćÆå…Ø恦ꛓꖰåÆčƒ½ćØ恙悋怂

ļ¼”怀CREATE VIEW ćƒ“ćƒ„ćƒ¼3(取引先ē•Ŗ号, ćƒ©ćƒ³ć‚Æ, ä½ę‰€
怀AS SELECT 取引先.取引先ē•Ŗ号, 取引先.ćƒ©ćƒ³ć‚Æ, 取引先.ä½ę‰€
怀怀FROM 取引先
怀怀WHERE 取引先.ćƒ©ćƒ³ć‚Æ > 15

Ā 

ļ¼±ć€€č”Ø恮ēµåˆę¼”ē®—ć‚¢ćƒ«ć‚“ćƒŖć‚ŗćƒ ć®ć†ć”ļ¼Œē­‰ēµåˆć ć‘恫適ē”Øć§ćć‚‹ć‚‚ć®ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒćƒƒć‚·ćƒ„ę³•

Ā 

ļ¼±ć€€é–¢äæ‚AćØB恫åÆ¾ć—ć¦å’Œé›†åˆę¼”ē®—ćŒęˆē«‹ć™ć‚‹ćŸć‚ć®åæ…č¦ååˆ†ę”件ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ę¬”ę•°ćŒåŒć˜ć§ļ¼Œåƾåæœć™ć‚‹å±žę€§ć®ćƒ‰ćƒ”ć‚¤ćƒ³ćŒē­‰ć—恄怂

Ā 

ļ¼±ć€€éŽåŽ»3å¹“åˆ†ć®čØ˜éŒ²ć‚’äæå­˜ć—恦恄悋ā€œč©¦éؓēµęžœā€č”Ø恋悉ļ¼Œ2014幓åŗ¦ć®å¹³å‡ē‚¹ę•°ćŒ600ē‚¹ä»„äøŠćØćŖć£ćŸć‚Æćƒ©ć‚¹ć®ć‚Æćƒ©ć‚¹åćØ平均ē‚¹ę•°ć®äø€č¦§ć‚’å–å¾—ć™ć‚‹SQLꖇćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œå®Ÿē·šć®äø‹ē·šćÆäø»ć‚­ćƒ¼ć‚’č”Ø恙怂

怀試éؓēµęžœļ¼ˆå­¦ē”Ÿē•Ŗ号ļ¼Œå—éØ“å¹“ęœˆę—„ļ¼Œē‚¹ę•°ļ¼Œć‚Æćƒ©ć‚¹åļ¼‰

ļ¼”怀SELECTć‚Æćƒ©ć‚¹å, AVG(ē‚¹ę•°) FROM 試éؓēµęžœ
怀WHERE受éØ“å¹“ęœˆę—„BETWEEN'2014-04-01'AND'2015-03-31'
怀GROUP BY ć‚Æćƒ©ć‚¹å HAVING AVG(ē‚¹ę•°) >= 600

Ā 

ļ¼±ć€€é–¢äæ‚RćØS恫恊恄恦ļ¼ŒRĆ·Sć®é–¢äæ‚ę¼”ē®—ēµęžœćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼ŒĆ·ćÆ除ē®—ć‚’č”Ø恙怂

f:id:trhnmr:20210723134914p:plain

f:id:trhnmr:20210723134928p:plain

ļ¼”怀悦

Ā 

ļ¼±ć€€ā€œå•†å“ā€č”ØćØā€œē“å“ā€č”Øć‚’å•†å“ē•Ŗå·ć§ē­‰ēµåˆć—ćŸēµęžœćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210723135047p:plain

f:id:trhnmr:20210723135100p:plain

ļ¼”怀ć‚Ø

Ā 

ļ¼±ć€€åŗ­ć«čØŖć‚ŒćŸé‡Žé³„ć®ę•°ć‚’čØ˜éŒ²ć™ć‚‹ā€œč¦³ęø¬ā€č”ØćŒć‚ć‚‹ć€‚č¦³ęø¬ć®ćŸć³ć«é€šē•Ŗ悒ęŒÆ悊ļ¼Œé³„名ćØč¦³ęø¬ę•°ć‚’čØ˜éŒ²ć—ć¦ć„ć‚‹ć€‚AVGé–¢ę•°ć‚’ē”Øć„ć¦é³„ååˆ„ć«é‡Žé³„ć®č¦³ęø¬ę•°ć®å¹³å‡å€¤ć‚’å¾—ć‚‹ćŸć‚ć«ļ¼Œäø€åŗ¦ć§ć‚‚čØŖć‚ŒćŸé‡Žé³„ć«ć¤ć„ć¦ćÆļ¼Œč¦³ęø¬ć•ć‚ŒćŖć‹ć£ćŸćØćć®č¦³ęø¬ę•°ć‚’0ćØć™ć‚‹ćƒ‡ćƒ¼ć‚æ悒꘎ē¤ŗēš„恫ęŒæå…„ć™ć‚‹ć€‚SQLꖇ恮ać«å…„ć‚‹å­—å„ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œé€šē•ŖćÆåˆå›žć‚’1ćØ恗恦ļ¼Œč¦³ęø¬ć®ć‚æć‚¤ćƒŸćƒ³ć‚°ć”ćØć«ć‚«ć‚¦ćƒ³ćƒˆć‚¢ćƒƒćƒ—ć•ć‚Œć‚‹ć€‚

怀怀CREATE TABLE č¦³ęø¬ (
怀怀通ē•Ŗ INTEGER,
ć€€ć€€é³„åCHAR(20),
ć€€ć€€č¦³ęø¬ę•° INTEGER,
怀PRIMARY KEY (通ē•Ŗ, 鳄名))

怀怀INSERT INTO č¦³ęø¬
怀怀SELECT DISTINCT obs1.通ē•Ŗ, obs2.鳄名, 0
怀怀怀怀FROM č¦³ęø¬ AS obs1, č¦³ęø¬ AS obs2
怀怀怀WHERE NOT EXISTS (
怀怀怀怀SELECT * FROM č¦³ęø¬ AS obs3
怀怀怀怀怀WHERE 怀怀a怀怀
怀怀怀怀怀怀AND obs2.鳄名 = obs3.鳄名)

ļ¼”怀obs1.通ē•Ŗ = obs3.通ē•Ŗ

Ā 

ļ¼±ć€€ā€œå•†å“ęœˆé–“č²©å£²å®Ÿēø¾ā€č”Ø恫åÆ¾ć—ć¦ļ¼ŒSQLę–‡ć‚’å®Ÿč”Œć—ć¦å¾—ć‚‰ć‚Œć‚‹ēµęžœćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210723135659p:plain

怔SQLꖇ怕
怀SELECT A.å•†å“ć‚³ćƒ¼ćƒ‰ AS å•†å“ć‚³ćƒ¼ćƒ‰, A.ē·č²©å£²ę•° AS ē·č²©å£²ę•°
怀怀FROM å•†å“ęœˆé–“č²©å£²å®Ÿēø¾ A
怀怀WHERE 3 > (SELECT COUNT(*) FROM å•†å“ęœˆé–“č²©å£²å®Ÿēø¾ B
怀怀怀WHERE A.ē·č²©å£²ę•° < B.ē·č²©å£²ę•°)

f:id:trhnmr:20210723135714p:plain

ļ¼”怀悦

Ā 

ļ¼±ć€€ā€œē¤¾å“”ā€č”Ø恋悉ļ¼Œå½¹å‰²åćŒćƒ—ćƒ­ć‚°ćƒ©ćƒžć§ć‚ć‚‹ē¤¾å“”恌3äŗŗ仄äøŠę‰€å±žć—恦恄悋éƒØ門恮éƒØé–€åć‚’å–å¾—ć™ć‚‹SQLꖇćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œå®Ÿē·šć®äø‹ē·šćÆäø»ć‚­ćƒ¼ć‚’č”Ø恙怂

怀怀ē¤¾å“”ļ¼ˆē¤¾å“”ē•Ŗ号ļ¼ŒéƒØ門名ļ¼Œē¤¾å“”名ļ¼Œå½¹å‰²åļ¼‰

ļ¼”怀SELECT éƒØ門名 FROM ē¤¾å“”
怀WHERE 役割名 = 'ćƒ—ćƒ­ć‚°ćƒ©ćƒž'
怀GROUP BY éƒØ門名
怀HAVING COUNT(*) >= 3

Ā 

ļ¼±ć€€SQL恮SELECTꖇ恮éøꊞ項ē›®ćƒŖć‚¹ćƒˆć«é–¢ć™ć‚‹čؘčæ°ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€åŒäø€ć®åˆ—ć‚’ē•°ćŖ悋éøꊞ項ē›®ć«ęŒ‡å®šć§ćć‚‹ć€‚

Ā 

ļ¼±ć€€SQLć«ćŠć‘ć‚‹ćƒ‰ćƒ”ć‚¤ćƒ³ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒ‰ćƒ”ć‚¤ćƒ³ć®å®šē¾©ć«ćÆCREATEꖇļ¼Œå‰Šé™¤ć«ćÆDROPꖇ悒ē”Ø恄悋怂

Ā 

ļ¼±ć€€SQL恧ē”Øć„ć‚‹ć‚«ćƒ¼ć‚½ćƒ«ć®čŖ¬ę˜Žć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€åŸ‹č¾¼ćæ型SQL恫恊恄恦ä½æē”Ø恗ļ¼Œä¼šč©±åž‹SQL恧ćÆä½æē”Ø恧恍ćŖ恄怂

Ā 

ļ¼±ć€€äø‰ć¤ć®č”Øā€œå–引先ā€č”Øļ¼Œā€œå•†å“ā€č”Øļ¼Œā€œę³Øꖇā€č”Ø悒åŸŗåŗ•č”ØćØć™ć‚‹ćƒ“ćƒ„ćƒ¼ā€œę³Øꖇ123ā€ć‚’ę“ä½œć™ć‚‹SQLꖇ恮恆恔ļ¼Œå®Ÿč”Œć§ćć‚‹ć‚‚恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œå„č”Øć®åˆ—ć®ć†ć”äø‹ē·šć®ć‚悋悂恮悒äø»ć‚­ćƒ¼ćØ恙悋怂

f:id:trhnmr:20210723141620p:plain

ć€€ć€”ćƒ“ćƒ„ćƒ¼ā€œę³Øꖇ123ā€ć®å®šē¾©ć€•
怀CREATE VIEW ę³Øꖇ123 AS
怀怀SELECT ę³Øꖇē•Ŗ号, 取引先.名ē§° AS 取引先名, ꕰ量
怀怀怀FROM ę³Øꖇ, 取引先, 商品
怀怀怀WHERE ę³Øꖇ.商品ē•Ŗ号 = '123'
怀怀怀怀AND ę³Øꖇ.取引先ID = 取引先.取引先ID
怀怀怀怀AND ę³Øꖇ.商品ē•Ŗ号 = 商品.商品ē•Ŗ号

ļ¼”怀UPDATE ę³Øꖇ123 SET ꕰ量 = 3 WHERE 取引先名 = 'ē›®ē™½å•†åŗ—'

Ā 

ļ¼±ć€€ę¬”ć®é–¢äæ‚Rļ¼ŒSļ¼ŒTļ¼ŒU恫恊恄恦ļ¼Œé–¢äæ‚ä»£ę•°č”Øē¾RƗSĆ·Tāˆ’Uć®ę¼”ē®—ēµęžœćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼ŒĆ—ćÆē›“ē©ļ¼ŒĆ·ćÆ商ļ¼Œāˆ’ćÆå·®ć®ę¼”ē®—ć‚’č”Ø恙怂

f:id:trhnmr:20210723143127p:plain

f:id:trhnmr:20210723143140p:plain

ļ¼”ć€€ć‚¢

Ā 

ļ¼±ć€€ā€œē¤¾å“”ā€č”ØćØā€œćƒ—ćƒ­ć‚ø悧ć‚Æ惈ā€č”Ø恫åÆ¾ć—ć¦ļ¼Œę¬”恮SQLę–‡ć‚’å®Ÿč”Œć—ćŸēµęžœćÆć©ć‚Œć‹ć€‚

怀怀SELECT 惗惭ć‚ø悧ć‚Æ惈ē•Ŗ号, ē¤¾å“”ē•Ŗ号 FROM 惗惭ć‚ø悧ć‚Æ惈
怀怀WHERE ē¤¾å“”ē•Ŗ号 IN
怀怀(SELECT ē¤¾å“”ē•Ŗ号 FROM ē¤¾å“” WHERE éƒØ門 <= '2000')

f:id:trhnmr:20210723143417p:plain

f:id:trhnmr:20210723143429p:plain

ļ¼”ć€€ć‚¢

Ā 

ļ¼±ć€€ā€œē¤¾å“”ē•Ŗ号ā€ćØā€œę°åā€ć‚’列ćØ恗恦悂恤Rč”ØćØSč”Ø恫åÆ¾ć—ć¦ļ¼Œå·®ļ¼ˆRāˆ’Sļ¼‰ć‚’걂悁悋SQLꖇćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼ŒRč”ØćØSč”Ø恮äø»ć‚­ćƒ¼ćÆā€œē¤¾å“”ē•Ŗ号ā€ć§ć‚ć‚Šļ¼Œā€œę°åā€ćÆā€œē¤¾å“”ē•Ŗ号ā€ć«é–¢ę•°å¾“å±žć™ć‚‹ć€‚

ļ¼”怀SELECT ē¤¾å“”ē•Ŗ号, ę°å FROM R
怀WHERE NOT EXISTS (SELECT * FROM S
怀怀WHERE R.ē¤¾å“”ē•Ŗ号 = S.ē¤¾å“”ē•Ŗ号)

Ā 

ļ¼±ć€€ę¬”恮SQLę–‡ć«ć‚ˆć£ć¦ā€œä¼šå“”ā€č”Øć‹ć‚‰ę–°ćŸć«å¾—ć‚‰ć‚Œć‚‹č”ØćÆć©ć‚Œć‹ć€‚

怔SQLꖇ怕
怀SELECT AVG(幓齢)
怀怀FROM 会哔
怀怀GROUP BY ć‚°ćƒ«ćƒ¼ćƒ—
怀怀HAVING COUNT(*) > 1

f:id:trhnmr:20210723143937p:plain

f:id:trhnmr:20210723143948p:plain

ļ¼”怀悦

Ā 

ļ¼±ć€€åœ°åŸŸåˆ„ć«åˆ†ć‹ć‚Œć¦ć„ć‚‹åŒć˜ę§‹é€ ć®äø‰ć¤ć®å•†å“č”Øļ¼Œā€œę±äŗ¬å•†å“ā€ļ¼Œā€œåå¤å±‹å•†å“ā€ļ¼Œā€œå¤§é˜Ŗ商品ā€ćŒć‚悋怂ꬔ恮SQLꖇćØ同ē­‰ć®ēµęžœćŒå¾—ć‚‰ć‚Œć‚‹é–¢äæ‚ä»£ę•°å¼ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œäø‰ć¤ć®å•†å“č”Ø恮äø»ć‚­ćƒ¼ćÆā€œå•†å“ē•Ŗ号ā€ć§ć‚ć‚‹ć€‚ć¾ćŸļ¼ŒXāˆ’YćÆX恋悉Y恮要ē“ ć‚’é™¤ć„ćŸå·®é›†åˆć‚’č”Ø恙怂

怀怀SELECT * FROM 大é˜Ŗ商品
怀WHERE 商品ē•Ŗ号 NOT IN (SELECT 商品ē•Ŗ号 FROM ę±äŗ¬å•†å“)
UNION
SELECT * FROM 名古屋商品
怀WHERE 商品ē•Ŗ号 NOT IN (SELECT 商品ē•Ŗ号 FROM ę±äŗ¬å•†å“)

ļ¼”怀ļ¼ˆå¤§é˜Ŗ商品 āˆŖ 名古屋商品ļ¼‰āˆ’ ę±äŗ¬å•†å“

Ā 

ļ¼±ć€€é–¢äæ‚RćØ関äæ‚S恋悉ļ¼Œé–¢äæ‚ä»£ę•°ę¼”ē®—RĆ·Sć§å¾—ć‚‰ć‚Œć‚‹ć‚‚ć®ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼ŒĆ·ćÆå•†ć®ę¼”ē®—ć‚’č”Ø恙怂

f:id:trhnmr:20210723144753p:plain

f:id:trhnmr:20210723144807p:plain

ļ¼”怀ć‚Ø

Ā 

ļ¼±ć€€č”Øć®ę‰€ęœ‰č€…ćŒļ¼ŒSQLꖇ恮GRANT悒ē”Ø恄恦čØ­å®šć™ć‚‹ć‚¢ć‚Æć‚»ć‚¹ęØ©é™ć®čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀č”Øć®åˆ©ē”Ø者恫åÆ¾ć—ļ¼Œč”Øćøć®å•åˆć›ļ¼Œę›“ꖰļ¼Œčæ½åŠ ļ¼Œå‰Šé™¤ćŖć©ć®ę“ä½œć‚’čرåÆ恙悋怂

Ā 

ļ¼±ć€€č”ØR恫ļ¼Œļ¼ˆAļ¼ŒBļ¼‰ć®2åˆ—ć§ćƒ¦ćƒ‹ćƒ¼ć‚Æć«ć™ć‚‹åˆ¶ē“„ļ¼ˆUNIQUE制ē“„ļ¼‰ćŒå®šē¾©ć•ć‚Œć¦ć„ć‚‹ćØ恍ļ¼Œč”ØR恫åÆ¾ć™ć‚‹SQLę–‡ć§ć“ć®åˆ¶ē“„ć®é•åćØćŖ悋悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œč”ØR恫ćÆäø»ć‚­ćƒ¼ć®å®šē¾©ćŒćŖ恏ļ¼Œć¾ćŸļ¼Œć™ć¹ć¦ć®åˆ—ćÆå€¤ćŒę±ŗć¾ć£ć¦ć„ćŖć„å “åˆļ¼ˆNULLļ¼‰ć‚‚恂悋悂恮ćØ恙悋怂

f:id:trhnmr:20210723145111p:plain

ļ¼”怀UPDATE R SET A = 'AA02' WHERE A = 'AA01'

Ā 

ļ¼±ć€€ę•™å“”ć®ę‹…å½“ē§‘ē›®ćØēµ¦äøŽć‚’ē®”ē†ć™ć‚‹ā€œē§‘ē›®äø€ę•™å“”ā€č”Ø悒ꛓꖰ恙悋ćØćć«ē™ŗē”Ÿć™ć‚‹å•é”ŒćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œē§‘ē›®ē•Ŗå·ć‚’äø»ć‚­ćƒ¼ćØ恗ļ¼ŒåŸŗęœ¬ēµ¦ćÆē§‘ē›®ć«ć‚ˆć‚‰ćšę•™å“”恔ćØ恫ę±ŗć¾ć£ć¦ć„ć‚‹ć‚‚ć®ćØ恙悋怂

f:id:trhnmr:20210723145515p:plain

ļ¼”怀複ꕰ恮ē§‘ē›®ć‚’ę‹…å½“ć™ć‚‹ę•™å“”恮åŸŗęœ¬ēµ¦ć‚’å¤‰ę›“恙悋ćØ恍ćÆļ¼Œę‹…å½“ć™ć‚‹ć™ć¹ć¦ć®ē§‘ē›®ć«ć¤ć„ć¦å¤‰ę›“恗ćŖ恄ćØćƒ‡ćƒ¼ć‚æ恮äøę•“åˆćŒē”Ÿć˜ć‚‹ć€‚

Ā 

ļ¼±ć€€ćƒ“ćƒ„ćƒ¼ć®SELECTęØ©é™ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€å…ƒć®č”Ø恫åÆ¾ć™ć‚‹SELECTęØ©é™ć«ć‹ć‹ć‚ć‚‰ćšļ¼Œćƒ“ćƒ„ćƒ¼ć«åÆ¾ć™ć‚‹SELECTęØ©é™ćŒć‚ć‚Œć°ļ¼Œćć®ćƒ“ćƒ„ćƒ¼ć«åÆ¾ć—ć¦å•åˆć›ć‚’ć™ć‚‹ć“ćØ恌恧恍悋怂

Ā 

ļ¼±ć€€é–¢äæ‚ā€œå±„äæ®ā€ćØ関äæ‚ā€œę‹…当ā€ć‚’č‡Ŗē„¶ēµåˆć—ćŸēµęžœćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210723145626p:plain

f:id:trhnmr:20210723145637p:plain

ļ¼”ć€€ć‚¢

Ā 

ļ¼±ć€€ā€œč£½å“ā€č”ØćØā€œåœØåŗ«ā€č”Ø恫åÆ¾ć—ļ¼Œę¬”恮SQLę–‡ć‚’å®Ÿč”Œć—ćŸēµęžœćØć—ć¦å¾—ć‚‰ć‚Œć‚‹č”Øć®č”Œę•°ćÆå¹¾ć¤ć‹ć€‚

怀怀SELECT DISTINCT č£½å“ē•Ŗ号 FROM č£½å“
怀怀WHERE NOT EXISTS (SELECT č£½å“ē•Ŗ号 FROM åœØåŗ«
怀怀怀WHERE åœØåŗ«ę•° > 30 AND č£½å“.č£½å“ē•Ŗ号 = åœØåŗ«.č£½å“ē•Ŗ号)

f:id:trhnmr:20210723145828p:plain

ļ¼”怀2

Ā 

ļ¼±ć€€č¤‡ę•°ć®äŗ‹ę„­éƒØļ¼ŒéƒØļ¼ŒčŖ²åŠć³äæ‚ć®ć‚ˆć†ćŖēµ„ē¹”éšŽå±¤ć®ę¦‚åæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒ«ć‚’ļ¼Œē¬¬3ę­£č¦å½¢ć®č”Øļ¼Œ
怀ēµ„ē¹”ļ¼ˆēµ„ē¹”IDļ¼Œēµ„ē¹”名ļ¼Œ...ļ¼‰
ćØć—ć¦å®Ÿč£…ć—ćŸć€‚ēµ„ē¹”恮č¦Ŗ子関äæ‚ć‚’č”Øē¤ŗ恙悋SQLꖇäø­ć®ać«å…„ć‚Œć‚‹ć¹ćé©åˆ‡ćŖ字叄ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œā€œēµ„ē¹”ā€č”Øčؘčæ°äø­ć®äø‹ē·šéƒØćÆļ¼Œäø»ć‚­ćƒ¼ć‚’č”Ø恗ļ¼Œčæ½åŠ ć®å±žę€§ć‚’ęƒ³å®šć™ć‚‹åæ…č¦ćŒć‚ć‚‹ć€‚ć¾ćŸļ¼Œćƒ¢ćƒ‡ćƒ«ć®čØ˜ę³•ćØ恗恦UML悒ē”Ø恄悋怂{階層}ćÆēµ„ē¹”恮č¦Ŗ子関äæ‚ćŒå¾Ŗē’°ć—ćŖ恄恓ćØ悒ꌇē¤ŗć™ć‚‹åˆ¶ē“„čؘčæ°ć§ć‚悋怂

f:id:trhnmr:20210723150147p:plain

SELECT ēµ„ē¹”1.ēµ„ē¹”名 AS č¦Ŗēµ„ē¹”, ēµ„ē¹”2.ēµ„ē¹”名 AS子ēµ„ē¹”
怀FROM ēµ„ē¹” AS ēµ„ē¹”1, ēµ„ē¹” AS ēµ„ē¹”2
怀WHERE 怀怀a怀怀

ļ¼”怀ēµ„ē¹”1.ēµ„ē¹”ID = ēµ„ē¹”2.č¦Ŗēµ„ē¹”ID

Ā 

ļ¼±ć€€ę¬”恮SQLę–‡ć®å®Ÿč”Œēµęžœć®čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

怀怀CREATE VIEW ę±äŗ¬å–引先 AS
怀怀SELECT * FROM 取引先
怀怀WHERE 取引先.ꉀåœØ地 = 'ę±äŗ¬'
怀GRANT SELECT
怀怀ON ę±äŗ¬å–引先 TO "8823"

ļ¼”怀8823ć®ćƒ¦ćƒ¼ć‚¶ćÆļ¼Œę‰€åœØåœ°ćŒā€œę±äŗ¬ā€ć®č”Œć‚’参ē…§ć§ćć‚‹ć‚ˆć†ć«ćŖ悋怂

Ā 

ļ¼±ć€€ā€œē¤¾å“”ā€č”ØćØā€œäŗŗäŗ‹ē•°å‹•ā€č”Ø恋悉ē¤¾å“”恔ćØć®å‹¤å‹™ęˆēø¾ć®å¹³å‡ć‚’ę±‚ć‚ć‚‹é©åˆ‡ćŖSQLꖇćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œę±‚悁悋項ē›®ćÆļ¼Œē¤¾å“”ć‚³ćƒ¼ćƒ‰ļ¼Œē¤¾å“”名ļ¼Œå‹¤å‹™ęˆēø¾ļ¼ˆå¹³å‡ļ¼‰ć®3項ē›®ćØ恙悋怂

f:id:trhnmr:20210723150604p:plain

ļ¼”怀SELECT ē¤¾å“”.ē¤¾å“”ć‚³ćƒ¼ćƒ‰, ē¤¾å“”名, AVG(å‹¤å‹™ęˆēø¾) AS "å‹¤å‹™ęˆēø¾(平均)"
怀FROM ē¤¾å“”, äŗŗäŗ‹ē•°å‹•
怀WHERE ē¤¾å“”.ē¤¾å“”ć‚³ćƒ¼ćƒ‰ = äŗŗäŗ‹ē•°å‹•.ē¤¾å“”ć‚³ćƒ¼ćƒ‰
怀GROUP BY ē¤¾å“”.ē¤¾å“”ć‚³ćƒ¼ćƒ‰, ē¤¾å“”.ē¤¾å“”名

Ā 

ļ¼±ć€€ę¬”ć®ćƒć‚§ćƒƒć‚Æćƒć‚¤ćƒ³ćƒˆć®ä»•ę§˜ć«å¾“ć£ć¦ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³å‡¦ē†ć‚’č”Œć†DBMS恫恊恄恦ļ¼Œćƒć‚§ćƒƒć‚Æćƒć‚¤ćƒ³ćƒˆć®ē™ŗē”Ÿé »åŗ¦ćÆ1ę™‚é–“å½“ćŸć‚Šä½•å›žć‹ć€‚ć“ć“ć§ļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćÆęƎē§’20件ē™ŗē”Ÿć—ļ¼Œ1ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć”ćØć«ę¶ˆč²»ć•ć‚Œć‚‹ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ćƒćƒƒćƒ•ć‚”é ˜åŸŸć®ćƒ‡ćƒ¼ć‚æé‡åŠć³ćƒ­ć‚°ćƒ•ć‚”ć‚¤ćƒ«ć«ę›ø恍å‡ŗć™ćƒ­ć‚°é•·ćÆ恩恔悉悂10k惐悤惈ćØć™ć‚‹ć€‚ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ćƒćƒƒćƒ•ć‚”é ˜åŸŸć®å®¹é‡ćÆ480M惐悤惈ćØ恗ļ¼Œäø€ć¤ć®ćƒ­ć‚°ćƒ•ć‚”ć‚¤ćƒ«ć®ć‚µć‚¤ć‚ŗćÆ240M惐悤惈ćØ恙悋怂1M惐悤惈=103k惐悤惈ćØć™ć‚‹ć€‚é–‹å§‹ę™‚ē‚¹ć§ćÆļ¼Œćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ćƒćƒƒćƒ•ć‚”é ˜åŸŸļ¼Œćƒ­ć‚°ćƒ•ć‚”ć‚¤ćƒ«ćØć‚‚ć«åˆęœŸåŒ–ēŠ¶ę…‹ć§ć‚ć‚‹ćØ恙悋怂DBMSćÆļ¼Œćƒ­ć‚°ćƒ•ć‚”ć‚¤ćƒ«ć‚’äŗŒć¤ć‚‚恔ļ¼Œäø€ę–¹ć‚’ä½æć„åˆ‡ć£ćŸć‚‰ä»–ę–¹ć«åˆ‡ć‚Šę›æ恈ļ¼Œä½æć„åˆ‡ć£ćŸäø€ę–¹ć‚’ć‚¢ćƒ¼ć‚«ć‚¤ćƒ–ć—ć¦åˆęœŸåŒ–ć™ć‚‹ć€‚ćƒ­ć‚°ćƒ•ć‚”ć‚¤ćƒ«ćø恮ę›øč¾¼ćæ処ē†ćÆWALćƒ—ćƒ­ćƒˆć‚³ćƒ«ć«å¾“ć†ć€‚

怀怔惁悧惃ć‚Æćƒć‚¤ćƒ³ćƒˆć®ä»•ę§˜ć€•
1.惁悧惃ć‚Æćƒć‚¤ćƒ³ćƒˆćŒē™ŗē”Ÿć™ć‚‹ę”件
怀a.ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ćƒćƒƒćƒ•ć‚”é ˜åŸŸć«ē©ŗ恍恌ćŖ恏ćŖć£ćŸćØ恍ļ¼ŒåˆćÆ
怀b.ćƒ­ć‚°ćƒ•ć‚”ć‚¤ćƒ«ćŒåˆ‡ć‚Šę›æ悏悋ćØ恍
2.惁悧惃ć‚Æćƒć‚¤ćƒ³ćƒˆēµ‚äŗ†ę™‚ć®ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ćƒćƒƒćƒ•ć‚”ć®ēŠ¶ę…‹
ć€€ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ćƒćƒƒćƒ•ć‚”é ˜åŸŸćÆļ¼Œćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ćƒ•ć‚”ć‚¤ćƒ«ćøć®åę˜ å¾Œļ¼ŒåˆęœŸåŒ–ć•ć‚Œć‚‹ć€‚

ļ¼”怀3

Ā 

ļ¼±ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®éš”é›¢ę€§ę°“ęŗ–恮恆恔ļ¼Œę¬”恮ļ¼ˆ1ļ¼‰ļ¼Œļ¼ˆ2ļ¼‰ć«č©²å½“恙悋SQLć®ęŒ‡å®šćÆć©ć‚Œć‹ć€‚

ļ¼ˆ1ļ¼‰åÆ¾č±”ć®č”Øć®ćƒ€ćƒ¼ćƒ†ć‚£ćƒŖćƒ¼ćƒ‰ćÆ回éæ恧恍悋怂

ļ¼ˆ2ļ¼‰äø€ć¤ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³äø­ć§ļ¼ŒåÆ¾č±”ć®č”Øć®ć‚ć‚‹č”Œć‚’2回仄äøŠå‚ē…§ć™ć‚‹å “合ļ¼Œ1回ē›®ć®čŖ­č¾¼ćæć®åˆ—å€¤ćØ2回ē›®ä»„é™ć®čŖ­č¾¼ćæć®åˆ—å€¤ćŒåŒć˜ć§ć‚ć‚‹ć“ćØ恌äæčØ¼ć•ć‚ŒćŖ恄怂

ļ¼”怀READ COMMITTED

Ā 

ļ¼±ć€€t1ļ½žt10ć®ę™‚åˆ»ć§ć‚¹ć‚±ć‚øćƒ„ćƒ¼ćƒ«ć•ć‚ŒćŸćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³T1ļ½žT4ćŒć‚ć‚‹ć€‚ę™‚åˆ»t10恧T1恌commit悒ē™ŗč”Œć™ć‚‹ē›“å‰ć®ļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®å¾…ć”ć‚°ćƒ©ćƒ•ć‚’ä½œęˆć—ćŸć€‚ać«å½“ć¦ćÆć¾ć‚‹ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œselect(X) ćÆå…±ęœ‰ćƒ­ćƒƒć‚Æć‚’ć‹ć‘ć¦č³‡ęŗXć‚’å‚ē…§ć™ć‚‹ć“ćØ悒č”Ø恗ļ¼Œupdate(X) ćÆå°‚ęœ‰ćƒ­ćƒƒć‚Æć‚’ć‹ć‘ć¦č³‡ęŗX悒ꛓꖰ恙悋恓ćØ悒č”Øć™ć€‚ć“ć‚Œć‚‰ć®ćƒ­ćƒƒć‚ÆćÆļ¼Œcommitć•ć‚Œć‚‹ć¾ć§ć‚¢ćƒ³ćƒ­ćƒƒć‚Æ恕悌ćŖ恄悂恮ćØć™ć‚‹ć€‚ć¾ćŸļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®å¾…ć”ć‚°ćƒ©ćƒ•ć®ēŸ¢å°ćÆļ¼ŒTiā†’TjćØ恗恟ćØ恍ļ¼ŒTj恌惭惃ć‚Æć—ć¦ć„ć‚‹č³‡ęŗć®ć‚¢ćƒ³ćƒ­ćƒƒć‚Æ悒ļ¼ŒTićŒå¾…ć¤ć“ćØ悒č”Ø恙怂

ć€”ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®ć‚¹ć‚±ć‚øćƒ„ćƒ¼ćƒ«ć€•

ę™‚åˆ» ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³
T1 T2 T3 T4
t1 select(A) ćƒ¼ ćƒ¼ ćƒ¼
t2 ćƒ¼ select(B) ćƒ¼ ćƒ¼
t3 ćƒ¼ ćƒ¼ select(A) ćƒ¼
t4 ćƒ¼ ćƒ¼ ćƒ¼ select(B)
t5 ćƒ¼ ćƒ¼ ćƒ¼ select(B)
t6 select(C) ćƒ¼ ćƒ¼ ćƒ¼
t7 ćƒ¼ select(C) ćƒ¼ ćƒ¼
t8 ćƒ¼ update(C) ćƒ¼ ćƒ¼
t9 ćƒ¼ ćƒ¼ update(A) ćƒ¼
t10 commit ćƒ¼ ćƒ¼ ćƒ¼

ć€”ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®å¾…ć”ć‚°ćƒ©ćƒ•ć€•

f:id:trhnmr:20210723151614p:plain

ļ¼”怀T2

Ā 

ļ¼±ć€€åˆ†ę•£ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‚·ć‚¹ćƒ†ćƒ ć«ćŠć„ć¦ļ¼Œč¤‡ę•°ć®ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‚µć‚¤ćƒˆć‚’ę›“ę–°ć™ć‚‹å “åˆć«ē”Ø恄悉悌悋2ē›øć‚³ćƒŸćƒƒćƒˆć®å‡¦ē†ę‰‹é †ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀äø»ć‚µć‚¤ćƒˆćÆļ¼Œć‚³ćƒŸćƒƒćƒˆćŒåÆčƒ½ć§ć‚ć‚‹ć“ćØć‚’å„ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‚µć‚¤ćƒˆć«ē¢ŗčŖć—ćŸå¾Œļ¼Œć‚³ćƒŸćƒƒćƒˆć‚’ē™ŗč”Œć™ć‚‹ć€‚

Ā 

ļ¼±ć€€åˆ†ę•£åž‹ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć§ēµåˆę¼”ē®—ć‚’č”Œć†ćØ恍ļ¼Œé€šäæ”č² č·ć‚’ęœ€ć‚‚å°ć•ćć™ć‚‹ć“ćØćŒć§ćć‚‹ę‰‹ę³•ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ćÆē•°ćŖć‚‹ć‚³ćƒ³ćƒ”ćƒ„ćƒ¼ć‚æäøŠć«ę ¼ē“ć•ć‚Œć¦ļ¼Œć‹ć¤ēµåˆę¼”ē®—ć‚’č”Œć†č”Øć®č”Œę•°ćŒļ¼ŒåŒę–¹ć§å¤§ććē•°ćŖ悉ćŖ恄悂恮ćØ恙悋怂

ļ¼”ć€€ć‚»ćƒŸć‚øćƒ§ć‚¤ćƒ³ę³•

Ā 

ļ¼±ć€€DBMSć®å¤šē‰ˆåŒę™‚å®Ÿč”Œåˆ¶å¾”ļ¼ˆMVCCļ¼‰ć«é–¢ć™ć‚‹čؘčæ°ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€åŒę™‚å®Ÿč”Œć•ć‚Œć‚‹äŗŒć¤ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®ć†ć”ļ¼Œå…ˆē™ŗć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćŒćƒ‡ćƒ¼ć‚æ悒ꛓꖰ恗ļ¼Œć‚³ćƒŸćƒƒćƒˆć™ć‚‹å‰ć«ļ¼Œå¾Œē™ŗć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćŒåŒć˜ćƒ‡ćƒ¼ć‚æć‚’å‚ē…§ć™ć‚‹ćØļ¼Œę›“ę–°å‰ć®å€¤ć‚’čæ”恙怂

Ā 

ļ¼±ć€€åˆ†ę•£ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćÆč¤‡ę•°ć®ć‚µćƒ–ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć«åˆ†å‰²ć•ć‚Œļ¼Œč¤‡ę•°ć®ć‚µć‚¤ćƒˆć§å®Ÿč”Œć•ć‚Œć‚‹ć€‚恓恮ćØ恍ļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®ć‚³ćƒŸćƒƒćƒˆåˆ¶å¾”ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀2ē›øć‚³ćƒŸćƒƒćƒˆć‚’ē”Ø恄恦悂ļ¼Œć‚µćƒ–ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćŒå®Ÿč”Œć•ć‚Œć‚‹ć‚µć‚¤ćƒˆć«äø»ć‚µć‚¤ćƒˆć®ęŒ‡ē¤ŗćŒå±Šć‹ćšļ¼Œć‚µćƒ–ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć‚’ć‚³ćƒŸćƒƒćƒˆć™ć¹ćć‹ćƒ­ćƒ¼ćƒ«ćƒćƒƒć‚Æć™ć¹ćć‹åˆ†ć‹ć‚‰ćŖć„å “åˆćŒć‚ć‚‹ć€‚

Ā 

ļ¼±ć€€åŽ³ę ¼ćŖ2ē›øćƒ­ćƒƒć‚­ćƒ³ć‚°ćƒ—ćƒ­ćƒˆć‚³ćƒ«ćØč”Ø惭惃ć‚Æ悒適ē”Ø恗恦ļ¼ŒåŒę™‚å®Ÿč”Œć—ć¦ć„ć‚‹ä»–ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®å‡¦ē†ēµęžœć«å½±éŸæ悒äøŽćˆćŖć„ć‚ˆć†ć«ć™ć‚‹ć€‚å®Ÿē¾ć•ć‚Œć‚‹ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®éš”é›¢ę€§ę°“ęŗ–ćÆć©ć‚Œć‹ć€‚

ļ¼”怀SERIALIZABLE

Ā 

ļ¼±ć€€B+ęœØć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ćØćƒ“ćƒƒćƒˆćƒžćƒƒćƒ—ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ć‚’ęÆ”č¼ƒć—ćŸčŖ¬ę˜Žć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€å°‘ę•°ć®ē•°ćŖć‚‹å€¤ć‚’ć‚‚ć¤åˆ—ćøć®ę¤œē“¢ćÆļ¼Œćƒ“ćƒƒćƒˆćƒžćƒƒćƒ—ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ć®ę–¹ćŒęœ‰åŠ¹ć§ć‚ć‚‹ć€‚

Ā 

ļ¼±ć€€DBMS恫恊恄恦ļ¼Œćƒ‡ćƒƒćƒ‰ćƒ­ćƒƒć‚Æ悒ꤜå‡ŗć™ć‚‹ćŸć‚ć«ä½æć‚ć‚Œć‚‹ćƒ‡ćƒ¼ć‚æ꧋造ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€å¾…ć”ć‚°ćƒ©ćƒ•

Ā 

ļ¼±ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®éš”é›¢ę€§ę°“ęŗ–ć‚’é«˜ć‚ćŸćØ恍ļ¼Œäøę•“合ćŖćƒ‡ćƒ¼ć‚æ悒čŖ­ćæč¾¼ć‚€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ę•°ćØļ¼Œå˜ä½ę™‚é–“ć«å‡¦ē†ć§ćć‚‹ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ę•°ć®å‚¾å‘ćØ恗恦ļ¼Œé©åˆ‡ćŖēµ„åˆć›ćÆć©ć‚Œć‹ć€‚

Ā  äøę•“合ćŖćƒ‡ćƒ¼ć‚æ悒čŖ­ćæč¾¼ć‚€
ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ę•°
å˜ä½ę™‚é–“ć«å‡¦ē†ć§ćć‚‹
ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ę•°
ļ¼” ęø›ć‚‹ ęø›ć‚‹

Ā 

ļ¼±ć€€DBMSć«å®Ÿč£…ć™ć¹ćåŽŸå­ę€§ļ¼ˆatomicityļ¼‰ć‚’čŖ¬ę˜Žć—ćŸć‚‚ć®ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³å†…ć®å‡¦ē†ćÆļ¼Œå…Øć¦ćŒå®Ÿč”Œć•ć‚Œć‚‹ć‹ļ¼Œå…Øć¦ćŒå–ć‚Šę¶ˆć•ć‚Œć‚‹ć‹ć®ć„ćšć‚Œć‹ć§ć‚ć‚‹ć€‚

Ā 

ļ¼±ć€€ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ę›“ę–°ć«ćŠć‘ć‚‹2ē›øć‚³ćƒŸćƒƒćƒˆć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀2ē›øć‚³ćƒŸćƒƒćƒˆć‚’č”Œć†ćŸć‚ć«ćÆļ¼ŒåŒę™‚恫ꛓꖰ恗悈恆ćØć™ć‚‹åˆ†ę•£ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®å…Øć¦ćŒę›“ę–°åÆčƒ½ć‹ć©ć†ć‹ć‚’åˆ¤ę–­ć™ć‚‹ćŸć‚ć®ć‚„ć‚Šå–ć‚ŠćŒåæ…要恧恂悋怂

Ā 

ļ¼±ć€€2ē›ø惭惃ć‚Æę–¹å¼ć«å¾“ć†ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®ē«¶åˆē›“列åÆčƒ½ę€§ćŒäæčØ¼ć•ć‚Œć‚‹ć€‚

Ā 

ļ¼±ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®ACIDē‰¹ę€§ć®čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®å®Ÿč”Œć®ēµęžœćŒēŸ›ē›¾ć—ćŸēŠ¶ę…‹ć«ćŖ悋恓ćØćÆćŖ恄怂

Ā 

ļ¼±ć€€å›³ćÆļ¼Œć‚ć‚‹ęŽ¢ē“¢ę”件悒ä½æć£ć¦ę•°å­¦ęØ”č©¦ć®å¹³å‡ē‚¹ć‚’ē®—å‡ŗ恗恦恄悋間ļ¼Œå½“č©²ęŽ¢ē“¢ę”ä»¶ć«åˆč‡“ć™ć‚‹Aå›ć®ēµęžœć‚’ā€œę•°å­¦ęØ”č©¦ęˆēø¾ā€č”Ø恫ē™»éŒ²ć—ćŸćØćć®ę§˜å­ć‚’ē¤ŗć—ć¦ć„ć‚‹ć€‚å¹³å‡ē‚¹ć‚’ę±‚ć‚ć‚‹ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³T1ćØļ¼Œē™»éŒ²ä½œę„­ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³T2恌ā‘ ļ½žā‘„恮順åŗć§å‡¦ē†ć•ć‚ŒćŸēµęžœļ¼Œåˆč؈ē‚¹ē®—å‡ŗę™‚ć®å—éØ“č€…ę•°ćØ平均ē‚¹ē®—å‡ŗę™‚ć®å—éØ“č€…ę•°ćŒē•°ćŖ悊ļ¼Œę­£ć—ć„å¹³å‡ē‚¹ć‚’å¾—ć‚‹ć“ćØ恌恧恍ćŖć‹ć£ćŸć€‚ć“ć®ćØ恍ē™ŗē”Ÿć—ćŸäŗ‹č±”ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®éš”é›¢ę€§ę°“ęŗ–ćÆREAD UNCOMMITTEDć§ć‚ć£ćŸćØ恙悋怂

f:id:trhnmr:20210723152349p:plain

ļ¼”ć€€ćƒ•ć‚”ćƒ³ćƒˆćƒ ćƒŖćƒ¼ćƒ‰

Ā 

ļ¼±ć€€RDBMS恮惭惃ć‚Æć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼ŒXļ¼ŒYćÆćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćØ恙悋怂

ļ¼”怀X恌Ač”Øå†…ć®ē‰¹å®šč”Œa恫åÆ¾ć—ć¦å…±ęœ‰ćƒ­ćƒƒć‚Æ悒ē²å¾—恗恦恄悋ćØ恍ćÆļ¼ŒYćÆAč”Ø恫åÆ¾ć—ć¦å°‚ęœ‰ćƒ­ćƒƒć‚Æ悒ē²å¾—恙悋恓ćØ恌恧恍ćŖ恄怂

Ā 

ļ¼±ć€€DBMS恫恊恄恦ļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³é–“ć§ćƒ‡ćƒƒćƒ‰ćƒ­ćƒƒć‚Æ恌ē™ŗē”Ÿć—恦恄悋恓ćØ悒ꤜå‡ŗć™ć‚‹ćŸć‚ć«ä½æē”Ø恙悋悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€å¾…ć”ć‚°ćƒ©ćƒ•

Ā 

ļ¼±ć€€WALļ¼ˆWrite Ahead Logļ¼‰ćƒ—ćƒ­ćƒˆć‚³ćƒ«ć®ē›®ēš„ć«é–¢ć™ć‚‹čŖ¬ę˜Žć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ä½•ć‚‰ć‹ć®ē†ē”±ć§DBMSćŒåœę­¢ć—ć¦ć‚‚ļ¼Œć‚³ćƒŸćƒƒćƒˆęøˆćæć§ć‚ć‚‹ćŒćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć«ę›øćč¾¼ć¾ć‚Œć¦ć„ćŖć„ę›“ę–°ćƒ‡ćƒ¼ć‚æć®å›žå¾©ć‚’åÆčƒ½ć«ć™ć‚‹ć€‚

Ā 

ļ¼±ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®åŽŸå­ę€§ļ¼ˆatomicityļ¼‰ć®čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćŒēµ‚äŗ†ć—ćŸćØćć®ēŠ¶ę…‹ćÆļ¼Œå‡¦ē†ęøˆćæ恋ęœŖ処ē†ć®ć©ć”悉恋恗恋ćŖ恄怂

Ā 

ļ¼±ć€€2ē›ø惭惃ć‚Æę–¹å¼ć‚’ē”Øć„ćŸćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®åŒę™‚å®Ÿč”Œåˆ¶å¾”ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćÆļ¼Œåæ…要ćŖ惭惃ć‚Æē²å¾—å‘½ä»¤ć‚’å…Øć¦å®Ÿč”Œć—ćŸå¾Œć«ć ć‘ļ¼Œćƒ­ćƒƒć‚Æč§£é™¤å‘½ä»¤ć‚’å®Ÿč”Œć§ćć‚‹ć€‚

Ā 

ļ¼±ć€€DBMSć‚’ć‚·ć‚¹ćƒ†ćƒ éšœå®³ē™ŗē”Ÿå¾Œć«å†ē«‹äøŠć’恙悋ćØ恍ļ¼Œćƒ­ćƒ¼ćƒ«ćƒ•ć‚©ćƒÆćƒ¼ćƒ‰ć™ć¹ććƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćØćƒ­ćƒ¼ćƒ«ćƒćƒƒć‚Æć™ć¹ććƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®ēµ„åˆć›ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®äø­ć§å®Ÿč”Œć•ć‚Œć‚‹å‡¦ē†å†…容ćÆꬔ恮ćØ恊悊ćØ恙悋怂

ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć«åÆ¾ć™ć‚‹Readå›žę•°ćØWriteå›žę•°
T1, T2 Read 10, Write 20
T3, T4 Read 100
T5, T6 Read 20, Write 10

f:id:trhnmr:20210723153053p:plain

Ā  ćƒ­ćƒ¼ćƒ«ćƒ•ć‚©ćƒÆćƒ¼ćƒ‰ ćƒ­ćƒ¼ćƒ«ćƒćƒƒć‚Æ
ļ¼” T2, T5 T6

Ā 

ļ¼±ć€€äŗŒć¤ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćŒļ¼ŒåŒć˜ćƒ‡ćƒ¼ć‚æ恫åÆ¾ć—ć¦ļ¼Œę›“ꖰļ¼Œå‚ē…§ć‚’č”Œć†ćØćć«ē™ŗē”Ÿć—å¾—ć‚‹ćƒ€ćƒ¼ćƒ†ć‚£ćƒŖćƒ¼ćƒ‰ć®äŗ‹č±”悒čؘčæ°ć—ćŸć‚‚ć®ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ć¾ć ć‚³ćƒŸćƒƒćƒˆć—ć¦ć„ćŖć„ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³Ać®ę›“ę–°å¾Œćƒ‡ćƒ¼ć‚æć‚’ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³BćŒå‚ē…§ć—ćŸć€‚ćć®å¾Œļ¼Œę›“ę–°å¾Œćƒ‡ćƒ¼ć‚æćÆćƒ­ćƒ¼ćƒ«ćƒćƒƒć‚Æ恕悌恟怂

Ā 

ļ¼±ć€€å›³ćÆļ¼Œåˆ†ę•£ć‚·ć‚¹ćƒ†ćƒ ć«ćŠć‘ć‚‹2ē›øć‚³ćƒŸćƒƒćƒˆćƒ—ćƒ­ćƒˆć‚³ćƒ«ć®ę­£åøø処ē†ć®ęµć‚Œć‚’č”Ø恗恦恄悋怂3ć®å‹•ä½œćÆć©ć‚Œć‹ć€‚

f:id:trhnmr:20210723153517p:plain

ļ¼”ć€€ć‚³ćƒŸćƒƒćƒˆå®Ÿč”ŒęŒ‡ē¤ŗ

Ā 

ļ¼±ć€€ć‚·ć‚¹ćƒ†ćƒ éšœå®³ē™ŗē”Ÿę™‚恫ćÆļ¼Œćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®ę•“åˆę€§ć‚’äæć”ļ¼Œć‹ć¤ļ¼Œęœ€ę–°ć®ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ēŠ¶ę…‹ć«å¾©ę—§ć™ć‚‹åæ…č¦ćŒć‚ć‚‹ć€‚ć“ć®ćŸć‚ć«ļ¼ŒDBMSćŒćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®ć‚³ćƒŸćƒƒćƒˆå‡¦ē†å®Œäŗ†ćØćæćŖ恙ć‚æć‚¤ćƒŸćƒ³ć‚°ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒ­ć‚°ćƒ•ć‚”ć‚¤ćƒ«ćøć®ć‚³ćƒŸćƒƒćƒˆęƒ…å ±ę›øč¾¼ćæ完äŗ†ę™‚ē‚¹

Ā 

ļ¼±ć€€ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³T2恮ęŒÆć‚‹čˆžć„ć®ć†ć”ļ¼Œćƒ€ćƒ¼ćƒ†ć‚£ćƒŖćƒ¼ćƒ‰ļ¼ˆdirtyreadļ¼‰ć«é–¢ć™ć‚‹čؘčæ°ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³T1ćŒč”Œć‚’ę›“ę–°ć—ļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³T2ćŒćć®č”Œć‚’ę¤œē“¢ć™ć‚‹ć€‚ćć®å¾ŒT1ćŒćƒ­ćƒ¼ćƒ«ćƒćƒƒć‚Æ恕悌悋ćØļ¼ŒT2ćÆćć®č”Œć«å­˜åœØ恗ćŖć„å€¤ć‚’čŖ­ć‚“恠恓ćØ恫ćŖ

Ā 

ļ¼±ć€€2ē›øć‚³ćƒŸćƒƒćƒˆć§åˆ†ę•£ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®åŽŸå­ę€§ć‚’äæčØ¼ć™ć‚‹å “åˆļ¼ŒćƒćƒƒćƒˆćƒÆćƒ¼ć‚Æéšœå®³ć®ē™ŗē”Ÿć«ć‚ˆć£ć¦å‚åŠ č€…ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćŒļ¼Œć‚³ćƒŸćƒƒćƒˆć™ć¹ćć‹ćƒ­ćƒ¼ćƒ«ćƒćƒƒć‚Æć™ć¹ćć‹ć‚’åˆ¤ę–­ć§ććŖ恏ćŖ悋恓ćØćŒć‚ć‚‹ć€‚ć“ć®ć‚ˆć†ćŖēŠ¶ę³ć‚’ē™ŗē”Ÿć•ć›ć‚‹ćƒćƒƒćƒˆćƒÆćƒ¼ć‚Æéšœå®³ć«é–¢ć™ć‚‹čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀čŖæåœč€…ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ćŒć‚³ćƒŸćƒƒćƒˆåˆćÆćƒ­ćƒ¼ćƒ«ćƒćƒƒć‚Æ恮ę±ŗå®šć‚’å‚åŠ č€…ć«é€ć‚‹ē›“å‰ć«éšœå®³ć«ćŖć£ćŸć€‚

Ā 

ļ¼±ć€€ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®éšœå®³å›žå¾©å‡¦ē†ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ć‚·ć‚¹ćƒ†ćƒ ćŒåŖ’ä½“éšœå®³ä»„å¤–ć®åŽŸå› ć«ć‚ˆć£ć¦åœę­¢ć—ćŸå “åˆļ¼Œćƒć‚§ćƒƒć‚Æćƒć‚¤ćƒ³ćƒˆć®å–å¾—ä»„å‰ć«ēµ‚äŗ†ć—ćŸćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć«ć¤ć„ć¦ć®å›žå¾©ä½œę„­ćÆäøč¦ć§ć‚悋怂

Ā 

ļ¼±ć€€DBMS恌惁悧惃ć‚Æćƒć‚¤ćƒ³ćƒˆę™‚ē‚¹ć§ļ¼Œćƒć‚§ćƒƒć‚Æćƒć‚¤ćƒ³ćƒˆćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ćƒ­ć‚°ć«ę›ø恍å‡ŗć™ä»–ć«č”Œć£ć¦ć„ć‚‹å‡¦ē†ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒćƒƒćƒ•ć‚”ć«ę®‹ć£ć¦ć„ć‚‹ę›“ę–°å¾Œć®ćƒ‡ćƒ¼ć‚æć‚’ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć«ę›ø恍å‡ŗ恙怂

Ā 

ļ¼±ć€€č¤‡ę•°ć®ćƒćƒƒćƒå‡¦ē†ć‚’äø¦č”Œć—ć¦å‹•ć‹ć™ćØ恍ļ¼Œćƒ‡ćƒƒćƒ‰ćƒ­ćƒƒć‚Æ恮ē™ŗē”Ÿć‚’ć§ćć‚‹ć ć‘å›žéæć—ćŸć„ć€‚ćƒćƒƒćƒå‡¦ē†ć®čØ­čØˆć‚¬ć‚¤ćƒ‰ćƒ©ć‚¤ćƒ³ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€č¤‡ę•°ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ę›“ę–°ć™ć‚‹ćØćć®é †ē•Ŗ悒ę±ŗć‚ć¦ćŠćļ¼Œå…Øć¦ć®ćƒćƒƒćƒå‡¦ē†ćŒć“ć‚Œć«å¾“ć£ć¦å‡¦ē†ć™ć‚‹ć‚ˆć†ć«čØ­čØˆć™ć‚‹ć€‚

Ā 

ļ¼±ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ē®”ē†ć®ē›“列化åÆčƒ½ć‚¹ć‚±ć‚øćƒ„ćƒ¼ćƒ«ć‚’čŖ¬ę˜Žć—ćŸć‚‚ć®ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć‚’é †ē•Ŗć«å®Ÿč”Œć—ćŸå “åˆćØåŒć˜ēµęžœć‚’ć‚‚ć¤ć‚ˆć†ć«ļ¼Œäø¦č”Œå®Ÿč”Œć™ć‚‹ć‚¹ć‚±ć‚øćƒ„ćƒ¼ćƒ«

Ā 

ļ¼±ć€€ćƒ‡ćƒƒćƒ‰ćƒ­ćƒƒć‚Æ恌ē™ŗē”Ÿć™ć‚‹åÆčƒ½ę€§ć®ć‚ć‚‹ęŽ’ä»–åˆ¶å¾”ć®ę–¹å¼ćÆć©ć‚Œć‹ć€‚

ļ¼”怀2恮惭惃ć‚Æćƒ—ćƒ­ćƒˆć‚³ćƒ«ć«å¾“ć£ć¦ćƒ­ćƒƒć‚Æć™ć‚‹ę–¹å¼

Ā 

ļ¼±ć€€SQLć§ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®éš”é›¢ę€§ę°“ęŗ–ć‚’READ COMMITTEDć«ęŒ‡å®šć—ćŸćØćć«ē™ŗē”Ÿć™ć‚‹ēŠ¶ę…‹ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒ€ćƒ¼ćƒ†ć‚£ćƒŖćƒ¼ćƒ‰ćÆē™ŗē”Ÿć—ćŖ恄恌ļ¼Œć‚¢ćƒ³ćƒŖćƒ”ćƒ¼ć‚æćƒ–ćƒ«ćƒŖćƒ¼ćƒ‰ćØćƒ•ć‚”ćƒ³ćƒˆćƒ ćƒŖćƒ¼ćƒ‰ćŒē™ŗē”Ÿć™ć‚‹ć€‚

Ā 

ļ¼±ć€€ę›“ę–°å‰ćƒ¬ć‚³ćƒ¼ćƒ‰ćØę›“ę–°å¾Œćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ćƒ­ć‚°ćØć—ć¦åˆ©ē”Ø恙悋DBMS恫恊恄恦ļ¼Œćƒ­ć‚°ć‚’å…ˆć«ę›ø恍å‡ŗ恙WALļ¼ˆWrite Ahead Logļ¼‰ćƒ—ćƒ­ćƒˆć‚³ćƒ«ć«å¾“ć†ćØ恗恦ļ¼Œå‡¦ē†ā‘ ć€œā‘„ć‚’ę­£ć—ć„é †ē•Ŗ恫äø¦ć¹ćŸć‚‚恮ćÆć©ć‚Œć‹ć€‚

ā‘ ć€€begin transaction ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ę›ø恍å‡ŗ恙怂

ā‘”ć€€ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‚’ę›“ę–°ć™ć‚‹ć€‚

ā‘¢ć€€ćƒ­ć‚°ć«ę›“ę–°å‰ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ę›ø恍å‡ŗ恙怂

ā‘£ć€€ćƒ­ć‚°ć«ę›“ę–°å¾Œćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ę›ø恍å‡ŗ恙怂

ā‘¤ć€€commit ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ę›ø恍å‡ŗ恙怂

ā‘„怀end transaction ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ę›ø恍å‡ŗ恙怂

ļ¼”怀ā‘ ā†’ā‘¢ā†’ā‘£ā†’ā‘”ā†’ā‘¤ā†’ā‘„

Ā 

ļ¼±ć€€äŗŒć¤ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ T1ļ¼Œ T2 恌ļ¼Œćƒ‡ćƒ¼ć‚æ aļ¼Œb 恫äø¦č”Œć—ć¦ć‚¢ć‚Æć‚»ć‚¹ć™ć‚‹ć€‚T1ļ¼ŒT2 恮ēµ„åˆć›ć®ć†ć”,ē›“列åÆčƒ½ę€§ć‚’äæčØ¼ć§ćć‚‹ć‚‚ć®ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ ćƒ³ć®å„ę“ä½œć®ę„å‘³ćÆꬔ恮ćØ恊悊ćØ恙悋怂

怀怀LOCK xļ¼šćƒ‡ćƒ¼ć‚æx悒惭惃ć‚Æ恙悋
怀READ xļ¼šćƒ‡ćƒ¼ć‚æx悒čŖ­ćæč¾¼ć‚€
怀WRITE xļ¼šćƒ‡ćƒ¼ć‚æx悒ę›ø恍å‡ŗ恙
怀UNLOCK xļ¼šćƒ‡ćƒ¼ć‚æxć‚’ć‚¢ćƒ³ćƒ­ćƒƒć‚Æ恙悋

f:id:trhnmr:20210723155907p:plain

ļ¼”怀ć‚Ø

Ā 

ļ¼±ć€€ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®ACIDē‰¹ę€§ć®ć†ć”ļ¼Œäø€č²«ę€§ļ¼ˆconsistencyļ¼‰ć®čŖ¬ę˜ŽćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ę•“åˆę€§ć®å–ć‚ŒćŸćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć«åÆ¾ć—ć¦ļ¼Œćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³å®Ÿč”Œå¾Œć‚‚ę•“åˆę€§ćŒå–ć‚Œć¦ć„ć‚‹ę€§č³Ŗ恧恂悋怂

Ā 

ļ¼±ć€€SQL恫恊恄恦ļ¼ŒAč”Ø恮äø»ć‚­ćƒ¼ćŒBč”Øć®å¤–éƒØć‚­ćƒ¼ć«ć‚ˆć£ć¦å‚ē…§ć•ć‚Œć¦ć„ć‚‹å “合ļ¼Œč”Œć‚’čæ½åŠ ćƒ»å‰Šé™¤ć™ć‚‹ę“ä½œć®åˆ¶é™ć«ć¤ć„恦ļ¼Œę­£ć—ćę•“ē†ć—ćŸå›³ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œā–³å°ćÆę“ä½œćŒę‹’å¦ć•ć‚Œć‚‹å “åˆćŒć‚ć‚‹ć“ćØ悒č”Ø恗ļ¼Œā—‹å°ćÆ制限ćŖć—ć«ę“ä½œć§ćć‚‹ć“ćØ悒č”Ø恙怂

f:id:trhnmr:20210723160127p:plain

ļ¼”ć€€ć‚¢

Ā 

ļ¼±ć€€DBMSć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ē®”ē†ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€åŒę™‚å®Ÿč”Œåˆ¶å¾”ć®ē›®ēš„ćÆļ¼Œćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®äø€č²«ę€§ć‚’äæć”ćŖćŒć‚‰č¤‡ę•°ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć‚’äø¦č”Œć«å‡¦ē†ć™ć‚‹ć“ćØ恧恂悋怂

Ā 

ļ¼±ć€€é–¢äæ‚ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®č”Ø恫恊恄恦ļ¼Œę¤œē“¢é€Ÿåŗ¦ć‚’向äøŠć•ć›ć‚‹ćŸć‚ć«ļ¼Œåˆ—Zć«ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ć‚’ä»˜äøŽć™ć‚‹ć€‚ć‚¢ć€œć‚ØćÆļ¼Œåˆ—Zć®å€¤ćŒē­‰ć—ć„č”Œć®ę•°ć‚’ē¤ŗć—ćŸć‚‚ć®ć§ć‚ć‚‹ć€‚ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ć‚’ä»˜äøŽć™ć‚‹ć“ćØć«ć‚ˆć£ć¦ļ¼Œ1č”Œå½“ćŸć‚Šć®å¹³å‡ę¤œē“¢é€Ÿåŗ¦ćŒęœ€ć‚‚向äøŠć™ć‚‹ć‚‚恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œå„č”ŒćÆē­‰é »åŗ¦ć§ę¤œē“¢ć•ć‚Œć‚‹ć‚‚恮ćØ恙悋怂

f:id:trhnmr:20210723160301p:plain

ļ¼”怀ć‚Ø

Ā 

ļ¼±ć€€DBMSć®ęŽ’ä»–åˆ¶å¾”ę©Ÿčƒ½ć«é–¢ć™ć‚‹čؘčæ°ć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ęŽ’ä»–åˆ¶å¾”ę©Ÿčƒ½ć«ć‚ˆć£ć¦ļ¼ŒåŒę™‚å®Ÿč”Œå‡¦ē†ć§ć®ćƒ‡ćƒ¼ć‚æć®ę•“åˆę€§ć‚’äæć¤ć“ćØ恌恧恍悋怂

Ā 

ļ¼±ć€€åˆ†ę•£åž‹ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‚·ć‚¹ćƒ†ćƒ ć«ćŠć„ć¦ćÆļ¼Œäø€č²«ę€§ćƒ»åÆē”Øę€§ćƒ»åˆ†ę–­č€ę€§ć®äø‰ć¤ć®ē‰¹ę€§ć®ć†ć”ļ¼ŒåŒę™‚恫ćÆęœ€å¤§äŗŒć¤ć¾ć§ć—恋ęŗ€ćŸć™ć“ćØ恌恧恍ćŖ恄ćØ恙悋ē†č«–ćÆć©ć‚Œć‹ć€‚

ļ¼”怀CAP定ē†

Ā 

ļ¼±ć€€ćƒ“ćƒƒć‚°ćƒ‡ćƒ¼ć‚æć®å‡¦ē†ć«ä½æē”Ø恕悌悋CEPļ¼ˆč¤‡åˆć‚¤ćƒ™ćƒ³ćƒˆå‡¦ē†ļ¼‰ć«é–¢ć™ć‚‹čؘčæ°ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ć‚¹ćƒˆćƒŖćƒ¼ćƒ ćƒ‡ćƒ¼ć‚æć‚’ćƒ”ćƒ¢ćƒŖäøŠć«å±•é–‹ć—ļ¼Œć‚ć‚‰ć‹ć˜ć‚čØ­å®šć—ćŸę”ä»¶ć«åˆč‡“ć—ćŸå “åˆć«åƾåæœć™ć‚‹ć‚¢ć‚Æć‚·ćƒ§ćƒ³ć‚’å®Ÿč”Œć™ć‚‹ć€‚

Ā 

ļ¼±ć€€åˆ†ę•£ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‚·ć‚¹ćƒ†ćƒ ć®ē›®ęØ™ć®äø€ć¤ć§ć‚ć‚‹ā€œē§»å‹•ć«åÆ¾ć™ć‚‹é€éŽę€§ā€ć®čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀運ē”Øć®éƒ½åˆć‚„ę€§čƒ½å‘äøŠć®ē›®ēš„恧č”Øć®ę ¼ē“ć‚µć‚¤ćƒˆćŒå¤‰ę›“ć•ć‚Œć¦ć‚‚ļ¼Œåˆ©ē”Øč€…ć«ć“ć®å¤‰ę›“ć‚’ę„č­˜ć•ć›ćŖć„ć§åˆ©ē”ØåÆčƒ½ć«ć™ć‚‹ę©Ÿčƒ½ć®ć“ćØ恧恂悋怂

Ā 

ļ¼±ć€€ę–‡ēŒ®ę¤œē“¢ć‚·ć‚¹ćƒ†ćƒ ļ¼Œćƒ‡ćƒ¼ć‚æꤜē“¢ć‚·ć‚¹ćƒ†ćƒ ćŖć©ć®ęƒ…å ±ę¤œē“¢ć‚·ć‚¹ćƒ†ćƒ ć‚’č©•ä¾”恙悋å°ŗåŗ¦ćØ恗恦ē”Øć„ć‚‰ć‚Œć‚‹å†ē¾ēŽ‡ļ¼ˆrecallratioļ¼‰ćØē²¾åŗ¦ļ¼ˆprecisionratioļ¼‰ć®ēµ„åˆć›ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚ć“ć“ć§ļ¼Œaļ¼Œbļ¼ŒcćÆꬔ恮件ꕰ悒ē¤ŗ恙怂

怀怀aļ¼šč“„ē©ć•ć‚ŒćŸå…Øć¦ć®ćƒ‡ćƒ¼ć‚æ恮恆恔ļ¼Œč³Ŗå•ć«é©åˆć™ć‚‹ä»¶ę•°
bļ¼šę¤œē“¢ēµęžœć®ćƒ‡ćƒ¼ć‚æ恮恆恔ļ¼Œč³Ŗå•ć«é©åˆć™ć‚‹ä»¶ę•°
cļ¼šę¤œē“¢ēµęžœć®ćƒ‡ćƒ¼ć‚æ恮件ꕰ

Ā  再ē¾ēŽ‡ ē²¾åŗ¦
ļ¼” b/a b/c

Ā 

ļ¼±ć€€ć‚¤ćƒ³ć‚æćƒ¼ćƒćƒƒćƒˆč²©å£²ćŖ恩恮å·Ø大ćŖå–å¼•ćƒ‡ćƒ¼ć‚æć‚’é«˜é€Ÿć«å‡¦ē†ć™ć‚‹ćŸć‚ć«ļ¼ŒNoSQLćØå‘¼ć°ć‚Œć‚‹ćƒ‡ćƒ¼ć‚æ処ē†ę–¹å¼ćŒä½æ悏悌悋恓ćØćŒć‚ć‚‹ć€‚ćć®ē‰¹ę€§ć®ć†ć”ēµęžœę•“åˆę€§ļ¼ˆEventual Consistencyļ¼‰ć®čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€åˆ†ę•£ć—ćŸč¤‡č£½ć‚µć‚¤ćƒˆé–“ć§ę›“ę–°å†…å®¹ć‚’åŽ³åÆ†ć«åŒęœŸć•ć›ćšć«ļ¼ŒåŒęœŸć®äø€ę™‚ēš„ćŖ遅悌悒čØ±å®¹ć™ć‚‹ć€‚

Ā 

ļ¼±ć€€ę„­å‹™ē³»ć®ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‹ć‚‰ęŠ½å‡ŗć—ćŸćƒ‡ćƒ¼ć‚æć‚’ćƒ‡ćƒ¼ć‚æć‚¦ć‚§ć‚¢ćƒć‚¦ć‚¹ć«ę ¼ē“ć™ć‚‹ćŸć‚ć«ļ¼Œę•“åˆć•ć‚ŒćŸćƒ‡ćƒ¼ć‚æå±žę€§ć‚„ć‚³ćƒ¼ćƒ‰ä½“ē³»ćŖć©ć«åˆć†ć‚ˆć†ć«å¤‰ę›åŠć³äæ®ę­£ć‚’č”Œć†å‡¦ē†ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒ‡ćƒ¼ć‚æć‚Æćƒ¬ćƒ³ć‚øćƒ³ć‚°

Ā 

ļ¼±ć€€ć‚¹ć‚æćƒ¼ć‚¹ć‚­ćƒ¼ćƒžć§ćƒ¢ćƒ‡ćƒ«åŒ–ć—ļ¼Œäø€å®šęœŸé–“å†…ć«ē™ŗē”Ÿć—ćŸå–å¼•ćŖć©ć‚’åˆ†ęžåÆ¾č±”ćƒ‡ćƒ¼ć‚æćØć—ć¦ę ¼ē“ć™ć‚‹ćƒ†ćƒ¼ćƒ–ćƒ«ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒ•ć‚”ć‚Æćƒˆćƒ†ćƒ¼ćƒ–ćƒ«

Ā 

ļ¼±ć€€ćƒ‡ćƒ¼ć‚æćƒžć‚¤ćƒ‹ćƒ³ć‚°ć«é–¢ć™ć‚‹čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ćƒ‹ćƒ„ćƒ¼ćƒ©ćƒ«ćƒćƒƒćƒˆćƒÆćƒ¼ć‚Æ悄ēµ±čØˆč§£ęžćŖć©ć®ę‰‹ę³•ć‚’ä½æć£ć¦ļ¼Œå¤§é‡ć«č“„ē©ć•ć‚Œć¦ć„ć‚‹ćƒ‡ćƒ¼ć‚æ恋悉ļ¼Œé”§å®¢č³¼č²·č”Œå‹•ć®ę³•å‰‡ćŖć©ć‚’ęŽ¢ć—å‡ŗ恙怂

Ā 

ļ¼±ć€€OLAPļ¼ˆOnLine Analytical Processingļ¼‰ć®ę“ä½œć«é–¢ć™ć‚‹čŖ¬ę˜Žć®ć†ć”ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”怀集čØˆå˜ä½ć‚’ć‚ˆć‚Šå¤§ććć™ć‚‹ę“ä½œć‚’ćƒ­ćƒ¼ćƒ«ć‚¢ćƒƒćƒ—ćØ恄恆怂

Ā 

ļ¼±ć€€åˆ†ę•£ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć«ćŠć‘ć‚‹ā€œč¤‡č£½ć«åÆ¾ć™ć‚‹é€éŽę€§ā€ć®čŖ¬ę˜ŽćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€č¤‡ę•°ć®ć‚µćƒ¼ćƒć«äø€ć¤ć®č”ØćŒé‡č¤‡ć—ć¦å­˜åœØ恗恦悂ļ¼Œćƒ—ćƒ­ć‚°ćƒ©ćƒ ćÆč”Øć®é‡č¤‡ć‚’ę„č­˜ć™ć‚‹åæ…č¦ćŒćŖ恄怂

Ā 

ļ¼±ć€€é–¢äæ‚ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ē®”ē†ć‚·ć‚¹ćƒ†ćƒ ļ¼ˆRDBMSļ¼‰ć®ćƒ‡ćƒ¼ć‚æćƒ‡ć‚£ć‚Æć‚·ćƒ§ćƒŠćƒŖć«ę ¼ē“ć•ć‚Œć‚‹ć‚‚恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ć‚¹ć‚­ćƒ¼ćƒžć®å®šē¾©ęƒ…å ±

Ā 

ļ¼±ć€€åˆ†ę•£ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć‚·ć‚¹ćƒ†ćƒ ć«ćŠć‘ć‚‹å•åˆć›ć§ćÆļ¼Œć‚µć‚¤ćƒˆé–“ć«ć¾ćŸćŒć‚‹ēµåˆę¼”ē®—ć®ęœ€é©åŒ–ćŒé‡č¦ć§ć‚ć‚‹ć€‚ć“ć®ęœ€é©åŒ–ć®ę–¹ę³•ćØ恗恦ļ¼Œé©åˆ‡ćŖ悂恮ćÆć©ć‚Œć‹ć€‚

ļ¼”ć€€ć‚»ćƒŸć‚øćƒ§ć‚¤ćƒ³ę³•

Ā 

Ā 

午後ā… 

怀3問äø­2å•ć‚’éøęŠžć—ć¾ć™ć€‚ęœ€čæ‘恮å‡ŗé”Œćƒ†ćƒ¼ćƒžćÆę¬”ć®ć‚ˆć†ć«ćŖć£ć¦ć„ć¾ć™ć€‚

ꜟ 問 ćƒ†ćƒ¼ćƒž
令和2幓åŗ¦
ē§‹ęœŸ
問1 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹čØ­č؈
問2 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®å®Ÿč£…
問3 ćƒ‡ćƒ¼ć‚æć‚¦ć‚§ć‚¢ćƒć‚¦ć‚¹
å¹³ęˆ31幓åŗ¦
ę˜„ęœŸ
問1 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹čØ­č؈
問2 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć§ć®ćƒˆćƒŖć‚¬ć®å®Ÿč£…
問3 éƒØ品č”Ø恮čØ­čØˆåŠć³å‡¦ē†
å¹³ęˆ30幓åŗ¦
ę˜„ęœŸ
問1 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹čØ­č؈
問2 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć§ć®åˆ¶ē“„ć®å®Ÿč£…
問3 ē‰©ē†ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć§ć®čØ­čØˆåŠć³å®Ÿč£…
å¹³ęˆ29幓åŗ¦
ę˜„ęœŸ
問1 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹čØ­č؈
問2 ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć®ęŽ’ä»–åˆ¶å¾”
問3 ćƒ†ćƒ¼ćƒ–ćƒ«åŠć³SQL恮čØ­č؈

Ā 

午後ā…”

怀2問äø­1å•ć‚’éøęŠžć—ć¾ć™ć€‚ęœ€čæ‘恮å‡ŗé”Œćƒ†ćƒ¼ćƒžćÆę¬”ć®ć‚ˆć†ć«ćŖć£ć¦ć„ć¾ć™ć€‚

ꜟ 問 ćƒ†ćƒ¼ćƒž
令和2幓åŗ¦
ē§‹ęœŸ
問1 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®čØ­č؈ļ¼Œå®Ÿč£…
問2 čŖæé”ę„­å‹™åŠć³čŖæ達ē‰©ęµę„­å‹™
å¹³ęˆ31幓åŗ¦
ę˜„ęœŸ
問1 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®čØ­č؈ļ¼Œå®Ÿč£…
問2 č£½ćƒ‘ćƒ³ę„­å‹™
å¹³ęˆ30幓åŗ¦
ę˜„ęœŸ
問1 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®čØ­č؈ļ¼Œå®Ÿč£…
問2 受ę³Øļ¼Œč£½é€ ęŒ‡å›³ļ¼Œē™ŗę³Øļ¼Œå…„č·ę„­å‹™ć®ę¦‚åæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒŖćƒ³ć‚°
å¹³ęˆ29幓åŗ¦
ę˜„ęœŸ
問1 ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®čØ­č؈ļ¼Œå®Ÿč£…
問2 č²©å£²ē‰©ęµę„­å‹™ć®ę¦‚åæµćƒ‡ćƒ¼ć‚æćƒ¢ćƒ‡ćƒŖćƒ³ć‚°

Ā 

Ā 

å¤§ę‰‹č³‡ę ¼ć‚¹ć‚Æćƒ¼ćƒ«č§£ē­”速報

ćŖ恗ļ¼ˆåæœē”Øęƒ…å ±ęŠ€č”“č€…č©¦éØ“ć®ćæļ¼‰
åˆå¾Œč©¦éؓļ¼š10/14(ęœØ)16:30 公開äŗˆå®š
f:id:trhnmr:20210925111716j:plain åˆå¾Œč©¦éؓļ¼š10꜈äø‹ę—¬ 公開äŗˆå®š

Ā 

ęƒ…å ±å‡¦ē†ęŠ€č”“者試éØ“ćƒšćƒ¼ć‚ø

通幓

f:id:trhnmr:20200328123020g:plain f:id:trhnmr:20200328123034g:plain f:id:trhnmr:20200328123045g:plain

ꘄē§‹å…±é€š

f:id:trhnmr:20200328123054g:plain f:id:trhnmr:20200328123304g:plain

ę˜„ęœŸć®ćæ

f:id:trhnmr:20200328123108g:plain f:id:trhnmr:20200328123123g:plain f:id:trhnmr:20200328123146g:plain f:id:trhnmr:20200328123239g:plain

ē§‹ęœŸć®ćæ

f:id:trhnmr:20200328123135g:plain f:id:trhnmr:20200328123158g:plain f:id:trhnmr:20200328123212g:plain f:id:trhnmr:20200328123251g:plain