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
RDB anti-pattern that Java engineer wants to know
Search
soudai sone
PRO
May 20, 2017
Technology
6
11k
RDB anti-pattern that Java engineer wants to know
JJUG CCC 2017 spring での登壇資料です。
http://www.java-users.jp/ccc2017spring/
soudai sone
PRO
May 20, 2017
Tweet
Share
More Decks by soudai sone
See All by soudai sone
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.5k
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
34
8.5k
これからアウトプットする人たちへ - アウトプットを支える技術 / that support output
soudai
PRO
20
8.2k
コミュニティと計画的偶発性理論 - 出会いが人生を変える / Life-Changing Encounters
soudai
PRO
8
3.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
変化に強いテーブル設計の勘所 / Table design that is resistant to changes
soudai
PRO
68
20k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
PRO
51
34k
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
PRO
41
57k
ソフトウェアエンジニアとしてキャリアの螺旋を駆け上がる方法 - 経験と出会いが人生を変える / Career-Anchor-Drive
soudai
PRO
20
7.1k
Other Decks in Technology
See All in Technology
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
Agile Leadership Summit Keynote 2026
m_seki
1
620
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
560
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
250
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
プロポーザルに込める段取り八分
shoheimitani
1
280
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
660
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
150
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
48
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Being A Developer After 40
akosma
91
590k
It's Worth the Effort
3n
188
29k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
720
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Between Models and Reality
mayunak
1
190
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
76
How to train your dragon (web standard)
notwaldorf
97
6.5k
Transcript
JavaΤϯδχΞʹͬͯ΄͍͠ RDBΞϯνύλʔϯ ++6($$$4QSJOH
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͕͖Ͱ͢
Mackerel
Mackerel
ͯͳؒΛ୳ͯ͠·͢ curl -sIL mackerel.io | grep engineer
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
None
σʔλϕʔεͷ໎ٶ 4PGUXBSF%FTJHOΛಡΜͰ͘Εʂʂ Ҏ্οʂʂʂʂ
σʔλϕʔεͷ໎ٶ σʔλϕʔεͷઃܭͷ
σʔλϕʔεͷ໎ٶ demo=# SELECT delete_falg AS delete_flag FROM users GROUP BY
delete_flag delete_flag ------------- 1 2 0 9 99 NULL (6 ߦ)
σʔλϕʔεͷ໎ٶ ▪༷ॻ_20170513(1).xls 0: ະআ 1: আࡁΈ 2: ཧऀʹΑΔڧ੍আ 9: ຣফ
99: Α͘Θ͔Βͳ͍ NULL: όάͰೖΔ
σʔλϕʔεͷ໎ٶ NFNP NFNP NFNP
σʔλϕʔεͷ໎ٶ NFNP NFNP NFNP NFNPͰͳ͘NFNPͷͱ͜Ζ͕ྺ࢙Λײͤ͡͞Δ
σʔλϕʔεͷ໎ٶ σʔλϕʔεͷ໎ٶͷ
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ ཧ*%
σʔλϕʔεͷ໎ٶ ཧ*% ˣ ձһ*%Λྫʹ͠·͢
σʔλϕʔεͷ໎ٶ
σʔλϕʔεͷ໎ٶ ͔Β࢝·ΔͷҰൠϢʔβ ͔Β࢝·ΔͷཧϢʔβ
σʔλϕʔεͷ໎ٶ ϢʔβͷಓݝΛද͢
σʔλϕʔεͷ໎ٶ ຊͷձһ*%
σʔλϕʔεͷ໎ٶ σʔλʹϩδοΫΛຒΊࠐΉͳͬʂ
σʔλϕʔεͷ໎ٶ σʔλʹϩδοΫΛຒΊࠐΉͳͬʂ ˣ σʔλΛσʔλͱͯ͠ಡΈऔΕͳ͍
σʔλϕʔεͷ໎ٶ ॲํᝦ w ΧϥϜΛਖ਼໊͘͠લΛ͚ͭΔ w σʔλͷΛ͚Δ w มԽʹ߹ΘͤͯϦϑΝΫλϦϯά͢Δ
σʔλϕʔεͷ໎ٶ ॲํᝦ w ΧϥϜΛਖ਼໊͘͠લΛ͚ͭΔ w σʔλͷΛ͚Δ w มԽʹ߹ΘͤͯϦϑΝΫλϦϯά͢Δ
σʔλϕʔεͷ໎ٶ ϦϑΝΫλϦϯάͷྫ
σʔλϕʔεͷ໎ٶ JE ໊લ ྸ ીࠜɹେ ીࠜɹኽָ
ીࠜɹᗅָ ીࠜɹࡣָ ݱঢ়
σʔλϕʔεͷ໎ٶ ձһJE ໊લ ྸ ݖݶJE ಓݝJE ીࠜɹେ
ીࠜɹኽָ ીࠜɹᗅָ ીࠜɹࡣָ ཧ
σʔλϕʔεͷ໎ٶ JE ձһJE ໊લ ྸ ݖݶJE ಓݝJE /6-- ીࠜɹେ
/6-- /6-- /6-- ીࠜɹኽָ /6-- /6-- /6-- ીࠜɹᗅָ /6-- /6-- /6-- ીࠜɹࡣָ /6-- /6-- ରͷΧϥϜΛՃ
σʔλϕʔεͷ໎ٶ JE ձһJE ໊લ ྸ ݖݶJE ಓݝJE ીࠜɹେ
ીࠜɹኽָ ીࠜɹᗅָ ીࠜɹࡣָ ରͷΧϥϜΛՃ
σʔλϕʔεͷ໎ٶ Ͳ͏ͬͯཧ*%Λ ৽͍͠ΧϥϜʹೖΕΔ͔
σʔλϕʔεͷ໎ٶ ϦϑΝΫλϦϯάख๏ͷྫ w */4&3561%"5&ͷ࣌ʹΞϓϦ͕ೖΕΔ w */4&3561%"5&ͷ࣌ʹτϦΨʔΛ͏ w Ծྻ7JFXΛ͏
σʔλϕʔεͷ໎ٶ ձһJE ໊લ ྸ ݖݶJE ಓݝJE ીࠜɹେ
ીࠜɹኽָ ીࠜɹᗅָ ીࠜɹࡣָ ཧͷ7JFXΛ࡞Δ
σʔλϕʔεͷ໎ٶ αʔϏεͷੑ࣭ʹ߹Θͤͯ ख๏ΛબͿ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
ڧ͗͢Δ੍ σʔλϕʔε αʔϏεʹ༩͑ΔӨڹൣғ͕͍
ڧ͗͢Δ੍ ༩͑ΔӨڹൣғͷྫ w %#Λఀࢭ͢ΔͱαʔϏε͕ࢭ·Δ w มߋ͢ΔͱෳαʔϏεͷվम͕ඞཁ w σʔλৗʹੵ͞Ε͍ͯ͘
ڧ͗͢Δ੍ ࣌ؒܦաͰσʔλ͕͢Δ
ڧ͗͢Δ੍ ͭ·Γมߋ͕େม
ڧ͗͢Δ੍ ͭ·Γมߋ͕େม ˣ ͕࣌ؒܦͯܦͭ΄Ͳঢ়گ͕ѱԽ
ڧ͗͢Δ੍ ͔ͩΒͦ͜ਖ਼͍͠ઃܭʹҭͯΔ͖
ڧ͗͢Δ੍ ͦͷͨΊʹ3%#ͷػೳΛ׆༻͢Δ
ڧ͗͢Δ੍ ͦͷͨΊʹ3%#ͷػೳΛ׆༻͢Δ ˣ ͔ͦ͠͠Ε͕ཪʹग़Δ͜ͱ
ڧ͗͢Δ੍ 3%#ͷػೳʹґଘ͗͢͠Δͱ ͦΕڧ͗͢Δ੍ʹͳΔ
ڧ͗͢Δ੍ ڧ͗͢Δ੍ͷྫ w τϦΨʔ͕ଟ͘ͷ5"#-&ʹӨڹΛ༩͑Δ w ετΞυ͕ϩδοΫΛ࣋ͪ͗͢Δ w ϚςϏϡʔ%#-JOLͷଟ༻͗͢͠Δ
ڧ͗͢Δ੍ 3%#ͷػೳͱͯศར
ڧ͗͢Δ੍ 3%#ͷػೳͱͯศར ˣ ͔ۜ͠͠ͷؙͰͳ͍
ڧ͗͢Δ੍ ઃܭͷόϥϯεײ͕֮େࣄ
ڧ͗͢Δ੍ ॲํᝦ w ͦͷػೳΛར༻͢ΔظؒΛݕ౼͢Δ w ͦͷػೳͷӨڹൣғΛཧղ͢Δ w ຊʹ࠷దͳΞϓϩʔν͔͍͢
ڧ͗͢Δ੍ ॲํᝦ w ͦͷػೳΛར༻͢ΔظؒΛݕ౼͢Δ w ͦͷػೳͷӨڹൣғΛཧղ͢Δ w ຊʹ࠷దͳΞϓϩʔν͔͍͢
ڧ͗͢Δ੍ ਓաڈͷޭମݧͷ όΠΞε͕͔͔Δ
ڧ͗͢Δ੍ ਓաڈͷࣦഊମݧ όΠΞε͕͔͔Δ
ڧ͗͢Δ੍ ઃܭͷόϥϯεײ͕֮େࣄ
ڧ͗͢Δ੍ ઃܭͷόϥϯεײ͕֮େࣄ ˣ ଟ͘ͷઃܭΛݟͯཆ͏͜ͱ͕େࣄ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
ࢹ͞Εͳ͍σʔλϕʔε ࢹͱϞχλϦϯά
ࢹ͞Εͳ͍σʔλϕʔε
ࢹ͞Εͳ͍σʔλϕʔε
ࢹ͞Εͳ͍σʔλϕʔε ͳΜͰςετॻ͘ͷʹ ϞχλϦϯά͠ͳ͍ΜͰ͔͢ʁ
ࢹ͞Εͳ͍σʔλϕʔε ࢹࡾஈ֊͋Δ
ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘োൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰࢹ͢Δ͜ͱͰ Ϧιʔεཧোͷ༧ஹͷѲ͢Δ
ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘োൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰࢹ͢Δ͜ͱͰ Ϧιʔεཧোͷ༧ஹͷѲ͢Δ ࢮ׆ࢹ
ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘োൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰࢹ͢Δ͜ͱͰ Ϧιʔεཧোͷ༧ஹͷѲ͢Δ νΣοΫࢹ
ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘োൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰࢹ͢Δ͜ͱͰ Ϧιʔεཧোͷ༧ஹͷѲ͢Δ ϞχλϦϯάࢹ
ࢹ͞Εͳ͍σʔλϕʔε
ࢹ͞Εͳ͍σʔλϕʔε
ࢹ͞Εͳ͍σʔλϕʔε Πϯϑϥੜ͖
ࢹ͞Εͳ͍σʔλϕʔε Πϯϑϥੜ͖ ˣ ʑͷهΛݟΔ
ࢹ͞Εͳ͍σʔλϕʔε աڈΛΔ͜ͱͰ ࠓͷॴ͕Θ͔Δ
ࢹ͞Εͳ͍σʔλϕʔε ࠓͱաڈͷࠩ
ࢹ͞Εͳ͍σʔλϕʔε ࠓͱաڈͷࠩ ˣ ະདྷΛΔͨΊͷࡐྉ
ࢹ͞Εͳ͍σʔλϕʔε ࢹ͖߲͢ w ౷ܭใ04ϦιʔεͳͲ3%#ͷঢ়ଶ w εϩʔΫΤϦϩάΤϥʔϩάͳͲ w ෳͷ%#ΛॏͶͨൺֱ
ࢹ͞Εͳ͍σʔλϕʔε ϞχλϦϯάվળͷҰา
ࢹ͞Εͳ͍σʔλϕʔε ॲํᝦ w దʹϞχλϦϯάΛ͢Δ w ϞχλϦϯάπʔϧΛ׆༻͢Δ w վળͷͨΊͷҰาΛ౿Έग़͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
·ͱΊ ۪ऀܦݧʹֶͿ ݡऀաڈʹֶͿ
·ͱΊ ΞϯνύλʔϯΛΔ
·ͱΊ
·ͱΊ SQLΞϯνύλʔϯݫબ͞Εࣦͨഊू
·ͱΊ SQLΞϯνύλʔϯݫબ͞Εࣦͨഊू ↓ DBͷϊϋ͕٧·໊ͬͨஶ
·ͱΊ Ұ࡞ͬͨ%#ফͤͳ͍
·ͱΊ Ұ࡞ͬͨ%#ফͤͳ͍ ˣ ઃܭ͕େࣄ
·ͱΊ σʔλϕʔεͷࢮαʔϏεͷࢮ
·ͱΊ σʔλϕʔεͷࢮαʔϏεͷࢮ ˣ ղܾͰ͖Δਓӳ༤
·ͱΊ %#ͷΕͨࠒʹͬͯ͘Δ
·ͱΊ
·ͱΊ αʔϏενʔϜΛकΔ
·ͱΊ αʔϏενʔϜΛकΔ ˣ ͦͷͨΊʹֶͿ
·ͱΊ पғͷܦݧஊ͔ΒֶͿ
·ͱΊ पғͷܦݧஊ͔ΒֶͿ ˣ ੵۃతʹίϛϡχςΟΛར༻͢Δ
ࢀߟࢿྉ ɾQPTUHSFTRMKQ4MBDL νϟοτϧʔϜ IUUQTQPTUHSFTRMIBDLFSTKQIFSPLVBQQDPN ɾNZTRMDBTVBM4MBDL νϟοτϧʔϜ IUUQTNZTRMDBTVBMTMBDLJOIFSPLVBQQDPN
·ͱΊ 3%#ͷࣝण໋͕͍
·ͱΊ 3%#ͷࣝण໋͕͍ ˣ ֮͑ΕࣄͰ͍ؒʹཱͭ
·ͱΊ lखΛಈ͔ͨ͠ਓ͚͕ͩੈքΛม͑Δz :BTVIJSP0OJTIJ
·ͱΊ ΑΓྑ͍ઃܭΛ Ұॹʹߟ͑ͯߦ͖·͠ΐ͏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ