Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Webエンジニアに知ってほしいRDBアンチパターン
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
soudai sone
PRO
March 04, 2017
Technology
28k
49
Share
Webエンジニアに知ってほしいRDBアンチパターン
YAPC::Kansaiの登壇資料です。
soudai sone
PRO
March 04, 2017
More Decks by soudai sone
See All by soudai sone
AI時代における具体と抽象の往復 - 日常にチャンスがある / Moving Between the Concrete
soudai
PRO
8
3.3k
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
6
3.3k
APMの世界から見るOpenTelemetryのTraceの世界 / OpenTelemetry in the Java
soudai
PRO
1
490
失敗できる意思決定とソフトウェアとの正しい歩き方_-_変化と向き合う選択肢/ Designing for Reversible Decisions
soudai
PRO
12
3.7k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
16
6.6k
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
43
11k
これからアウトプットする人たちへ - アウトプットを支える技術 / that support output
soudai
PRO
21
8.7k
コミュニティと計画的偶発性理論 - 出会いが人生を変える / Life-Changing Encounters
soudai
PRO
8
4.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Other Decks in Technology
See All in Technology
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
560
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
170
LLM時代のリファクタリング戦略_AIエージェントによる段階的・安全なTS移行方法
play_inc
0
450
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
0
490
ビジュアルプログラミングIoTLT vol.23
1ftseabass
PRO
0
150
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
740
Don't Just Patch — MOTTAINAI! Learn Security from Laravel CVE Diffs
codmoninc
0
150
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
110
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
290
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
3
780
AIが変えた"品質の守り方"
kkakizaki
13
5.2k
Dynamic Workersについて
yusukebe
1
340
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Believing is Seeing
oripsolob
1
130
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
How to Talk to Developers About Accessibility
jct
2
210
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
370
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The Cult of Friendly URLs
andyhume
79
6.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
230
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Transcript
WebΤϯδχΞʹͬͯ΄͍͠ RDBΞϯνύλʔϯ :"1$,BOTBJ
What is it? ࠓΈͳ͞Μʹ࣋ͬͯؼͬͯ΄͍͜͠ͱ
What is it? σʔλϕʔεͷण໋ ΞϓϦέʔγϣϯΑΓ͍
What is it? ͦΜͳ͍͖߹͍ʹͳΔσʔλϕʔε ͷେͳࣄΛ͓͑͠·͢
What is it? ରͷσʔλϕʔειϑτΣΞ
What is it? PostgreSQL 9.6ͱMySQL 5.7(InnoDB)ʹݶΔ ଞͷRDBͷ͠·ͤΜ
What is it? RDBΞϯνύλʔϯ
What is it? RDBΞϯνύλʔϯ ↓ ޙʑʹۤ͠ΈΛੜΉ
What is it? RDBΞϯνύλʔϯΛΔ
What is it? RDBΞϯνύλʔϯΛΔ ↓ ಉ͡աͪΛ܁Γฦ͞ͳ͍
What is it? ࠓRDBͷࣦഊྫΛ͝հ͠·͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹΕڈΒΕͨόοΫΞοϓ ̏ɹΘΕͳ੍͍ ̐ɹϩοΫͷޭࡑ ̑ɹ·ͱΊ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹΕڈΒΕͨόοΫΞοϓ ̏ɹΘΕͳ੍͍ ̐ɹϩοΫͷޭࡑ ̑ɹ·ͱΊ
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
ೖࣾͰ͢ʂ
Mackerel
ͯͳؒΛ୳ͯ͠·͢ curl -sIL mackerel.io | grep engineer
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹΕڈΒΕͨόοΫΞοϓ ̏ɹΘΕͳ੍͍ ̐ɹϩοΫͷޭࡑ ̑ɹ·ͱΊ
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓऔͬͯ·͔͢ʁ
ΕڈΒΕͨόοΫΞοϓ 2ʮϨϓϦέʔγϣϯͯ͠Δ͔Β όοΫΞοϓෆཁͰʁʯ
ΕڈΒΕͨόοΫΞοϓ 2ʮϨϓϦέʔγϣϯͯ͠Δ͔Β όοΫΞοϓෆཁͰʁʯ ˣ ඞཁͰ͢
ΕڈΒΕͨόοΫΞοϓ ϨϓϦέʔγϣϯෳ ྨࣅྫɿσΟεΫͷϛϥʔϦϯά
ΕڈΒΕͨόοΫΞοϓ ϨϓϦέʔγϣϯͰकΕͳ͍ύλʔϯ w ෆਖ਼ͳσʔλࠞೖ w %&-&5&%301 w ώϡʔϚϯΤϥʔ
ΕڈΒΕͨόοΫΞοϓ ͜ΕΒ͔ΒकΔͨΊʹ όοΫΞοϓ͕ඞཁ
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓΛऔͬͯ·͔͢ʁ
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓΛऔͬͯ·͔͢ʁ ˣ ϦετΞΛࢼ͠·͔ͨ͠ʁ
ΕڈΒΕͨόοΫΞοϓ ͤͳ͍όοΫΞοϓʹՁແ͍
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓͷछྨ w ཧόοΫΞοϓ w ΦϑϥΠϯόοΫΞοϓ w ΦϯϥΠϯόοΫΞοϓ
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓͷछྨ w ཧόοΫΞοϓ w ΦϑϥΠϯόοΫΞοϓ w ΦϯϥΠϯόοΫΞοϓ NZTRMEVNQQH@EVNQ 42-Λͦͷ··อଘ͢ΔͷͰ͓खܰ
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓͷछྨ w ཧόοΫΞοϓ w ΦϑϥΠϯόοΫΞοϓ w ΦϯϥΠϯόοΫΞοϓ αʔόΛࢭΊͯσʔλϑΝΠϧΛίϐʔ ख๏৭ʑ͋Δ͚ͲཧόοΫΞοϓΑΓ͍
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓͷछྨ w ཧόοΫΞοϓ w ΦϑϥΠϯόοΫΞοϓ w ΦϯϥΠϯόοΫΞοϓ αʔόΛࢭΊͣʹόοΫΞοϓग़དྷΔ ͔͠ҙͷॴʹͤΔ
ͨͩ͠ɺӡ༻ίετେ
ΕڈΒΕͨόοΫΞοϓ ख๏ CBDLVQ αΠζ CBDLVQ ࣌ؒ ϦετΞ ࣌ؒ ӡ༻ ίετ
෮چ࣌ ཧ όοΫΞοϓ খ খ େ খ όοΫΞοϓ։࢝࣌ ΦϑϥΠϯ όοΫΞοϓ େ த খ খ όοΫΞοϓ։࢝࣌ ΦϯϥΠϯ όοΫΞοϓ େʴЋ தʙେ த தʙେ όοΫΞοϓऴྃޙ͔Β ࠷৽ঢ়ଶͷؒͷҙͷ࣌
ΕڈΒΕͨόοΫΞοϓ 3%#ͷػೳҎ֎ͷόοΫΞοϓ w 4UPSBHFͷػೳΛ͏ w όοΫΞοϓιϑτΛ͏ w 04ͷػೳΛ͏
ΕڈΒΕͨόοΫΞοϓ 3%#ͷػೳҎ֎ͷόοΫΞοϓ w 4UPSBHFͷػೳΛ͏ w όοΫΞοϓιϑτΛ͏ w 04ͷػೳΛ͏ εφοϓγϣοτͱ͔
ΕڈΒΕͨόοΫΞοϓ 3%#ͷػೳҎ֎ͷόοΫΞοϓ w 4UPSBHFͷػೳΛ͏ w όοΫΞοϓιϑτΛ͏ w 04ͷػೳΛ͏ ༻όοΫΞοϓιϑτΣΞͱ͔
ΕڈΒΕͨόοΫΞοϓ 3%#ͷػೳҎ֎ͷόοΫΞοϓ w 4UPSBHFͷػೳΛ͏ w όοΫΞοϓιϑτΛ͏ w 04ͷػೳΛ͏ 04͝ͱؙͬͱόοΫΞοϓ͢Δͱ͔
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓʹΑͬͯ ϦετΞͷํ๏ҧ͏
ΕڈΒΕͨόοΫΞοϓ ϦετΞΛࢼ͠·͔ͨ͠ʁ
ΕڈΒΕͨόοΫΞοϓ ϦετΞΛࢼ͠·͔ͨ͠ʁ ˣ ϝϯόʔͷதͰग़དྷΔਓ͍·͔͢ʁ
ΕڈΒΕͨόοΫΞοϓ Ξϯνύλʔϯ w όοΫΞοϓͯ͠ͳ͍ w ϦετΞग़དྷΔਓ͕͍ͳ͍ w Քಇʹ߹ͬͨઃܭग़དྷͯͳ͍
ΕڈΒΕͨόοΫΞοϓ Քಇ ؒఀࢭ࣌ؒ қ όοΫΞοϓͱϦετΞͰे ΦϯϓϨͳΒ༧උϚγϯ͕ඞཁ
େσʔλͳΒϦετΞॴཁ࣌ؒΛѲ͓ͯ͘͠ ࣌ؒ ๏ఆఀిͱ͔࣌ؒରԠͳͲ γεςϜ֎ͷ෦ʹӨڹ͕ग़Δ όοΫΞοϓ͔ΒͷϦετΞ͚ͩͰ͍͠ ίʔϧυελϯόΠͱ͔ඞཁ ԆϨϓϦέʔγϣϯͳͲͷઐ༻ͷγεςϜ͕ඞཁ ඵ ແఀࢭαʔόͱ͔ඞཁͳϨϕϧ ίετ͕ҟৗʹߴ͘ͳΔ
ΕڈΒΕͨόοΫΞοϓ ࣗͨͪͷࢦ͢ॴΛܾΊΔ
ΕڈΒΕͨόοΫΞοϓ ࣗͨͪͷࢦ͢ॴΛܾΊΔ ˣ ͦΕʹ߹ΘͤͨόοΫΞοϓΛʂ
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓऔͬͨ͠ ϦετΞࢼ͔ͨ͠Βେৎʂ
ΕڈΒΕͨόοΫΞοϓ ͱࢥͬͨΒେؒҧ͍ ʢ͔͜͜ΒΉ͠Ζຊʣ
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓͷ᠘ w Քಇॳಈ͍͍͕ͯͨόοΫΞοϓ͕ංେԽ ͯ͠ɺ͋ΔΤϥʔʹͳΓऔΕͯͳ͔ͬͨ w ϦετΞ͠Α͏ͱࢥ͕ͬͨϑΝΠϧ͕σΧ͗͢ ͯసૹʹ͕͔͔࣌ؒΓɺλΠϜΞτʹͳΔ w ಉ͡ཧαʔόʹऔ͍ͬͯΔͷͰσΟεΫ͕ࢮ
͵ͱҰॹʹόοΫΞοϓࢮ͵
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓͷ᠘ w Քಇॳಈ͍͍͕ͯͨόοΫΞοϓ͕ංେԽ ͯ͠ɺ͋ΔΤϥʔʹͳΓऔΕͯͳ͔ͬͨ w ϦετΞ͠Α͏ͱࢥ͕ͬͨϑΝΠϧ͕σΧ͗͢ ͯసૹʹ͕͔͔࣌ؒΓɺλΠϜΞτʹͳΔ w ಉ͡ཧαʔόʹऔ͍ͬͯΔͷͰσΟεΫ͕ࢮ
͵ͱҰॹʹόοΫΞοϓࢮ͵
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓͷ᠘ w Քಇॳಈ͍͍͕ͯͨόοΫΞοϓ͕ංେԽ ͯ͠ɺ͋ΔΤϥʔʹͳΓऔΕͯͳ͔ͬͨ w ϦετΞ͠Α͏ͱࢥ͕ͬͨϑΝΠϧ͕σΧ͗͢ ͯసૹʹ͕͔͔࣌ؒΓɺλΠϜΞτʹͳΔ w ಉ͡ཧαʔόʹऔ͍ͬͯΔͷͰσΟεΫ͕ࢮ
͵ͱҰॹʹόοΫΞοϓࢮ͵
ΕڈΒΕͨόοΫΞοϓ όοΫΞοϓͷ᠘ w Քಇॳಈ͍͍͕ͯͨόοΫΞοϓ͕ංେԽ ͯ͠ɺ͋ΔΤϥʔʹͳΓऔΕͯͳ͔ͬͨ w ϦετΞ͠Α͏ͱࢥ͕ͬͨϑΝΠϧ͕σΧ͗͢ ͯసૹʹ͕͔͔࣌ؒΓɺλΠϜΞτʹͳΔ w ಉ͡ཧαʔόʹऔ͍ͬͯΔͷͰσΟεΫ͕ࢮ
͵ͱҰॹʹόοΫΞοϓࢮ͵
ΕڈΒΕͨόοΫΞοϓ ͦͷόοΫΞοϓεΫϦϓτ ࠓͪΌΜͱಈ͍ͯ·͔͢ʁ
ΕڈΒΕͨόοΫΞοϓ ॲํᝦ w όοΫΞοϓͱϦετΞΛඞͣࢼ͢ w ఆظతʹϦετΞ͢Δ w όοΫΞοϓͷ݁ՌΛదʹࢹ͢Δ
ΕڈΒΕͨόοΫΞοϓ స͵ઌͷόοΫΞοϓ
ΕڈΒΕͨόοΫΞοϓ స͵ઌͷόοΫΞοϓ ˣ ि໌͚ʹඞͣνʔϜͷঢ়گ֬ೝΛʂ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹΕڈΒΕͨόοΫΞοϓ ̏ɹΘΕͳ੍͍ ̐ɹϩοΫͷޭࡑ ̑ɹ·ͱΊ
ΘΕͳ੍͍ 3%#ͷ
ΘΕͳ੍͍ 3%#ͷ w σʔλΛอଘ͢Δ w σʔλΛऔΓग़͢ w σʔλΛकΔ
ΘΕͳ੍͍ 3%#ͷ w σʔλΛอଘ͢Δ w σʔλΛऔΓग़͢ w σʔλΛकΔ
ΘΕͳ੍͍ σʔλΛԿ͔ΒकΔ͔ʁ
ΘΕͳ੍͍ όάͱώϡʔϚϯΤϥʔ͔ΒकΔ
ΘΕͳ੍͍ ੍ͷछྨ આ໌ 13*."3:,&:੍ ॏෳͱ/6--͕ແ͘ɺͦͷςʔϒϧͰҰҙͳߦ Ͱ͋Δ͜ͱΛ֬ఆͤ͞Δ /05/6--੍ /6--͕ແ͍ࣄΛ֬ఆͤ͞Δ 6/*26&੍ ͦͷ͕ςʔϒϧͰҰҙͰ͋Δ͜ͱΛ֬ఆͤ͞
Δʢ/6--ڐ༰͞ΕΔʣ $)&$,੍ ࢦఆͨ݅͠ͷͷΈ͕อଘ͞Ε͍ͯΔ͜ͱΛ ֬ఆͤ͞Δ %&'"6-5੍ ͕ࢦఆ͞Εͳ͍࣌ʹอଘ͞ΕΔΛܾΊΔ ͦΕʹΑΓॳظΛ֬ఆͤ͞Δ '03&*(/,&:੍ ผςʔϒϧͷओΩʔͱࢀর߹ੑ͕อͨΕͯΔ ࣄΛ֬ఆͤ͞Δ
ΘΕͳ੍͍ ͱϦϨʔγϣϯγοϓΛकΔ
ΘΕͳ੍͍ ੍ΛΘͳ͍എܠ w ΞϓϦଆͰόϦσʔγϣϯ͢Δ͔Βେৎ w ੍͢ΔͱςετσʔλΛ༻ҙ͢Δͷ͕໘ w 03.͕ରԠͯ͠ͳ͍
ΘΕͳ੍͍ ͦͷ݁Ռʜ
ΘΕͳ੍͍ ϦϨʔγϣϯγοϓ͕ഁ
ΘΕͳ੍͍ ϦϨʔγϣϯγοϓ͕ഁ ˣ σʔλΛඥղ͚ͳ͍
ഁͨ͠ demo=# SELECT delete_flag FROM users GROUP BY delete_flag delete_flag
------------- 1 2 0 9 99 NULL (6 ߦ)
ΘΕͳ੍͍ ഁͨ͠ϦϨʔγϣϯγοϓ w JE͕Ͳͷςʔϒϧʹඥͮ͘ͷ͔Θ͔Βͳ͍ w ςʔϒϧͷࢠ͕ؔΘ͔Βͳ͍ w ςʔϒϧͷσʔλʹෆ߹͕͋ͬͯ+0*/ ग़དྷͳ͍
ΘΕͳ੍͍ దͳ੍ͱઃܭΛޠΔ
ΘΕͳ੍͍ దͳ੍ͱઃܭΛޠΔ ˣ ػցతʹ&3ਤ࡞ΕΔ
ΘΕͳ੍͍ ॲํᝦ w దʹ੍Λ׆༻͢Δ w ਖ਼نԽͯ͠֎෦Ωʔ੍Λਖ਼͘͠͏ w ࠷ॳ੍͕͋ΔલఏͰߟ͑ɺඞཁͳΒ ֎͢͜ͱΛݕ౼͢Δ
ΘΕͳ੍͍ σʔλϕʔεͷઃܭͱͯେࣄ
ΘΕͳ੍͍ σʔλϕʔεͷઃܭͱͯେࣄ ˣ ੍Λ͏͜ͱͰྑ͍ઃܭΛ࡞Δ
ΘΕͳ੍͍ దͳ੍దͳઃܭΛੜΈ దͳઃܭੜ࢈ੑΛߴΊΔ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹΕڈΒΕͨόοΫΞοϓ ̏ɹΘΕͳ੍͍ ̐ɹϩοΫͷޭࡑ ̑ɹ·ͱΊ
ϩοΫͷޭࡑ τϥϯβΫγϣϯͱσʔλ߹ੑ
ϩοΫͷޭࡑ τϥϯβΫγϣϯϨϕϧ
ϩοΫͷޭࡑ τϥϯβΫγϣϯϨϕϧ ໊લ Ϩϕϧ આ໌ 4&3*"-*;"#-& ͍ͭ͞Α ྻతʹॲཧ 3&1&"5"#-&3&"% ڧ͍
ಡΈऔΓରͷσʔλ ΛৗʹಡΈऔΔ 3&"%$0..*55&% ·͊·ڧ͍ ֬ఆͨ͠࠷৽σʔλΛ ৗʹಡΈऔΔ 3&"% 6/$0..*55&% ऑ͍ ଞͷॲཧʹΑͬͯߦΘ Ε͍ͯΔɺॻ͖͔͚ͷ σʔλ·ͰಡΈऔΔɻ
ϩοΫͷޭࡑ τϥϯβΫγϣϯϨϕϧ ໊લ Ϩϕϧ આ໌ 4&3*"-*;"#-& ͍ͭ͞Α ྻతʹॲཧ 3&1&"5"#-&3&"% ڧ͍
ಡΈऔΓରͷσʔλ ΛৗʹಡΈऔΔ 3&"%$0..*55&% ·͊·ڧ͍ ֬ఆͨ͠࠷৽σʔλΛ ৗʹಡΈऔΔ 3&"% 6/$0..*55&% ऑ͍ ଞͷॲཧʹΑͬͯߦΘ Ε͍ͯΔɺॻ͖͔͚ͷ σʔλ·ͰಡΈऔΔɻ .Z42-ͷσϑΥϧτ͜͜
ϩοΫͷޭࡑ τϥϯβΫγϣϯϨϕϧ ໊લ Ϩϕϧ આ໌ 4&3*"-*;"#-& ͍ͭ͞Α ྻతʹॲཧ 3&1&"5"#-&3&"% ڧ͍
ಡΈऔΓରͷσʔλ ΛৗʹಡΈऔΔ 3&"%$0..*55&% ·͊·ڧ͍ ֬ఆͨ͠࠷৽σʔλΛ ৗʹಡΈऔΔ 3&"% 6/$0..*55&% ऑ͍ ଞͷॲཧʹΑͬͯߦΘ Ε͍ͯΔɺॻ͖͔͚ͷ σʔλ·ͰಡΈऔΔɻ 1PTUHSF42- 0SBDMF%# 42-4FSWFS ͷσϑΥϧτ͜͜
ϩοΫͷޭࡑ τϥϯβΫγϣϯϨϕϧ ໊લ Ϩϕϧ આ໌ 4&3*"-*;"#-& ͍ͭ͞Α ྻతʹॲཧ 3&1&"5"#-&3&"% ڧ͍
ಡΈऔΓରͷσʔλ ΛৗʹಡΈऔΔ 3&"%$0..*55&% ·͊·ڧ͍ ֬ఆͨ͠࠷৽σʔλΛ ৗʹಡΈऔΔ 3&"% 6/$0..*55&% ऑ͍ ଞͷॲཧʹΑͬͯߦΘ Ε͍ͯΔɺॻ͖͔͚ͷ σʔλ·ͰಡΈऔΔɻ 1PTUHSF42- 0SBDMF%# 42-4FSWFS ͷσϑΥϧτ͜͜ ϑΝϯτϜϦʔυμʔςΟϦʔυͳͲͷࠓ͠·ͤΜ ʮ͑ʁͳʹͦΕʯͬͯਓࠓ͙͢άάοͯษڧͨ͠ํ͕͍͍Ͱ͢
ϩοΫͷޭࡑ ͳͥτϥϯβΫγϣϯ͕ඞཁ͔
ϩοΫͷޭࡑ Ϣʔβ" Ϣʔβ# " ಉ࣌ʹߪೖ
ϩοΫͷޭࡑ Ϣʔβ" Ϣʔβ# " ಉ࣌ʹߪೖ ࡏݿ͕࠷ޙͷݸͩͬͨͱ͖ɺ ͲͪΒΛ༏ઌ͢Δ͔ʁ
ϩοΫͷޭࡑ Ϣʔβ" Ϣʔβ# " ઌʹΞΫηεͨ͠ͷͰ ʹରͯ͠ϩοΫΛऔಘ ࡏݿ͕ແ͍ͷͰ ΤϥʔʹͳΔ
ϩοΫͷޭࡑ ฒྻॲཧͷσʔλͷෆ߹Λ͙
ϩοΫͷޭࡑ ͋ͳͨͷॲཧେৎʁ w ෳͷϒϥβΛ։͍ͯಉ࣌ΞΫηε w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌ w ฒྻॲཧΛॻ͍ͨ࣌
ϩοΫͷޭࡑ ͋ͳͨͷॲཧେৎʁ w ෳͷϒϥβΛ։͍ͯಉ࣌ΞΫηε w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌ w ฒྻॲཧΛॻ͍ͨ࣌
ϩοΫͷޭࡑ ͋ͳͨͷॲཧେৎʁ w ෳͷϒϥβΛ։͍ͯಉ࣌ΞΫηε w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌ w ฒྻॲཧΛॻ͍ͨ࣌ ྫ͑σΠϦʔͷདྷళϙΠϯτͷॲཧͱ͔ ߪೖ࣌ͷϙΠϯτݮࢉͷॲཧͱ͔
ϩοΫͷޭࡑ ͋ͳͨͷॲཧେৎʁ w ෳͷϒϥβΛ։͍ͯಉ࣌ΞΫηε w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌ w ฒྻॲཧΛॻ͍ͨ࣌
ϩοΫͷޭࡑ ͋ͳͨͷॲཧେৎʁ w ෳͷϒϥβΛ։͍ͯಉ࣌ΞΫηε w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌ w ฒྻॲཧΛॻ͍ͨ࣌ ˓˓ݶఆͷࡏݿॲཧͱ͔ Ұਓ͋ͨΓͷߪೖݶքͷॲཧͱ͔
ϩοΫͷޭࡑ ͋ͳͨͷॲཧେৎʁ w ෳͷϒϥβΛ։͍ͯಉ࣌ΞΫηε w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌ w ฒྻॲཧΛॻ͍ͨ࣌
ϩοΫͷޭࡑ ͋ͳͨͷॲཧେৎʁ w ෳͷϒϥβΛ։͍ͯಉ࣌ΞΫηε w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌ w ฒྻॲཧΛॻ͍ͨ࣌ Ұͭͷσʔλʹରͯ͠ෳͷαʔϏε͕ΞΫηε͢Δ࣌ͱ͔ ߴԽͷͨΊʹඇಉظॲཧϚϧνεϨουॲཧΛ࡞ͬͨ࣌ͱ͔
ϩοΫͷޭࡑ ϩοΫͷ ࣄ࣮ʹج͍ͯ࣌ܥྻʹॲཧͯ͠ σʔλΛదʹकΔ
ϩοΫͷޭࡑ ͜͜·ͰϩοΫͷޭࡑͷޭͷ෦
ϩοΫͷޭࡑ ϩοΫͷࡑ
ϩοΫͷޭࡑ ϩοΫʹΑΔੑೳԆ
ϩοΫͷޭࡑ ϩοΫʹΑΔੑೳԆ ˣ ϩοΫͪʹΑΔॲཧԆ
ϩοΫͷޭࡑ Ϣʔβ" Ϣʔβ# " ઌʹΞΫηεͨ͠ͷͰ ʹରͯ͠ϩοΫΛऔಘ ։์ͪ ͜ͷαΠτ͍ͳ͊
ϩοΫͷޭࡑ Ϣʔβ" Ϣʔβ# " ઌʹΞΫηεͨ͠ͷͰ ʹରͯ͠ϩοΫΛऔಘ ։์ͪ ͜ͷαΠτ͍ͳ͊ ྆ํͷϢʔβ͕ͦΕͧΕͷϩοΫͰ ͨ͞Εͨ߹σοτϩοΫ
ϩοΫͷޭࡑ ओͳϩοΫͷछྨ w ഉଞ F9DMVEFE ϩοΫ w ڞ༗ 4IBSFE ϩοΫ
ϩοΫͷޭࡑ ओͳϩοΫͷछྨ w ഉଞ F9DMVEFE ϩοΫ w ڞ༗ 4IBSFE ϩοΫ
ϩοΫରʹରͯ͠ɺଞͷΞΫηεΛҰېࢭ͢Δ ଞͷΞΫηεߋ৽ɾআɾࢀরશͯग़དྷͳ͍ ॻ͖ࠐΈϩοΫͱݺΕΔࣄ͋Δ
ϩοΫͷޭࡑ ओͳϩοΫͷछྨ w ഉଞ F9DMVEFE ϩοΫ w ڞ༗ 4IBSFE ϩοΫ
ϩοΫରʹରͯ͠ɺࢀরҎ֎ͷॲཧΛېࢭ͢Δ ଞͷΞΫηεࢀর 4&-&$5 Λ͢Δ͜ͱ͕ग़དྷΔ ಡΈࠐΈϩοΫͱݺΕΔࣄ͋Δ
ϩοΫͷޭࡑ ϩοΫΛΒͳ͍ॴͰऔ͍ͬͯΔ
ϩοΫͷޭࡑ ϩοΫΛΒͳ͍ॴͰऔ͍ͬͯΔ ˣ ҉తϩοΫ
ϩοΫͷޭࡑ .Z42-ͷ߹
ϩοΫͷޭࡑ 1PTUHSF42-ͷ߹
ϩοΫͷޭࡑ ϩοΫΛΒͳ͍ॴͰऔ͍ͬͯΔ ˣ ҉తϩοΫ ಛʹڞ༗ϩοΫසൟʹऔ͍ͬͯΔ
ϩοΫͷޭࡑ ϩοΫσʔλΛकΔͨΊʹඞཁ
ϩοΫͷޭࡑ ϩοΫσʔλΛकΔͨΊʹඞཁ ˣ ύϑΥʔϚϯεͱτϨʔυΦϑ
ϩοΫͷޭࡑ w ϩοΫͪͰॲཧ͕٧·Δ w ͍4&-&$5ʹΑͬͯߋ৽ॲཧ͕٧·Δ w ߋ৽ର͕ίϯϑϦΫτͯͨ͠͞ΕΔ w σοτϩοΫɺτϥϯβΫγϣϯࢮ͵
ϩοΫͷޭࡑ αʔϏεͷϝΠϯςʔϒϧةݥ w ଟ͘ͷࢀরͰར༻͍ͯ͠Δ w ߋ৽සൟʹ͋Δ w +0*/αϒΫΤϦͷରʹͳ͍ͬͯΔ
ϩοΫͷޭࡑ ͦͦϩοΫͷॲཧ 3%#ʹΑ͔ͬͯͳΓҧ͏
ϩοΫͷޭࡑ ϩοΫσʔλΛकΔͨΊʹඞཁ
ϩοΫͷޭࡑ ϩοΫσʔλΛकΔͨΊʹඞཁ ˣ ͔͠͠τϥϒϧͷ࣌ͷࠜਂ͍
ϩοΫͷޭࡑ ॲํᝦ
ϩοΫͷޭࡑ ॲํᝦ ϩοΫΛΔ
ϩοΫͷޭࡑ ະͳΔΈා͍
ϩοΫͷޭࡑ ະͳΔΈා͍ ˣ ͔ͬ͠Γͱཧղ͢Δࣄ
ϩοΫͷޭࡑ ϩοΫΛݟΔ
ϩοΫͷޭࡑ ϩοΫΛݟΔ ˣ ֤%#ʹ༻ҙ͞Ε͍ͯΔΈΛ͏
None
ϦϑΝΫλϦϯά ៉ྷͳϦϑΝΫλϦϯά w ࢀরͱߋ৽ͷಡΈࠐΈઌΛ͚Δ w ߋ৽ͷϘτϧωοΫΛ͚Δ w σʔλઃܭΛݟ͢ w దʹ*/%&9Λ׆༻͢Δ
ϦϑΝΫλϦϯά ҋͷਂ͍ϦϑΝΫλϦϯά w +0*/Λඇਖ਼نԽͰิ͏ w ֎෦Ωʔ੍Λ֎͢ w ͱΓ͋͑ͣΩϟογϡʹಥͬࠐΉ w ۃͷεέʔϧΞοϓ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹΕڈΒΕͨόοΫΞοϓ ̏ɹΘΕͳ੍͍ ̐ɹϩοΫͷޭࡑ ̑ɹ·ͱΊ
·ͱΊ
·ͱΊ SQLΞϯνύλʔϯݫબ͞Εࣦͨഊू
·ͱΊ SQLΞϯνύλʔϯݫબ͞Εࣦͨഊू ↓ DBͷϊϋ͕٧·໊ͬͨஶ
·ͱΊ Ұ࡞ͬͨ%#ফͤͳ͍
·ͱΊ Ұ࡞ͬͨ%#ফͤͳ͍ ˣ ઃܭ͕େࣄ
·ͱΊ σʔλϕʔεͷࢮαʔϏεͷࢮ
·ͱΊ σʔλϕʔεͷࢮαʔϏεͷࢮ ˣ ղܾͰ͖Δਓӳ༤
·ͱΊ %#ͷΕͨࠒʹͬͯ͘Δ
·ͱΊ
·ͱΊ αʔϏενʔϜΛकΔ
·ͱΊ αʔϏενʔϜΛकΔ ˣ ͦͷͨΊʹֶͿ
·ͱΊ ۪ऀܦݧʹֶͿ ݡऀաڈʹֶͿ
·ͱΊ पғͷܦݧஊ͔ΒֶͿ
·ͱΊ पғͷܦݧஊ͔ΒֶͿ ˣ ੵۃతʹίϛϡχςΟΛར༻͢Δ
ࢀߟࢿྉ ɾQPTUHSFTRMKQ4MBDL νϟοτϧʔϜ IUUQTQPTUHSFTRMIBDLFSTKQIFSPLVBQQDPN ɾNZTRMDBTVBM4MBDL νϟοτϧʔϜ IUUQTNZTRMDBTVBMTMBDLJOIFSPLVBQQDPN
·ͱΊ 3%#ͷࣝण໋͕͍
·ͱΊ 3%#ͷࣝण໋͕͍ ˣ ֮͑ΕࣄͰ͍ؒʹཱͭ
·ͱΊ ΑΓྑ͍ઃܭΛ Ұॹʹߟ͑ͯߦ͖·͠ΐ͏
·ͱΊ 3%#͍͍ͧɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ