๐๋กค ์ ์ ๊ฒ์ ์ฌ์ดํธ ๋ง๋ค๊ธฐ(4) - DB ๊ตฌ์ถํ๊ธฐ
- โ Riot API๋ฅผ ์ธ์ฆ
- โXMLHttpRequest์ ์ด์ฉํด์ Riot API ๋ฐ์ดํฐ ํ์ฑ
- โExpress๋ฅผ ์ด์ฉํด์ Front์ ๋ฐ์ดํฐ ๋๊ธฐ๊ธฐ
- ๐DB์ค๊ณ ๋ฐ ๊ตฌ์ถ
- ๋ด๋ชจํผ์ฆ์ ์ด์ฉํ์ฌ ์ฌ์ดํธ ๊พธ๋ฏธ๊ธฐ
ERD ์ค๊ณ
DB๋ฅผ ์ ์ํ๊ธฐ ์์ ERD๋ก ์ค๊ณ๋๋ฅผ ๋ง๋ค๊ธฐ๋ก ํ์๋ค.
์ด๊ฒ์ ๋ด๊ฐ ๋ง๋ ERD์ด๋ค
์๋ ์ฌ์ดํธ ๊ท๋ชจ๊ฐ ์๊ธฐ๋๋ฌธ์ ํ
์ด๋ธ๊ณ์๊ฐ ์ ์ง๋ง ํ๋ช
์ ์ ์ ๊ฐ ์ฌ๋ฌ๊ฐ์ ๊ฒ์์ ์ ์ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๊ด๋ฆฌํด์ผํ๋์ง ๊ณจ๋จธ๋ฆฌ๋ฅผ ์ฉํ๋ค
๊ฒฐ๊ตญ์๋ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ฐ๊ฐํ
์ด๋ธ์ pk๋ฅผ ์ฐธ์กฐํ๋ ๋ฐ์ดํฐ๋ง ์๋ ํ
์ด๋ธ์ ๋ง๋ค์ด Join๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด์ค๊ธฐ๋ก ํ์๋ค.
์ฝ๋ ์์ ํ๊ธฐ
connection.query(`SELECT *
FROM summonertbl AS J_summonertbl
JOIN matchtbl AS J_match
ON J_summonertbl.summonerID = J_match.summonerID
WHERE J_summonertbl.summonerName = ?
ORDER BY J_match.matchID DESC`,queryData.id,function(err,summonerSelect,fields){
...
if(summonerSelect[0] === undefined){
console.log('DB์ ๊ฐ ์์ INSERT ๋ฌธ ์คํ');
...
}else if(summonerSelect[0].timestamp < new Date().getTime()){
console.log('DB์ ๊ฐ์ ์์ง๋ง ์ ์ฅ๋ timestamp๊ฐ ์ต์ ๊ฐ์ด ์๋๋');
let matchURL_Key ="https://asia.api.riotgames.com/lol/match/v5/matches/by-puuid/"
+NameObject.puuid+"/ids
?startTime="+summonerSelect[0].timestamp
+"&start=0&count=5&api_key=APIKEY";
console.log('์ต์ ๋ฐ์ดํฐ๋ง API๋ก ํธ์ถ');
ํ ์ด๋ธ์ ๊ฒ์ํ ์ ์ ID๊ฐ ์๋์ง ์ฒดํฌํ๊ณ ๊ฐ์ด ์์ผ๋ฉด ๊ทธ๋๋ถํฐ ๊ฐ์ Insertํ๋ ๋ฐฉ์์ผ๋ก ์ฝ๋ฉํ๊ธฐ๋ก ํ์๋ค.
๋ง์ฝ ๊ฐ์ด์๋๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์ ์ํค๊ธฐ์ํด DB์ ์ ์ฅ๋ timestamp๋ฅผ ๊ธฐ์ค์ผ๋ก timestamp์ดํ์ ๋ฐ์ดํฐ๋ง API๋ก ๊ธ์ด์ค๋๋ก ํ์๋ค.
๊ฐ์ด ์์๋ Insertํ๋ ค๋ฉด api๋ฅผ ํธ์ถํ๊ธฐ๋๋ฌธ์ ์ฌ์ ํ ์๋๊ฐ ๋๋ฆฌ์ง๋ง
๊ฐ์ด ํ๋ฒ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ๋๋ ์๋นํ ์๋๊ฐ ๋จ์ถ๋์๋ค๋ ๊ฒ์ ์ ์ ์์๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐๋กค ์ ์ ๊ฒ์ ์ฌ์ดํธ ๋ง๋ค๊ธฐ(4) - DB ๊ตฌ์ถํ๊ธฐ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@junseok816/๋กค-์ ์ ๊ฒ์-์ฌ์ดํธ-๋ง๋ค๊ธฐ5-DB-๊ตฌ์ถ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค