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
データベースについて
Search
Takehiro Yamaguchi
January 01, 2019
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データベースについて
Takehiro Yamaguchi
January 01, 2019
More Decks by Takehiro Yamaguchi
See All by Takehiro Yamaguchi
tech boost_deeplearning
takexhero
0
120
【 tech boost】AI/DSエキスパート(ニューラルネットワーク)
takexhero
0
130
開発業務について
takexhero
0
610
セキュリティについて
takexhero
0
450
問題解決力について
takexhero
0
590
ネットワークについて
takexhero
0
620
オブジェクト指向について
takexhero
0
1.4k
Other Decks in Technology
See All in Technology
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
360
20分でわかるセキュアAPI
nwiizo
2
320
トークンマネジメントでAIにとって働きやすい環境を実現する
hikaruegashira
0
140
地震情報アプリを作ってみた
yama3133
1
110
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
3
1.1k
AIに狂うスタートアップが、あえて「人との協働」に全振りした新卒エンジニア研修 / New Graduate Engineer Training at a Startup Accelerating AI Adoption
ohnoeight
0
180
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
250
【Aiming】共通基盤なのに「共通化しない」課金・認証基盤「LINK」が選び取ったシングルテナント戦略と運用の秘訣
saikeda
0
140
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
200
SmartHR Engineering Team Deck
smarthr
1
3.4k
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
470
英語が話せなくてもKubeConスタッフに参加した話
yusuke427
2
1.1k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
250
We Have a Design System, Now What?
morganepeng
55
8.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Practical Orchestrator
shlominoach
191
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Documentation Writing (for coders)
carmenintech
77
5.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Transcript
Database Ishikami Naotaka
ɾϓϩάϥϛϯάྺ20ͷWebΤϯδχΞ ɾཱྀߦɺϘʔυήʔϜ͕͖Ͱ͢ɻ ੴ্ @dorarep 2 ϕτφϜϥϘࢠձࣾઃ αϯςΟΞΰ८ྱ Magic the Gathering
খֶੜͷࠒ͔ΒήʔϜ࡞Γ
ࠓͷΰʔϧ جૅతͳࣝ Λཧղ͢Δ͜ͱͰ ௐͳ͕Β Ͱྑ͍ͷͰ σʔλϕʔεΛ ͑Δ Α͏ʹͳΔ͜ͱ 3 ҉ه
͢ΔΑΓ ཧղ ͠Α͏ʂ
1. Database֓ ·ͣશମײΛѲ͠·͠ΐ͏ 4
DB ( Database ) ͱʁ 5 σʔλΛѻ͍͍͢ܗͰೖΕ͓ͯ͘ശͰ͢
DB ( Database ) ͱʁ 6 σʔλΛѻ͍͍͢ܗͰೖΕ͓ͯ͘ശͰ͢ name lv hp
mp ͋Δ͢ 35 79 0 ͜ͳΜ 33 140 63 ͤΓ͋ 27 151 67 ༐ऀσʔλ
DBMS ( DatabaseManagementSystem ) ͱʁ 7 ͦͷശΛཧ͢ΔγεςϜͰ͢
DBMS ( DatabaseManagementSystem ) ͱʁ ͦͷശΛཧ͢ΔγεςϜͰ͢ 8 DBMS ϩάΠϯ͍ͨ͠Έ͍ͨͩɻ Ϣʔβσʔλ͘Εʂ
͍Αʂ DB
Question ࣗͰσʔλΛཧͨ͠ΒͲ͏ͳͷʁ 9 file = File.open("access.txt", "r") count = file.gets.to_i
+ 1 file.close file = File.open("access.txt", "w") file.puts(count) file.close load save count count + 1 ΞΫηε.txt ΞΫηεΧϯλʔ
Answer 10 ͜ͷྫͷ߹ɺಉ࣌ΞΫηεͨ͠ͱ͖ʹยํͷ͕ө ͞Εͳ͍͜ͱ͕͋Γ·͢ɻ 10 10 + 1 10 10
10 + 1 11
Answer 11 ͜ͷྫͷ߹ɺಉ࣌ΞΫηεͨ͠ͱ͖ʹยํͷ͕ө ͞Εͳ͍͜ͱ͕͋Γ·͢ɻ 10 10 + 1 10 10
10 + 1 11 DBMSΛΘͳ͚Ε࡞Εͳ͍༁Ͱͳ͍ ༷ͨͩʑͳศརͳػೳ͕͋ΔͨΊ ΈΜͳ͍ͬͯ·͢ʂ
DBMSͷछྨ 12 DBMS RDBMS NoSQL . . . . ͘͘͝͝Ұ෦
DBMSͷछྨ 13 DBMS RDBMS NoSQL . . . . ͘͘͝͝Ұ෦
SQLΛ͍දͷܗࣜͷσʔλΛѻ͏ͷ RDBMSҎ֎ͷDBMS
DBMSͷछྨ 14 DBMS RDBMS NoSQL . . . . ͘͘͝͝Ұ෦
SQLΛ͍දͷܗࣜͷσʔλΛѻ͏ͷ RDBMSҎ֎ͷDBMS RDBMS͕جຊͰ͢ɻ ࣮ࡍʹ৮ֶͬͯΜͰ͍͖·͠ΐ͏ʂ
2. ४උ MySQLΛ͏४උΛ͠·͠ΐ͏ 15
ͱʁ 16 ΦʔϓϯιʔεͷRDBMSͰ ੈքͰͬͱΘΕ͍ͯΔͷͰ͢ ઃܭਤ͕ެ։͞Ε͍ͯͯ ࣗ༝ʹ͑Δͷ
MySQLͷInstallɾىಈ 17 $ /usr/bin/ruby -e "$(curl -fsSL https:// raw.githubusercontent.com/Homebrew/ install/master/install)"
$ brew install mysql $ brew services start mysql mac
MySQLͷInstallɾىಈ 18 $ brew install mysql $ brew services start
mysql mac 3306൪ ϙʔτ ϩάΠϯ͍ͨ͠Έ͍ͨͩɻ Ϣʔβσʔλ͘Εʂ
RDBMSͱͷʮΓํʯ 19
RDBMSͱͷʮΓํʯ 20 RDBMSͱ SQLͱ͍͏ݴ༿ΛͬͯΓ·͢
RDBMSͱͷʮΓํʯ 21 3306൪ ϙʔτ ϩάΠϯ͍ͨ͠Έ͍ͨͩɻ Ϣʔβσʔλ͘Εʂ RDBMSͱ SQLͱ͍͏ݴ༿ΛͬͯΓ·͢
RDBMSͱͷʮΓํʯ 22 3306൪ ϙʔτ SELECT * FROM users WHERE id
= 1 RDBMSͱ SQLͱ͍͏ݴ༿ΛͬͯΓ·͢
Try ࣮ࡍʹSQLจΛଧͬͯΈΑ͏ 23 $ mysql -uroot ... mysql> select version();
+-----------+ | version() | +-----------+ | 5.7.22 | +-----------+ 1 row in set (0.00 sec) MySQLͱͷʮରϞʔυʯʹೖΔίϚϯυ όʔδϣϯΛਘͶΔSQLจ
GUIπʔϧΛͬͯΈΑ͏ʂ 24 શମ૾͕͔ΓͮΒ͍... ຖճίϚϯυଧͭͷ͠ΜͲ͍...
GUIπʔϧΛͬͯΈΑ͏ʂ 25 શମ૾͕͔ΓͮΒ͍... ຖճίϚϯυଧͭͷ͠ΜͲ͍... Θ͔Γ͍͢ʂ
GUIπʔϧΛͬͯΈΑ͏ʂ 26 શମ૾͕͔ΓͮΒ͍... ຖճίϚϯυଧͭͷ͠ΜͲ͍... Θ͔Γ͍͢ʂ (ҙ) ఆ֎ͷෛՙ͕͔͔ΔՄೳੑ͕͋ΔͨΊ ࣮Ͱຊ൪DBΛπʔϧͰ৮Δͷ ඇਪͰ͢
ΦεεϝͷGUIπʔϧ 27 mac windows Sequel Pro https://www.sequelpro.com/ MySQL Workbench https://www.mysql.com/jp/products/workbench/
GUIπʔϧͷઃఆ 28
GUIπʔϧ্͔ΒSQLจΛଧͭ͜ͱͰ͖·͢ 29
3-1. ࣮ફ1 ςʔϒϧ σʔλΛೖΕΔശΛ࡞ͬͯΈΑ͏ʂ 30
ώʔϩʔͱఢ͕ઓ͏RPGήʔϜΛ࡞ΔఆͰ ࣮ફͯ͠Έ·͠ΐ͏ʂ RPGͷઓಆγεςϜΛ࡞Δ͜ͱʹͳΓ·ͨ͠ 31
Question ͲΜͳදͰώʔϩʔͱఢΛදݱͰ͖Δ͔ ߟ͑ͯΈΑ͏ 32 ༷ ώʔϩʔͱఢ໊લͱHPͱ߈ܸྗΛ࣋ͪ·͢ɻ
Answerྫ 33 ໊લ HP ߈ܸྗ ΰϒϦϯ 20 20 εϥΠϜ 30
10 ຐԦͷ͍ 50 50 ໊લ HP ߈ܸྗ ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 ώʔϩʔͷද ఢͷද ༷ ώʔϩʔͱఢ໊લͱHPͱ߈ܸྗΛ࣋ͪ·͢ɻ
࣮ࡍʹσʔλϕʔεͲ͏ͳ͍ͬͯΔͷ͔ʁ 34 ໊લ HP ߈ܸྗ ΰϒϦϯ 20 20 εϥΠϜ 30
10 ຐԦͷ͍ 50 50 ໊લ HP ߈ܸྗ ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 ώʔϩʔςʔϒϧ ఢςʔϒϧ RPGσʔλϕʔε ϑΟʔϧυ (ྻɾΧϥϜ) Ϩίʔυ(ߦ)
ϑΟʔϧυͷܕ 35 ໊લ HP ߈ܸྗ ΰϒϦϯ 20 20 εϥΠϜ 30
10 ຐԦͷ͍ 50 50 ໊લ HP ߈ܸྗ ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 ֤ϑΟʔϧυʹͲΜͳ͕ೖΔ͔Λ ʮܕʯͰࢦఆ͠·͢ จࣈ จࣈ
ϑΟʔϧυͷܕ 36 ໊લ HP ߈ܸྗ ΰϒϦϯ 20 20 εϥΠϜ 30
10 ຐԦͷ͍ 50 50 ໊લ HP ߈ܸྗ ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 ֤ϑΟʔϧυʹͲΜͳ͕ೖΔ͔Λ ʮܕʯͰࢦఆ͠·͢ จࣈ จࣈ σʔλϕʔεʹఆ֎ͷ͕ೖΔͷΛ͙
ϑΟʔϧυͷܕ 37 ໊લ HP ߈ܸྗ ΰϒϦϯ 20 20 εϥΠϜ 30
10 ຐԦͷ͍ 50 50 ໊લ HP ߈ܸྗ ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 ֤ϑΟʔϧυʹͲΜͳ͕ೖΔ͔Λ ʮܕʯͰࢦఆ͠·͢ จࣈ จࣈ σʔλϕʔεʹఆ֎ͷ͕ೖΔͷΛ͙ σʔλྔΛఆͯ͠ശΛ༻ҙ͢Δ͜ͱͰແବΛݮΒ͢
ϑΟʔϧυͷܕ 38 ໊લ HP ߈ܸྗ ΰϒϦϯ 20 20 εϥΠϜ 30
10 ຐԦͷ͍ 50 50 ໊લ HP ߈ܸྗ ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 ֤ϑΟʔϧυʹͲΜͳ͕ೖΔ͔Λ ʮܕʯͰࢦఆ͠·͢ จࣈ INT VARCHAR จࣈྻ (࠷େจࣈ͋Γ) DATE දతͳʮܕʯ จࣈ
ϑΟʔϧυͷܕ 39 ໊લ HP ߈ܸྗ ΰϒϦϯ 20 20 εϥΠϜ 30
10 ຐԦͷ͍ 50 50 ໊લ HP ߈ܸྗ ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 ֤ϑΟʔϧυʹͲΜͳ͕ೖΔ͔Λ ʮܕʯͰࢦఆ͠·͢ int int int int varchar (50) INT VARCHAR จࣈྻ (࠷େจࣈ͋Γ) DATE දతͳʮܕʯ varchar (50)
Try ࣮ࡍʹDBΛ࡞ͬͯΈΑ͏ʂ 40 40 name(int) hp(int) power(int) ΰϒϦϯ 20 20
εϥΠϜ 30 10 ຐԦͷ͍ 50 50 name(varchar) hp(int) power(int) ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 heroes table enemies table db: rpg CREATE DATABASE rpg; USE rpg; CREATE TABLE heroes ( name VARCHAR(50), hp INT, power INT ); CREATE TABLE enemies ( name VARCHAR(50), hp INT, power INT );
3-2. ࣮ફ2 Ϩίʔυૢ࡞ SQLͰϨίʔυૢ࡞ͯ͠ΈΑ͏ʂ 41
ϨίʔυΛૢ࡞͢ΔSQLจɹʔɹՃʢINSERTʣ INSERT INTO ςʔϒϧ໊ ( ϑΟʔϧυ໊ ) VALUES ( ೖΕΔ
) name(varchar) hp(int) power(int) ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 heroes table ྫ
Try herosͱenemiesʹϨίʔυΛೖΕͯΈΑ ͏ʂ 43 43 name(int) hp(int) power(int) ΰϒϦϯ 20
20 εϥΠϜ 30 10 ຐԦͷ͍ 50 50 name(varchar) hp(int) power(int) ༐ऀ 100 20 ઓ࢜ 50 50 ૐཿ 200 10 heroes table enemies table db: rpg INSERT INTO ςʔϒϧ໊ ( ϑΟʔϧυ໊ ) VALUES ೖΕΔ
ϨίʔυΛૢ࡞͢ΔSQLจɹʔɹऔಘʢSELECTʣ SELECT औͬͯ͘ΔϑΟʔϧυ FROM ςʔϒϧ໊ WHERE औಘ݅ ྫ
ϨίʔυΛૢ࡞͢ΔSQLจɹʔɹऔಘʢSELECTʣ SELECT औͬͯ͘ΔϑΟʔϧυ FROM ςʔϒϧ໊ WHERE औಘ݅ ྫ ถҹʢ*ʣͰશͯऔͬͯ͘Δɻ ΧϯϚ۠Γʢ,ʣͰෳࢦఆɻ
ϨίʔυΛૢ࡞͢ΔSQLจɹʔɹऔಘʢSELECTʣ SELECT औͬͯ͘ΔϑΟʔϧυ FROM ςʔϒϧ໊ WHERE औಘ݅ ྫ ANDORͰ݅Λܨ͛Δ͜ͱͰෳࢦఆɻ
Try ৭ʑͳϨίʔυΛऔ͖ͬͯͯΈΑ͏ʂ 47 47 ɾheroesͷϨίʔυશͯ ɾhp͕25Ҏ্ͷenemiesͷname ɾhp͕25Ҏ্Ͱpower͕30ҎԼͷenemiesͷhpͱpower SELECT औͬͯ͘ΔϑΟʔϧυ FROM
ςʔϒϧ໊ WHERE औಘ݅
ϨίʔυΛૢ࡞͢ΔSQLจɹʔɹߋ৽ʢUPDATEʣ UPDATE ςʔϒϧ໊ SET WHERE มߋ͢ΔϨίʔυͷ݅ ྫ
Try ৭ʑͳϨίʔυΛมߋͯ͠ΈΑ͏ʂ 49 49 ɾ໊લ͕ʮ༐ऀʯͷheroesͷpowerΛ100ʹ͢Δ ɾશͯͷheroesͷpowerͱhpΛ20ʹ͢Δ UPDATE ςʔϒϧ໊ SET
WHERE มߋ͢ΔϨίʔυͷ݅
ϨίʔυΛૢ࡞͢ΔSQLจɹʔɹআʢDELETEʣ DELETE FROM ςʔϒϧ໊ WHERE আ͢ΔϨίʔυͷ݅ ྫ
Try ৭ʑͳϨίʔυΛআͯ͠ΈΑ͏ʂ 51 51 ɾ໊લ͕ʮ༐ऀʯ͔ʮૐཿʯͷϨίʔυΛheroes͔Βআ͢Δ ɾhp͕20Ͱpower͕20ͷϨίʔυΛenemies͔Βআ͢Δ DELETE FROM ςʔϒϧ໊ WHERE
আ͢ΔϨίʔυͷ݅
3-3. ࣮ફ3 ϦϨʔγϣϯ දͱදͷؔੑΛදݱͯ͠ΈΑ͏ʂ 52
Question Ͳ͏ͬͨΒ࣮ݱͰ͖Δ͔૾ͯ͠ΈΑ͏ 53 ༷ ༐ऀثΛ1ͭඋͰ͖ΔΑ͏ʹ͍ͨ͠Ͱ͢ɻ ث໊લͱ߈ܸྗΛ࣋ͪ·͢ɻ ʮ͘ͳ͍ʯ߈ܸྗ͕2Ͱ͢ɻ ʮΓʯ߈ܸྗ͕5Ͱ͢ɻ
54 ༷ ༐ऀثΛ1ͭඋͰ͖ΔΑ͏ʹ͍ͨ͠Ͱ͢ɻ ث໊લͱ߈ܸྗΛ࣋ͪ·͢ɻ ʮ͘ͳ͍ʯ߈ܸྗ͕2Ͱ͢ɻ ʮΓʯ߈ܸྗ͕5Ͱ͢ɻ 54 name(varchar) hp(int) power(int)
weapon_name weapon_power ༐ऀ 100 20 Γ 5 ઓ࢜ 50 50 Γ 5 ૐཿ 200 10 ͘ͳ͍ 2 heroes table
55 ༷ ༐ऀثΛ1ͭඋͰ͖ΔΑ͏ʹ͍ͨ͠Ͱ͢ɻ ث໊લͱ߈ܸྗΛ࣋ͪ·͢ɻ ʮ͘ͳ͍ʯ߈ܸྗ͕2Ͱ͢ɻ ʮΓʯ߈ܸྗ͕5Ͱ͢ɻ 55 name(varchar) hp(int) power(int)
weapon_name weapon_power ༐ऀ 100 20 Γ 5 ઓ࢜ 50 50 Γ 5 ૐཿ 200 10 ͘ͳ͍ 2 heroes table ಉ͡ʮ༰ʯ͕ॏෳͯ͠͠·͍ σʔλͷແବ͕ଟ͍ʂ
56 ༷ ༐ऀثΛ1ͭඋͰ͖ΔΑ͏ʹ͍ͨ͠Ͱ͢ɻ ث໊લͱ߈ܸྗΛ࣋ͪ·͢ɻ ʮ͘ͳ͍ʯ߈ܸྗ͕2Ͱ͢ɻ ʮΓʯ߈ܸྗ͕10Ͱ͢ɻ 56 name(varchar) hp(int) power(int)
weapon_name weapon_power ༐ऀ 100 20 Γ 5 ઓ࢜ 50 50 Γ 5 ૐཿ 200 10 ͘ͳ͍ 2 heroes table ༷มߋ͓ئ͍͠·ʔ͢
57 ༷ ༐ऀثΛ1ͭඋͰ͖ΔΑ͏ʹ͍ͨ͠Ͱ͢ɻ ث໊લͱ߈ܸྗΛ࣋ͪ·͢ɻ ʮ͘ͳ͍ʯ߈ܸྗ͕2Ͱ͢ɻ ʮΓʯ߈ܸྗ͕10Ͱ͢ɻ 57 name(varchar) hp(int) power(int)
weapon_name weapon_power ༐ऀ 100 20 Γ 5 ઓ࢜ 50 50 Γ 10 ૐཿ 200 10 ͘ͳ͍ 2 heroes table ༷มߋ͓ئ͍͠·ʔ͢ 1Օॴߋ৽࿙ΕͪΌͬͨʂ
58 ༷ ༐ऀثΛ1ͭඋͰ͖ΔΑ͏ʹ͍ͨ͠Ͱ͢ɻ ث໊લͱ߈ܸྗΛ࣋ͪ·͢ɻ ʮ͘ͳ͍ʯ߈ܸྗ͕2Ͱ͢ɻ ʮΓʯ߈ܸྗ͕10Ͱ͢ɻ 58 name(varchar) hp(int) power(int)
weapon_name weapon_power ༐ऀ 100 20 Γ 5 ઓ࢜ 50 50 Γ 10 ૐཿ 200 10 ͘ͳ͍ 2 heroes table ༷มߋ͓ئ͍͠·ʔ͢ 1Օॴߋ৽࿙ΕͪΌͬͨʂ σʔλͷॏෳ͕͋Δͱ ӡ༻্৭ʑͱʮπϥ͍ʯͰ͢...
ਖ਼نԽͱʁ 59 σʔλͷॏෳΛͳͨ͘͢Ίͷ ςʔϒϧઃܭͷߟ͑ํ name(varchar) hp(int) power(int) weapon_name weapon_power ༐ऀ
100 20 Γ 5 ઓ࢜ 50 50 Γ 5 ૐཿ 200 10 ͘ͳ͍ 2 heroes table
ਖ਼نԽͱʁ 60 σʔλͷॏෳΛͳͨ͘͢Ίͷ ςʔϒϧઃܭͷߟ͑ํ name(varchar) hp(int) power(int) ༐ऀ 100 20
ઓ࢜ 50 50 ૐཿ 200 10 heroes table name(varchar) power(int) ͘ͳ͍ 2 Γ 5 weapons table ͬͯ
Question Ͳ͏ͬͨΒςʔϒϧΛܨ͛ΒΕΔ͔ গ͠ߟ͑ͯΈΑ͏ 61 name(varchar) hp(int) power(int) ༐ऀ 100 20
ઓ࢜ 50 50 ૐཿ 200 10 heroes table name(varchar) power(int) ͘ͳ͍ 2 Γ 5 weapons table ܨ͛Δ
ςʔϒϧͱςʔϒϧͷܨ͛ํ 62 name(varchar) hp(int) power(int) weapon_id ༐ऀ 100 20 2
ઓ࢜ 50 50 2 ૐཿ 200 10 1 heroes table Id (int) name(varch ar) power(int) 1 ͘ͳ͍ 2 2 Γ 5 weapons table Primary Key (id) Ͱࢦఆ͢Δ͜ͱͰ ςʔϒϧͱςʔϒϧͷؔੑΛද͢
Primary Keyͱʁ 63 ϨίʔυΛಛఆ͢ΔͨΊͷϑΟʔϧυ Id (int) name(varch ar) power(int) 1
͘ͳ͍ 2 2 Γ 5 weapons table
64 name(varchar) hp(int) power(int) power ༐ऀ 100 20 5 ઓ࢜
50 50 5 ૐཿ 200 10 2 heroes table name(varch ar) power(int) ͘ͳ͍ 2 Γ 5 weapons table ͠idͰͳ͘powerͰܨ͛Α͏ͱͨ͠Βʁ ϨίʔυΛಛఆ͢ΔͨΊͷϑΟʔϧυ Primary Keyͱʁ
Question ߟ͑ͯΈΑ͏ 65 ࠓhero1ͭͷث͔͠උ͢Δ͜ͱ͕Ͱ͖·ͤΜɻ ෳͷثΛඋͰ͖ΔΑ͏ʹ͢ΔʹͲ͏͢Εྑ͍Ͱ͠ΐ͏͔ʁ name(varchar) hp(int) power(int) weapon_id ༐ऀ
100 20 2 ઓ࢜ 50 50 2 ૐཿ 200 10 1 heroes table Id (int) name(varch ar) power(int) 1 ͘ͳ͍ 2 2 Γ 5 weapons table
1ର1ɹ1ରଟɹଟରଟ 66 name(varchar) hp(int) power(int) weapon_id ༐ऀ 100 20 2
ઓ࢜ 50 50 2 ૐཿ 200 10 1 heroes table Id (int) name(varch ar) power(int) 1 ͘ͳ͍ 2 2 Γ 5 weapons table දͱදͷؔੑΛͰݟͯΈ·͠ΐ͏ heroes͔ΒݟΔͱɺweapon1ͭ weapons͔ΒݟΔͱɺherosෳ
1ର1ɹ1ରଟɹଟରଟ 67 id name(varch ar) hp(int) power(int) 1 ༐ऀ 100
20 2 ઓ࢜ 50 50 3 ૐཿ 200 10 heroes table Id (int) name(varch ar) power(int) 1 ͘ͳ͍ 2 2 Γ 5 weapons table දͱදͷؔੑΛͰݟͯΈ·͠ΐ͏ equip table hero_id weapon_id 1 1 1 2 3 1
Question ςʔϒϧΛઃܭͯ͠ΈΑ͏ʂ 68 ώʔϩʔͦΕͧΕΞΠςϜΛෳݸ࣋ͭ͜ͱ͕Ͱ͖·͢ɻ ΞΠςϜʮ໊લʯͱʮઆ໌จʯ͕͋Γ·͢ɻ
Question ςʔϒϧΛઃܭͯ͠ΈΑ͏ʂ 69 ੜె1ਓ1ͭͷҕһձʹೖ͍ͬͯ·͢ɻ 1ͭͷҕһձʹෳͷੜె͕ॴଐ͍ͯ͠Δ߹͋Γ·͢ɻ ੜెʮ໊લʯͱʮྸʯɺҕһձʹʮ໊લʯ͕͋Γ·͢ɻ
Thanks! Any questions? You can find me at: @dorarep @noseld
70