Slide 1

Slide 1 text

໊ஶɿ
 ʮσʔλϕʔεɾϦϑΝΫλϦϯάʯ
 ΛಡΉ σϒϥΠϒʂ`21 / 2021.09.27 BY Hideki Kinjyo

Slide 2

Slide 2 text

ͳΜͰ΋ϦϑΝΫλϦϯά͠Α͏ʂ • ΞϓϦέʔγϣϯ΋ʂ • ςετ΋ʂ • σʔλϕʔε΋ʂ • ૊৫΋ʂ • αʔόʔ΋ʂ

Slide 3

Slide 3 text

ͳΜͰ΋ϦϑΝΫλϦϯά͠Α͏ʂ • ΞϓϦέʔγϣϯ΋ʂ • ςετ΋ʂ • σʔλϕʔε΋ʂ • ૊৫΋ʂ • αʔόʔ΋ʂ ←ࠓ೔͸ίί

Slide 4

Slide 4 text

͍ͭ΋ͷ • ۚ৓लथ / ͖Μ͡ΐ͏ͻͰ͖ • GitHub: @o0h / Twitter: @o0h_ • ޷͖ͳFW͸CakePHP • ΞΠίϯ͸
 ඒຯ͍͠ࡪ਌ࢠကͷࣸਅͰ͢

Slide 5

Slide 5 text

ࠓ೔ͷ࿩ • ʮϦϑΝΫλϦϯάʯ͕ςʔϚͩΑʙͱ͍ ͏͜ͱͰ • ຊͷ঺հͰ͢

Slide 6

Slide 6 text

(ޙ͔Β)ؾ͍ͮͨ͜ͱ • طʹઌਓ͕΍ͬͯΜͳ͊ʙʂ • ࢿྉ࡞Γ࢝Ί͔ͯΒࢥ͍ग़ͨ͠ • Ͱ΋ؾʹ͠ͳ͍Ͱߦ͖·͢ • ྑ͍࿩͔ͩΒݟͯ
 https://speakerdeck.com/soudai/database-refactoring

Slide 7

Slide 7 text

͓͠ͳ͕͖ 1. ͸͡ΊʹɿʮϦϑΝΫλϦϯάʯͬͯԿ͚ͩͬ(͓͞Β͍) 2. ʮσʔλϕʔεɾϦϑΝΫλϦϯάʯͬͯͲΜͳຊʁ 3. औΓ্͛ΒΕ͍ͯΔύλʔϯΛ͍͔ͭ͘঺հ͢ΔΑʂ

Slide 8

Slide 8 text

$1
 ʮϦϑΝΫλϦϯάʯͬͯԿ͚ͩͬ
 (͓͞Β͍)

Slide 9

Slide 9 text

༗໊ͳຊ • (ୈ1൛ͷ)೔ຊޠ൛෭୊ɿʮϓϩάϥϜͷମ࣭վળςΫχοΫʯ • ϦϑΝΫλʹ͍ͭͯͷʮݪଇʯʮख๏ʯ΍ɺʮෆ٢ͳष͍ʯʹ͍ͭͯ ·ͱΊͨຊ • ݸਓతʹ͸ʮϓϩάϥϚͷΩϟϦΞͷૣ͍ஈ֊Ͱग़ձ͓ͬͯ͘΂͖ ຊʯͷ1ͭͩͱࢥ͏ • “GoFͷσβΠϯύλʔϯ͸෼ੳ͔ΒઃܭʹҠΔࡍͷ೰Έʹ͍ͭͯɺ໰ ୊ʹର͢Δղܾࡦͱͯ͠ಓےΛࣔ͠·͢ɻҰํϦϑΝΫλϦϯά͸ɺ ࣮૷ʹஔ͍ͯઃܭΛ;Γ͔͑ΓɺطଘͷػೳΛอͪͭͭίʔυΛΑΓ Α͍ઃܭ΁ͱਐԽ͍ͤͯ͘͞खॱΛड़΂ͨ΋ͷͰ͢”(ϦϑΝΫλϦϯ ά ୈ2൛ ༁ऀ͋ͱ͕͖)

Slide 10

Slide 10 text

ϦϑΝΫλϦϯά Կ ᴷ֎෦͔Βݟͨͱ͖ͷৼΔ෣͍Λอͪͭͭɺཧղ΍मਖ਼͕؆୯ ʹͳΔΑ͏ʹɺιϑτ΢ΣΞͷ಺෦ߏ଄ΛมԽͤ͞Δ͜ͱ ϦϑΝΫλϦϯάୈ൛ୈষ

Slide 11

Slide 11 text

ϦϑΝΫλϦϯά Կ ϦϑΝΫλϦϯάΛߦ͏ཧ༝(ಉ ୈ2ষΑΓ) • ϦϑΝΫλϦϯά͸ιϑτ΢ΣΞઃܭΛվળ͢Δ • ϦϑΝΫλϦϯά͸ιϑτ΢ΣΞΛཧղ͠΍͘͢͢Δ • ϦϑΝΫλϦϯά͸όάͷൃݟΛॿ͚Δ • ϦϑΝΫλϦϯά͸ϓϩάϥϛϯάΛ଎ΊΔ

Slide 12

Slide 12 text

ෆ٢ͳष͍ Կ ᴷࢲͨͪ͸ࠓ·Ͱඇৗʹଟ͘ͷίʔυΛݟ͖ͯ·ͨ͠ɻ͏·͘ ͍ͬͨϓϩδΣΫτͷίʔυ΋͋Ε͹ɺେࣦഊΛট͍ͨ΋ͷ΋͋ Γ·͢ɻͦ͜ʹ͸ϦϑΝΫλϦϯάΛ༠͏ ͱ͖ʹ͸ʮඞཁͩʯͱ ڣͿ ͋Δछͷงғؾ͕͋ΓɺͦΕΛᄿ͗෼͚ΔೳྗΛࢲͨͪ͸ ཆ͖ͬͯͨͷͰ͢ ϦϑΝΫλϦϯάୈ൛ୈষ

Slide 13

Slide 13 text

ෆ٢ͳष͍ Կ • “ϦϑΝΫλϦϯάͷඞཁੑΛࣔ͢ෆ٢ͳஹީ” • ཁ͢ΔʹʮͳΜ͔Ϛζ͍ίʔυʯ • ͜Ε͸ϓϩάϥϚ͕(ܦݧ͔Β͘Δ)ඒҙࣝʹΑͬͯײ஌Ͱ͖Δ΋ͷ͕ͩɺΑΓ ʮ۩ମతʹૌ͑ͯ͘Δ΋ͷͰ͸ͳ͍͔ʯͱͯ͠ʮ਎ମײ֮ʯͷൺᄻ(=ष͍)͕ར ༻͞Ε͍ͯΔ • ॻ੶ʮϦϑΝΫλϦϯάʯͰ͸ɺ৭ʑͳʮष͍ʯʹ͍ͭͯྨܕԽͱ໊෇͚Λߦͬ ͍ͯΔ • ৄ͘͠͸ʮϦϑΝΫλϦϯά ୈ3ষ ίʔυͷෆ٢ͳष͍ʯʹ

Slide 14

Slide 14 text

ϦϑΝΫλϦϯάͱύϑΥʔϚϯενϡʔχϯά • ϦϑΝΫλϦϯά͸ʮઃܭΛ੔͑ΔʯʮՄಡੑΛ޲্ͤ͞ΔʯͨΊͷΞΫςΟϏςΟ • ಉ༷ʹʮϓϩάϥϜͷશମతͳػೳΛมߋ͠ͳ͍मਖ਼ʯͱͯ͠ɺύϑΥʔϚϯεɾνϡʔ χϯά͕ڍ͛ΒΕΔ • ྆ऀͷҧ͍͸ɺͦͷ໨తʹ͋Δ • ՄಡੑͱύϑΥʔϚϯε͸ɺ࣌ʹτϨʔυΦϑʹͳΔՄೳੑ΋͋Δ • ଎౓޲্ʹॏ͖Λ͓͍͍ͯΔͳΒɺͦΕ͸(ϦϑΝΫλͱ͍͏ΑΓ)ύϑΥʔϚϯεɾ νϡʔχϯάͱݺ͹ΕΔ • (ݸਓతʹ͸ɺ͜ͷลΓ΋ؚΊͯਖ਼͍͠ޠኮΛ࢖ͬͨํ͕ଞਓͱͷίϛϡχέʔγϣ ϯ͕εϜʔζʹͳͬͯྑ͍ͷͰͳ͍ʁͱ͍͏ؾ࣋ͪ͸͋Δ

Slide 15

Slide 15 text

ϦϑΝΫλϦϯάͱΞδϟΠϧ(తͳ΋ͷ) ᴷ΋͠ɺʮϏδωεՁ஋ʯΛૣ͘ఏڙ͢Δͷ͕͍ͪ͹Μେࣄͩ ͱࢥ͍ͬͯΔͷͳΒɺ͋ͳͨͷγεςϜʹ͸ɺมԽʹԠͯ͡ਐԽ ͍ͯ͘͜͠ͱ͕ͳ͓͞ΒॏཁʹͳΔ͸ͣͩɻϦϑΝΫλϦϯάͱ ͸ɺࣗ෼ͷमਖ਼Ͱ਎ಈ͖͕औΕͳ͘ͳΔͷΛ๷͙ํ๏ͩɻ ΤΫετϦʔϜɾϓϩάϥϛϯάಋೖฤୈষ

Slide 16

Slide 16 text

ϦϑΝΫλϦϯάͱΞδϟΠϧ(తͳ΋ͷ) • ϦϑΝΫλϦϯά͸(ಛʹXPͰ)஫໨͞Ε͍ͯΔ׆ಈ • ʮࣄલʹઃܭΛ͢Δʯ΋ͷΛʮ࣮૷ͨ͋͠ͱͰɺઃܭΛվળ ͢Δʯͱ͍͏ࢥߟͷస׵ʹݟΔʮΤΫετϦʔϜʯ͞ • ඞཁʹͳͬͨ࣌ʹඞཁͳίʔυ(ػೳ)Λ࣮૷Ͱ͖ΔΑ͏ʹɺϦ ϑΝΫλϦϯάʹΑͬͯίʔυͷʮػහੑʯΛҡ͍࣋ͯ͘͠ • ։ൃΛਐΊΔ্ͰಘֶͨͼΛɺίʔυ΁ઈ͑ؒͳ͘൓өͤ͞ Δ

Slide 17

Slide 17 text

ϦϑΝΫλϦϯάͷਐΊํ • ʮ(طଘͷ)ৼΔ෣͍Λอͭʯ͜ͱ͕େલఏ • ͭ·Γʮ࡞ۀͷલޙͰػೳ͕ఀࢭ͠ͳ͍ʯ͜ͱ͕ඞਢ • ʮ։ൃࡁΈʯͷ΋ͷΛʮ։ൃ్தʯʹ͢Δࣄ͸ڐ͞Εͳ͍ • খ͞ͳεςοϓΛੵΈॏͶ͍ͯ͘ͷ͕๬·͍͠ • ςετͷमਖ਼ΛߦΘͳ͍(SUTͷվमͷΈ)Λߦ͏ • ςετ͕มԽ͢Δ = ৼΔ෣͍͕มߋ͞Ε͍ͯΔ͜ͱΛ൱ఆͰ͖ͳ͍ • ͨͩ͠ɺʮςετ࿙ΕʯΛิॆ͢Δ৔߹͸ྫ֎

Slide 18

Slide 18 text

$2
 σʔλϕʔεɾϦϑΝΫλϦϯάͬͯ ͲΜͳຊʁ

Slide 19

Slide 19 text

༗໊ͳຊ • ೔ຊޠ൛෭୊ɿʮσʔλϕʔεͷମ࣭վળςΫχοΫʯ • σʔλϕʔε(RDB)ΛϦϑΝΫλϦϯά͍ͯ͘͠ʹ͸ʁ Λ·ͱΊͨຊ • ϦϑΝΫλϦϯάͷςΫχοΫɺྨܕ • σʔλϕʔεͷෆ٢ͳष͍ • ϦϑΝΫλΛਐΊ͍ͯͨ͘Ίͷํ๏

Slide 20

Slide 20 text

SQLΞϯνύλʔϯͬͯຊ΋͋ͬͨ͡ΌΖ • ʮΞϯνύλʔϯʯͱ͍͏ʮෆ٢ͳष͍ʯΛ঺հͨ͠ຊ • ࣅ͍ͯΔͬͪΌࣅ͍ͯΔ • ʮඃΔʯͱ͍͏ΑΓɺগཱͪ͠Ґஔ͕ҧ͏ײ͡ • SQLΞϯνύλʔϯ: ʮ໰୊ʯͱʮղܾͨ࢟͠ʯͷ঺հ • DBϦϑΝΫλϦϯά: ʮ໰୊ʯͱʮղܾͷਐΊํʯͷ঺ հ

Slide 21

Slide 21 text

ຊจͷߏ଄ͰΈΔ྆ऀͷҧ͍ ͲͪΒ΋ʮయܕతͳ঱ঢ়ʯΛऔΓ্͛ɺղઆ͍ͯ͘͠ελΠϧ(ύλʔϯຊ)ɻ ଟ༷ͳύλʔϯΛൺֱɾ݁߹Ͱ͖ΔΑ͏ʹɺղઆͷ಺༰͸ߏ଄Խ(ϑΥʔϚοτԽ)͞Ε͍ͯΔ => ͦͷߏ଄Λൺֱ͢Δ͜ͱͰɺ྆ऀͷΩϟϥΫλʔ΍ॏ͖Λ͓͍͍ͯΔՕॴͷҧ͍͕෼͔Δ 42-Ξϯνύλʔϯ ໨త Ξϯνύλʔϯ ݟ͚ͭํ ༻͍ͯ΋ྑ͍৔߹ ղܾࡦ σʔλϕʔεɾϦϑΝΫλϦϯά ಈػ ໨త τϨʔυΦϑ εΩʔϚߋ৽खॱ σʔλҠߦखॱ ϓϩάϥϜߋ৽खॱ

Slide 22

Slide 22 text

ྫ͑͹ɺͱ͋ΔΞϯνύλʔϯ͕͋Γ SQLΞϯνύλʔϯ: ʮIDϦΫϫΠΞυ(ͱΓ͋͑ͣID)ʯ • ʮԿͰ΋͔ΜͰ΋ʮidʯͱ͍͏ओΩʔΛஔ͚͹ྑ͍༁͡Όͳ͍ͧʂʯ ͱ͍͏”ष͍” • ղܾࡦ • Θ͔Γ΍͍͢ྻ໊ʹ͠Α͏ • ن໿ʹറΒΕͳ͍ • ࣗવΩʔͱෳ߹Ωʔͷ׆༻ • ʮ໰୊(Why)ʯʹରͯ͠ɺʮ͜͏͍͏෩ʹ͠Α͏(What)ʯ͸ѻΘΕ͍ͯ Δ͕ʮͲ͏΍ͬͯ҆શʹมߋΛ࣮ࢪ͢Δʁ(How)ʯ·Ͱ͸ѻ͍ͬͯͳ͍

Slide 23

Slide 23 text

ྫ͑͹ɺͱ͋ΔΞϯνύλʔϯ͕͋Γ ϦϑΝΫλϦϯά: ʮࣗવΩʔʹΑΔ୅ཧΩʔͷஔ͖׵͑ʯ εΩʔϚߋ৽खॱ 1. ৽͍͠ओΩʔͱͳΔΧϥϜ Λಛఆ͢Δ 2. ৽͍͠ΠϯσοΫεΛ௥ Ճ͢Δ 3. ݩͷΧϥϜΛഇࢭ༧ఆʹ͢ Δ 4. ؔ࿈͢ΔςʔϒϧΛߋ৽͢ Δ 5. ࢀর੔߹ੑτϦΨʔΛߋ ৽΋͘͠͸௥Ճ͢Δ ϓϩάϥϜߋ৽खॱ 1. ୅ཧΩʔΛ࢖͍ͬͯΔ ίʔυΛ࡟আ͢Δ 2. ৽͍͠ΩʔΛݩʹ݁߹ Λߦ͏ 3. ৽͍͠ΩʔΛݩʹσʔ λऔಘΛߦ͏

Slide 24

Slide 24 text

ԿΛ໨ࢦͨ͠ຊͳͷ͔ • ʮ(ΞϓϦͱಉ͡Α͏ʹ)σʔλϕʔε΋ϦϑΝΫλϦϯάͯ͠ ͍͜͏ʯͱ͍͏ओு • ͔͠΋XPతͳχϡΞϯεͷʮϦϑΝΫλϦϯάʯͰ͋Γɺ • ʮΤΠϠʔͬʂʂυʔϯʂʯͱؾ߹ΛೖΕͯ΍ΔͷͰ͸ͳ͘ • ʮখ͞ͳมߋΛʯʮյͣ͞ʹʯʮԿ౓΋ʯ΍Δ΋ͷ

Slide 25

Slide 25 text

Ώʔͯ(DB͸ΞϓϦΑΓ)೉͍͠͡ΌΖʁ • ”σʔλϕʔεʹؔͯ͠͸݁߹౓͕ඇৗʹߴ͘ͳΓಘΔͨ ΊɺσʔλϕʔεϦϑΝΫλϦϯά͸͜ΜͳΜͩͱड़΂ɺͦ ͷຊ(஫:ϦϑΝΫλϦϯά)Ͱ͸ѻ͍ͬͯͳ͍(ংจ)” • ͨͩ͠ɺϑΝ΢ϥʔ΋ୈ2൛Ͱ͸ʮσʔλϕʔεͷϦϑΝΫ λϦϯά͸໰୊ͷଟ͍෼໺ʯʹʮ΋͸΍౰ͯ͸·Βͳ͍ʯͱ ड़΂͍ͯΔ • πʔϧͷਐԽɺϓϥΫςΟεͷൃల

Slide 26

Slide 26 text

৽૷൛ɹϦϑΝΫλϦϯάɹطଘͷίʔυΛ҆શʹվળ͢Δ P63 ϦϑΝΫλϦϯά طଘͷίʔυΛ҆શʹվળ͢Δʢୈ2൛ʣ P62

Slide 27

Slide 27 text

ൃలܕσʔλϕʔε։ൃ • ʮࣄલʹઃܭΛ΍Γ͖Ζ͏ͱࢥΘͳ͍ͰɺཁٻͷมԽʹԠͯ͡PJ ظؒதʹεΩʔϚΛ࡞Γ্͍͛ͯ͜͏Ͷʂʯͱ͍͏ίϯηϓτ • ͍ΘΏΔʮΞδϟΠϧ։ൃʯతͳײ͡ʹDB΋ѻ͏ • ʮΉͩΛ࠷খʹ͢Δʯʮେ͖ͳख໭ΓΛݮΒͤΔʯʮ։ൃऀͱ૬ ੑͷΑ͍ਐΊํ͕ग़དྷΔʯͳͲͷར఺͕͋ΔΑ => ͜ΕΛ΍Γ͖ΔͨΊͷத৺తͳϓϥΫςΟε͕ϦϑΝΫλʂ

Slide 28

Slide 28 text

ϦϑΝΫλΛDBʹ΋࣋ͪࠐΉʹ͸ʁ • جຊతʹ͸ΞϓϦͷϦϑΝΫλͱಉ ͡Α͏ʹʂ • ໰୊ͷಛఆˠςετͷ֬ೝˠվमˠ ςετʂ • ʮ໨తʯͱʮ҆શ૷ஔʯΛ༻ҙͯ͠ ͍͜͏ʙ

Slide 29

Slide 29 text

$3
 ຊͷத਎Λνϥݟͯ͠ΈΔ

Slide 30

Slide 30 text

ࠓ೔͸͜Μͳॴʹ৮ΕͯΈΔΑ • σʔλϕʔεͷෆ٢ͳष͍ • σʔλϕʔεɾϦϑΝΫλϦϯάઓུ • σʔλϕʔεͷϦϑΝΫλϦϯάͷ෼ྨ

Slide 31

Slide 31 text

σʔλϕʔεͷෆ٢ͳष͍ “σʔλϕʔεʹ΋ɺϦϑΝΫλϦϯάͷඞཁੑΛײͤ͡͞Δෆ٢ͳष͍͕͋Δ” 㱻 σʔλϕʔε΋ʮ࢖͍΍͍͢ʯʮಡΈ΍͍͢ʯඞཁ͕͋ΔΑʂ 1. ෳ਺ͷ໨తʹ࢖ΘΕΔΧϥϜ 2. ෳ਺ͷ໨తʹ࢖ΘΕΔςʔϒϧ 3. ৑௕ͳσʔλ 4. ΧϥϜͷଟ͗͢Δςʔϒϧ 5. ߦͷଟ͗͢Δςʔϒϧ 6. ʮεϚʔτʯΧϥϜ 7. มߋͷڪා ڽूੑ੹຿ Մಡੑ ύϑΥʔϚϯε Өڹൣғґଘ ࢀߟ: DataBase Refactoring(soudai sone)
 https://speakerdeck.com/soudai/database-refactoring?slide=19

Slide 32

Slide 32 text

σʔλϕʔεɾϦϑΝΫλϦϯάઓུ • ʮ͋Δ΂͖࢟΁ʯͱʮ҆શʹʯҠߦ͍ͨ͠ɺͱ͍͏ͷΛ ͍͔ʹ࣮ͯ͠ݱ͢Δ͔ʁͱ͍͏ͷ͕ϦϑΝΫλϦϯάઓུ • ຊॻʹ͓͍ͯ͸ʮڭ܇ʯͱදݱ͞Ε͍ͯΔ

Slide 33

Slide 33 text

σʔλϕʔεɾϦϑΝΫλϦϯάઓུ • খ͍͞มߋͷ΄͏͕ߦ͍΍͍͢ • ݸʑͷϦϑΝΫλϦϯάΛҰҙʹ ࣝผ͢Δ • େ͖ͳมߋΛଟ͘ͷখ͞ͳมߋʹ ෼͚࣮ͯࢪ͢Δ • σʔλϕʔεߏ੒ςʔϒϧΛ࡞੒͢ Δ • Ϗϡʔ΍όονಉظΑΓ΋τϦ ΨʔΛ࢖͏ • े෼ͳҠߦظؒΛઃఆ͢Δ • σʔλϕʔεΞΫηεΛΧϓηϧԽ ͢Δ • SQLΛॏෳͤ͞ͳ͍ • (શ෦Ͱ13ݸͷڭ܇͕ࡌ͍ͬͯΔΑ)

Slide 34

Slide 34 text

খ͞ͳมߋ / มߋͷ෼ׂ • มߋΛখ͘͢͞Δ͜ͱͰࣦഊϦεΫΛ௿ݮͤ͞Δ • ʮςʔϒϧΛ෼ׂ͢Δʯͱ͍ͬͨେ͖ͳมߋ͸ɺʮ৽ͨͳ ςʔϒϧͷಋೖʯʮΧϥϜͷҠಈʯʮΠϯσοΫεͷಋೖʯ ͷΑ͏ʹࡉ͔͍खॱʹ෼ׂ͠ಘΔ

Slide 35

Slide 35 text

Ϗϡʔ΍όονಉظΑΓ΋τϦΨʔΛ࢖͏ • Ҡߦظؒʹ͸ɺ৽چͷσʔλมߋ΍ಉظΛ༻ҙ͢Δඞཁ͕͋ Δ • τϦΨʔʹΑΔಉظɺϏϡʔͷར༻ɺόονߋ৽ͱ͍͏ख๏ ͕ߟ͑ΒΕΔ • τϦΨʔͷϦΞϧλΠϜੑ͕ڧ͍ϝϦοτʹͳΔ Ϗϡʔ͸ɺDBʹΑͬͯػೳ͕ࠩ͋ΔͷͰߟྀ͢Δඞཁ͕͋Δ

Slide 36

Slide 36 text

σʔλϕʔεΞΫηεΛΧϓηϧԽ͢Δ • ΞϓϦέʔγϣϯ͔ΒͷDBΞΫηεΛʮந৅Խʯ͢Δ • ୺తʹݴ͏ͱʮSQLϕλॻ͖Λ΍ΊΔ(ہॴԽ͢Δ)ʯ • ex: Repositoryύλʔϯͷద༻ͳͲɻ ʮSELECTจΛॻ͘ʯͷͰ͸ͳ͘ʮfindΠϯλʔϑΣΠεΛ༻ҙ͢ Δʯͱ͔ɺʮ࣮ςʔϒϧͱϞσϧΛ۠ผ͢Δʯͱ͔ɻ • ͦΕʹΑͬͯɺʮDBͷมߋʯʹରͯ͠ʮΞϓϦέʔγϣϯͷม ߋʯ΁ͷӨڹΛ෧͡ࠐΊΔ

Slide 37

Slide 37 text

جຊతͳखॱ(Έ͍ͨͳ΋ͷ) • σʔλϕʔεʹґଘ͍ͯ͠ΔαʔϏε(≒ΞϓϦ)͕1ݸ͚ͩ ͔ʁෳ਺͔ʁʹΑͬͯ೉қ౓͸มΘΔ • ଟ͘ͷґଘऀ͕͍Δ৔߹ɺ͔ͬ͠ΓͱʮҠߦظؒʯΛઃ͚ Δ͜ͱ͕େࣄʂʂʂ

Slide 38

Slide 38 text

ϦϑΝΫλ࣌ͷҠߦରԠ • ॏཁͳͷ͸ʮޓ׵ੑͷҡ࣋ʯͱʮҠߦظؒͷӡ༻ʯ • ൚༻తͳޓ׵ੑҡ࣋ͷͨΊͷख๏ • ΧϥϜ໊ͷมߋ΍ܭࢉϑΟʔϧυͷ௥Ճʹରͯ͠τϦΨʔͷ࡞੒ • ςʔϒϧͷมߋʹରͯ͠Ϗϡʔͷ࡞੒ • ੍໿ɾσϑΥ஋ͷஈ֊తಋೖ • Ҡߦظؒͷӡ༻ • ຊॻͰ͸ʮdeprecatedΛΧϥϜͷίϝϯτʹ࢒͢ʯʮτϦΨʔΛ༻͍ͨޓ׵ ੑͷҡ࣋ʯͳͲͷख๏Λపఈతʹར༻͍ͯ͠Δ

Slide 39

Slide 39 text

σʔλϕʔεͷϦϑΝΫλϦϯάͷ෼ྨ ʮ໨తɾख๏ʹ͍ͭͯɺDBͷϦϑΝΫλ͸Ͳ͏͍͏΋ͷ͕͋Δ(͋Γ ಘΔ)ͷ͔ʁʯͱ͍͏ΨΠυ ߏ଄ ςʔϒϧ΍Ϗϡʔͷఆٛͷมߋ σʔλ඼࣭ ৘ใͷ඼࣭ΛߴΊΔͨΊͷมߋ ࢀর੔߹ੑ ෳ਺ςʔϒϧؒͷ੔߹ੑΛอূ͢ΔͨΊͷมߋ ΞʔΩςΫνϟ ΫϥΠΞϯτ͕%#ͱ΍ΓऔΓ͢Δํ๏Λվળ͢ΔͨΊͷมߋ ϝιου τϦΨʔɺετΞυɾϓϩγʔδϟͳͲͷมߋ ม׵ ηϚϯςΟΫεͷมߋ

Slide 40

Slide 40 text

ߏ଄ϦϑΝΫλϦϯά(ୈ6ষ) • ΧϥϜͷ࡟আ • ςʔϒϧͷ࡟আ • ΧϥϜͷ౷߹ • ςʔϒϧͷ౷߹ • ΧϥϜ໊ͷมߋ • ςʔϒϧ໊ͷมߋ • ςʔϒϧͷ෼ׂ • ΧϥϜͷ෼ׂ • ࣗવΩʔ / ୅ཧΩʔͷಋೖ • ؔ࿈ςʔϒϧʹΑΔ1ରଟ ؔ܎ͷஔ͖׵͑ • શ෦Ͱ17ݸ

Slide 41

Slide 41 text

σʔλ඼࣭ϦϑΝΫλϦϯά(ୈ7ষ) • ࢀর༻ςʔϒϧͷ௥Ճ • ඪ४తͳίʔυͷద༻ • ඪ४తͳܕͷద༻ • Ωʔઓུͷ੔ཧ • ΧϥϜ੍໿ͷ࡟আ • σϑΥϧτ஋ͷ࡟আ • ψϧෆՄ੍໿ͷ࡟আ • σʔλͷҠಈ • શ෦Ͱ13ݸ

Slide 42

Slide 42 text

ࢀর੔߹ੑϦϑΝΫλϦϯά • ֎෦Ωʔ੍໿ͷ௥Ճ • ܭࢉΧϥϜ΁ͷτϦΨʔͷ ௥Ճ • ֎෦Ωʔ੍໿ͷ࡟আ • Χεέʔυ࡟আͷಋೖ • ϋʔυσϦʔτಋೖ • ιϑτσϦʔτͷಋೖ • ཤྺͷͨΊͷτϦΨʔͷಋ ೖ

Slide 43

Slide 43 text

ΞʔΩςΫνϟɾϦϑΝΫλϦϯά(ୈ9ষ) • CRUDϝιουͷ௥Ճ • ϛϥʔϦϯάςʔϒϧͷ௥ Ճ • Ϧʔυϝιουͷ௥Ճ • ϏϡʔʹΑΔςʔϒϧͷΧ ϓηϧԽ • ܭࢉϝιουͷಋೖ • ΠϯσοΫεͷಋೖ • ಡΈࠐΈઐ༻ςʔϒϧͷಋ ೖ • ਖ਼ࣜͳσʔλιʔεͷ࢖༻ • શ෦Ͱ12ݸ

Slide 44

Slide 44 text

ϝιουɾϦϑΝΫλϦϯά(ୈ10ষ) • ※ࠓճ͸ׂѪ

Slide 45

Slide 45 text

ม׵(ୈ11ষ) • σʔλͷૠೖ • ৽ͨͳΧϥϜͷಋೖ • ৽ͨͳςʔϒϧͷಋೖ • Ϗϡʔͷಋೖ • σʔλͷߋ৽

Slide 46

Slide 46 text

$X
 ·ͱΊͱΦϚέ

Slide 47

Slide 47 text

·ͱΊ • ʮΞϓϦέʔγϣϯίʔυΛॻ͖׵͑ΔΑ͏ͳײ֮ͰɺDB΋࿔Ε Δʯͱͨ͠ΒɾɾɾҰମͲΜͳੈքͳΜͩʂʁ • ͨͩɺʮ௅·ͳ͚Ε͹ಘΒΕͳ͍ʯͱ͍͏ݴ༿͕͋Γ·͢Ͷʂ • ʮςετʹΑΔอূʯʮࣄނʹඋ͑Δʯʮܧଓతʹ౷߹ɾվળͯ͠ ͍͘ʯͱ͍͏جຊ͸Ͳ͜Ͱ΋ಉ͡ʙ • ·ͣ͸ɺSQLΞϯνύλʔϯ΍σʔλϕʔεɾϦϑΝΫλϦϯάΛಡ Ήʮෆ٢ͳष͍ʯΛײ͡औΓ΍͘͢ͳΔͱ͜Ζ͔Β࢝Ίͯɺະདྷʹ ͍ۙͮͯ͜ʂ

Slide 48

Slide 48 text

͋ΘͤͯಡΉͱ໘നͦ͏ͳຊ ࠓճͷຊʂ ΑΓʮ࿦ཧʯํ໘ͷ
 SQL(RDB)ͳຊ ʮϦϑΝΫλͱ͸Կ͔ʯͷຊ ʮϦϑΝΫλͷେࣄ͞ʯ
 Έ͍ͨͳͷ͸ίϨ

Slide 49

Slide 49 text

΋ͬͱࢹ໺Λ޿͛Δɾ౿ΈࠐΉ ୯ମςετ͕೉͔ͬͨ͠Β
 ʮେ͖ͳϧʔϓʯͷςετͪ͠Ό͏ͱ͔ Ͳ͏΍ͬͯ
 ʮม͍͑ͯ͘ʯͱ͔
 ʮյΕʹ͘͘࡞Δʯ͔ʁͱ͍ͬͨ σʔλϕʔεΛ
 ʮ҆શʯʹ΍͍ͬͯ͘ʂ