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
soudai sone
March 04, 2017
Technology
47
26k
Webエンジニアに知ってほしいRDBアンチパターン
YAPC::Kansaiの登壇資料です。
soudai sone
March 04, 2017
Tweet
Share
More Decks by soudai sone
See All by soudai sone
ソフトウェアエンジニアとしてキャリアの螺旋を駆け上がる方法 - 経験と出会いが人生を変える / Career-Anchor-Drive
soudai
14
3.3k
新婚19年目から学ぶ夫婦円満の正しい歩き方 / Life is beautiful
soudai
11
4.1k
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
32
9.1k
仕事を前に進めるためのコツ - 判断と決断と共有 / Aim for the goal
soudai
85
54k
アプリケーションが 正しく動作するということ - 自動テスト編 / Automated Testing
soudai
17
3.2k
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
8
1.9k
**強い**エンジニアのなり方 - フィードバックサイクルを勝ち取る / grow one day each day
soudai
125
120k
マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy
soudai
26
8.5k
キャッシュと向き合う、キャッシュと共に生きる / cache pattern
soudai
38
17k
Other Decks in Technology
See All in Technology
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
ハイテク休憩
sat
PRO
2
160
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
生成AIのガバナンスの全体像と現実解
fnifni
1
190
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
180
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
540
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
750
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
260
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
160
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
530
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
160
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
Visualization
eitanlees
146
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Writing Fast Ruby
sferik
628
61k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Documentation Writing (for coders)
carmenintech
66
4.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
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%#͍͍ͧɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ