DNET_AdvancedAMDatabase - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- æ»ãïŒé«åºŠåå - æè¡èŠçŽ ïŒ
æè¡èŠçŽ - ããŒã¿ããŒã¹ïŒé«åºŠïŒååâ ãååâ ¡ïŒ
- ããŒã¿ããŒã¹ â RDBMS
- äžéšãDWHããNoSQLãããã°ããŒã¿ç³»ãå«ãŸããã
-
ãã¡ã€ã«æ§æãã€ã³ããã¯ã¹ã®ç·šæãªã©ã
-
Bæšã€ã³ããã¯ã¹æ§é
-
ã«ãŒãããŒãã¯
- 1âŠiâŠ2k ã¬ã³ãŒã
- 2k+1 æ
-
ã«ãŒãããŒã以å€ã¯ 0âŠiâŠ2k ã¬ã³ãŒã
- kâŠiâŠ2k ã¬ã³ãŒã
- 2k+1 æ
-
-
B+æšã€ã³ããã¯ã¹æ§é
å šãŠã®ã¬ã³ãŒãã¯èããŒãã«æ ŒçŽããã
å éšããŒãã«ã¯ããŒã®ã¿ãæ ŒçŽãããã
-
察象äžçãã¢ãã«åãããERå³
-
çšèª
-
匱å®äœ(weak entity)
ON DELETE CASCADEã®åãšã³ãã£ã㣠-
颿°åŸå±
-
| # | åŸ | 説æ |
|---|---|---|
| 1 | åå°åŸ | {X, Y} â X |
| 2 | å¢å åŸ | X â Y ãªã {X, Z} â {Y, Z} |
| 3 | æšç§»åŸ | X â Y and Y â Z ãªã X â Z |
| 4 | åäœµåŸ | X â Y and X â Z ãªã X â {Y, Z} |
| 5 | åè§£åŸ | X â {Y, Z} ãªã X â Y and X â Z |
-
åè£ããŒ
è¡ãäžæã«ç¹å®ã§ãã屿§ or åé·æ§ã®ç¡ã屿§ã®çµ -
ãã¯ããã¯çãª
- PKã«äŸåãªã¬ãŒã·ã§ã³ã·ãããè¶³ããªããšéè€ç»é²ã§ããªãã¿ãããªã
-
ãã¥ãŒãªã©ã
- ãµãã¹ããŒããšãããã
- nåã®å°åœ±ã®çµåãã¯ã2^n
-
ãã¥ãŒã®ç®ç
- è«çããŒã¿ç¬ç«æ§ã®æ ä¿
- ããŒã¿ã®ä¿è·
-
å€å¯Ÿå€ã®ïŒã€ã®ãšã³ãã£ãã£éã«æ¿å ¥ããããšã³ãã£ãã£
-
ïŒã€ã®ãšã³ãã£ãã£ã®äž»ããŒãè¶³ããäž»ããŒãæã€ã
-
以äžã®æ§ã«é¢é£ã«"*"ãéãŸãæãã«ãªãã
ïŒïŒ¡ïŒ1 ---- *ïŒé¢é£ïŒ* ---- 1ïŒïŒ¢ïŒ
-
åé¡
- {A, B} â C
- {B, C} â D
- D â {A, E}
-
åæ
æšç§»é¢æ°åŸå±ãé€ããŠã«ãŒãã蟿ã£ãŠåè£ããŒãèŠã€ããã-
颿°åŸå±ãã«ãŒãããŠããªãæã¯é£ãããªãã
-
颿°åŸå±ãã«ãŒãããŠããæã¯åè£ãå¢ããæãã
- èµ·ç¹ã«ã§ãã屿§ or åé·æ§ã®ç¡ã屿§ã®çµãåè£ããŒã«ãªãã
- çµã¿åããã®éžå®ãé£ããæãããâã®äŸã§ã¯ã{B, D} â C
- 颿°åŸå±ã®XXXåŸã䜿çšããŠåè£ããŒãèŠã€ãã
æ¹æ³ãããããã ãè§£æ³ã«èŠåæ§ãç¡ãã®ã§é£ããã
-
å³ç€º
{{âAâ, B} â C} â D âEâââââââââ
-
-
鿣èŠåœ¢
- ç¹°ãè¿ãé ç®ãæã€
- å°åºé ç®ïŒç®åºã§ããå€ïŒãæã€
-
第1æ£èŠåœ¢
- ç¹°ãè¿ãé ç®ãæããªã
- å°åºé ç®ïŒç®åºã§ããå€ïŒãæããªã
-
第2æ£èŠåœ¢
- 第1æ£èŠåœ¢ãæºãããŠãã
- äž»ããŒã«å¯ŸããŠãã¹ãŠã®éããŒå±æ§ãå®å šé¢æ°åŸå±ïŒâéšå颿°åŸå±ããªãç¶æ ïŒ
-
第3æ£èŠåœ¢
- 第2æ£èŠåœ¢ãæºãããŠãã
- ã©ã®åè£ããŒã«å¯ŸããŠãéããŒå±æ§ã®æšç§»ç颿°åŸå±æ§ãæé€ãããŠããã
DDL
- CREATE TABLE
â 颿°åŸå±ã»åè£ããŒã®åé¡
ïŒãªã®ã§ãuniqueã ããäž»ããŒã«å«ãã¿ããšãèšã倿ã¯ãã¡ïŒ
DDL
-
n段ã®Bæšã€ã³ããã¯ã¹ã®æå€§ã¬ã³ãŒãæ°
- n = 2段ãK=1ã§èšç®ãããšã
-
1æ®µç® : 2k = 2
-
2æ®µç® : 2k * (2k+1) = 6
-
åèš : 2 + 6 = 8
-
é©åããåŒ
以äžã¯ãçæ¯æ°åã®åã®å ¬åŒã«
åé a=2k, å ¬æ¯ r=2k+1 é æ° n ãä»£å ¥ãããã®ã= (( 2k + 1 ) ^ n) - 1
-
- n = 2段ãK=1ã§èšç®ãããšã
-
Xã¬ã³ãŒãã®B+æšã€ã³ããã¯ã¹ã®ã¢ã¯ã»ã¹åæ°
-
åæ
- 次æ°ïŒèŸºã®æ°ïŒ k
- æ·±ãïŒã«ãŒãããæ«ç«¯ã«è³ã段æ°ïŒ h
-
æå€§ã¬ã³ãŒãæ°ã¯ãk^h
-
ã¢ã¯ã»ã¹åæ°ã¯ãh = log kX
-
DDL/DML
- å¶çŽã§çŠæ¢ããåŸãæäœ
- å€éšåç
§
- ãã¹ã¿åŽã«ç¡ãããŒã¿ããã©ã³ã¶ã¯ã·ã§ã³åŽã«æ¿å ¥
- ãã©ã³ã¶ã¯ã·ã§ã³åŽã«ããããŒã¿ããã¹ã¿åŽããåé€
- å€éšåç
§
DML
-
3å€è«çãæ¡çšããŠããã
- true
- false
- unknown
-
3å€è«çã®è«çæŒç®
-
OR
- false < unknown < true
- trueãïŒã€ã§ããã£ããtrue
- unknownã¯ãtrueãfalseãååšããªãæã«èæ ®ã
-
AND
- true < unknown < false
- ORã®éã§falseãïŒã€ã§ããã£ããfalse
- unknownã¯ãtrueãfalseãååšããªãæã«èæ ®ã
-
NOT
!unknown == unknown
-
DML
-
å°åœ±ïŒprojectionïŒ
SELECT DISTINCT ã§ã®åæå® -
éžæïŒselectionïŒ
SELECTã®WHERE -
çµåïŒjoinïŒ
-
çŽç©ïŒCROSS JOINïŒïŒéžæ
SELECTã®FROMã«è€æ°ã®ããŒãã«ãæå®ããWHEREã«çµåæ¡ä»¶ãæå®ã -
å éšçµå(INNER JOIN)
SELECTã®INNER JOINã«ãçµåããŒãã«ãONã«çµåæ¡ä»¶ãæå®ã -
å€éšçµå(OUTER JOIN)
SELECTã®OUTER JOINã«ãçµåããŒãã«ãONã«çµåæ¡ä»¶ãæå®ã
ïŒçµåãåºæ¥ãªãã£ãåãæ®ããLEFTãRIGHTã§æ®ãåãéžæå¯èœã
LEFT OUTER JOINãäžè¬çã§ãäž»åãåããã®ããŒãã«ã®åãæ®ããïŒ
-
-
åïŒdivisionïŒ
å²ãããåŽã®é¢ä¿ïŒè¡šïŒã®äžããå²ãåŽã®å€ã®çµã¿åãããå«ãçµïŒè¡ïŒãæœåºãã
éè€ããçµïŒè¡ïŒãšå²ãåŽã«å«ãŸãã屿§ãåãé€ãããã®ãæ±ããã
RDBMSã«åãå®è¡ããå¥ã¯ç¡ãã®ã§ãä»ã®æ¹æ³ã§ä»£æ¿ããŠå®è¡ãããããã
DML
éåæŒç®ã¯çŽç©ãé€ããŠãåé©åâåäž¡ç«ïŒunion-compatibilityïŒãå¿ èŠã
-
åïŒéåïŒ
éåã®ããããå°ãªããšãäžã€ã«å«ãŸããŠãããããªèŠçŽ ãå šãŠéãã
ããšã«ããåŸãããéåïŒãæ±ããæŒç®ã§RDBMSã§ã¯UNIONãUNION ALLã䜿ããïŒã -
å·®ïŒéåïŒ
ããéåã®äžããå¥ã®éåã«å±ããèŠçŽ ãåãå»ã£ãŠ
åŸãããéåïŒãæ±ããæŒç®ã§RDBMSã§ã¯EXCEPTãMINUSã䜿ããïŒ -
ç©ïŒéåïŒ
亀åãšãèšãå ±ééšåïŒãæ±ããæŒç®ã§RDBMSã§ã¯INTERSECTã䜿ããïŒã -
çŽç©ïŒéåïŒ
- ïŒå šãã¢ã¿ãããªïŒå šçµåãïŒãæ±ããæŒç®ã§RDBMSã§ã¯CROSS JOINã䜿ããïŒã
- ç©éåãšèšããšã³ãã©ãæå³ããã±ãŒã¹ãå€ãã®ã§åè¿°ã®ç©éåã¯å ±ééšåãšåŒã¶ã±ãŒã¹ãå€ããããã
â» å ±ééšå (Râ©S) ã¯ãå·® (R-(R-S)) ã§è¡šçŸã§ãããšããåé¡ãåºããããã
DML
-
å¯ååã
- å¯ååããè¡ã£ãåŸã«ãäž»åãåããã§å¯ååãçµæãæ¡ä»¶ã«äœ¿ãã
- WHERE IN (å¯åãåãã)
-
çžé¢å¯ååã
- äž»ååããè¡ã£ãåŸã«ãå¯åãåããã§äž»ååãçµæãæ¡ä»¶ã«äœ¿ãã
- WHERE EXISTS(ãŸãã¯NOT EXISTS) (å¯åãåãã)
â» å¯ååãã¯çžé¢å¯ååãã§æžãçŽãããããã䜿ã£ãåé¡ãåºããããã
DML
-
颿°
- AVG
- SUM
- , etc.
-
GROUP BY ã§
- éèšå¯Ÿè±¡ã®ããŒã¿åãæå®ããããŸãã¯è¡šç€ºã«å«ãããããŒã¿åãæå®ããã
- 衚瀺ã«å«ãããããŒã¿åãäžæã§ãªããšãã°ã«ãŒããå€ãããæå³ããçµæã«ãªããªãããšãããã
-
HAVING ã§
éèšçµæã¬ã³ãŒããæã£ãŠããããŒã¿å€ããã§ãã¯ããŠãéèšçµæããã¬ã³ãŒããçãã
DCL
-
GRANT æš©é ON ãªããžã§ã¯ã TO ãŠãŒã¶ïŒã°ã«ãŒãïŒ
-
WITH GRANT OPTION
ä»äžæš©ãä»äžããã
ãã¹ãåã«ãŒãçµåïŒIPAçã«ã¯ãå ¥ãåããŒãæ³ïŒã®èšç®éãåãåé¡ãåºãã
-
nãã¿ãã«ïŒã¿ãã«ã¯åïŒã®å ŽåãO(n^2)ãšãªãã
- Oã¯ãªãŒããŒæ³
- 2éã«ãŒããªã®ã§2ä¹
-
åè
- èšç®éãªãŒããŒã«ã€ã㊠- Qiita
https://qiita.com/asksaito/items/59e0d48408f1eab081b5 - SQL Server çµåæ¹åŒã®åé¡ãç£èŠãã - ãã€ã¯ããœããç³»æè¡æ å ± Wiki
- èšç®éãªãŒããŒã«ã€ã㊠- Qiita
ACIDãšã¯ãä¿¡é Œæ§ã®ãããã©ã³ã¶ã¯ã·ã§ã³ã·ã¹ãã ã®æã€ã¹ãæ§è³ª
- ååæ§ïŒatomicityïŒ
- äžè²«æ§ïŒconsistencyïŒ
- ç¬ç«æ§ïŒisolationïŒ
- æ°žç¶æ§ïŒdurabilityïŒ
-
ã³ã³ãã¥ãŒã¿å ã§å®è¡ãããã
åããããšã®ã§ããªãäžé£ã®æ å ±åŠçã®äžåäœ
-
åæå®è¡ã«ãããïŒã€ã®åé¡
-
ããã¯ã®äºææ§
-
ãããããã¯
-
, etc.
ãããã¯ãŒã¯ãããã»ã¹ééä¿¡ãè¡ããªãã®ã§é«éã
-
ééæ§
å©çšè ã«XXXXãæèãããªãçãªã-
äœçœ®ééæ§
é 眮äœçœ®ãæèãããªãã -
ç§»åééæ§
ç§»åæã®åœ±é¿ãæèãããªãã -
è€è£œééæ§
è€è£œé 眮ãæèãããªãã -
åå²ééæ§
åå²é 眮ãæèãããªãã -
ããŒã¿ã¢ãã«ééæ§
RDBMSã®éããæèãããªãã -
é害ééæ§
é害ãæèãããªãâåé·åæè¡ãšæãããã
-
-
2ãã§ãŒãºã»ã³ããã
ãã©ã³ã¶ã¯ã·ã§ã³ã®ã³ãããåŠçã 2 段éã®ãã§ãŒãºã«ãããã- 第 1 ãã§ãŒãºïŒåDBã«å¯ŸããŠã³ãããã§ããç¶æ ã§ãããã©ããã確èªããã
- 第 2 ãã§ãŒãºïŒåDBã«å¯ŸããŠã³ããããããŒã«ããã¯ãã®æ±ºå®ãè¡ãã
-
é害çºçæã§ãACIDç¹æ§ãä¿éããããã®æäœå±¥æŽ
-
ãã°å è¡æžã蟌ã¿ïŒWAL : Write Ahead LogïŒãããã³ã«
- ãã©ã³ã¶ã¯ã·ã§ã³ããã°ãå®å®èšæ¶(ãã£ã¹ã¯)ã«æžãåºãã¿ã€ãã³ã°ã«ã€ããŠã®åãæ±ºã
- ãã¡ã€ã«ã·ã¹ãã ã®åéã§ã¯ããã°å è¡æžã蟌ã¿ã®ããšããžã£ãŒããªã³ã°ãšåŒã¶ã
-
埩æ§ã¢ãã«
- å®å šããã¯ã¢ãã
- å·®åããã¯ã¢ãã
- å¢åããã¯ã¢ãã â ãã©ã³ã¶ã¯ã·ã§ã³ ãã° ããã¯ã¢ãã
-
ãã©ã³ã¶ã¯ã·ã§ã³ ãã°
- ãã§ã㯠ãã€ã³ã
- ããŒã«ããã¯ã»ããŒã«ãã©ã¯ãŒã
-
以äžã®ãã®ãããã
- ã¯ã©ã¹ã¿ãªã³ã°
- ãã©ãŒãªã³ã°
- ã¬ããªã±ãŒã·ã§ã³
-
RDBMSã«ãã£ãŠç°ãªããã
IPAå®çŸ©ã§ã¯ä»¥äžã®æ§ã«ãªã£ãŠããã-
ã¯ã©ã¹ã¿ãªã³ã°
å¯çšæ§ã»æ§èœåäžæè¡ -
ãã©ãŒãªã³ã°
ã¬ããªã±ãŒã·ã§ã³çæè¡ã䜵çšããå¯çšæ§ã»æ§èœåäžæè¡ -
ã¬ããªã±ãŒã·ã§ã³
èªåå°çšã®ã¹ã¬ãŒããäœæããæ§èœåäžæè¡ã
ïŒãã©ãŒãªã³ã°ããé å»¶ã倧ããçãªèª¬æïŒ
-
-
尺床ãšããŠä»¥äžãçšãã
ïŒè©³ããã¯ããŒã¿ãã€ãã³ã°ïŒDMïŒ- CRISP-DMã®è©²åœç¯ãåç §ïŒã-
åçŸç recall
- = æ€çŽ¢ãããé©åããŒã¿ / èç©ãããŠããé©åããŒã¿
- æ£è§£ããŒã¿ããã©ã®çšåºŠãæ€çŽ¢çµæã»ããã«ããããããã瀺ãã
-
é©åç precisionïŒç²ŸåºŠïŒ
- = æ€çŽ¢ãããé©åããŒã¿ / æ€çŽ¢ã«ãã衚瀺ãããããŒã¿
- æ€çŽ¢çµæã»ããäžã«ã©ã®çšåºŠãæ£è§£ããŒã¿ãå«ãŸãããã瀺ãã
-
Få€ = ïŒ2Ãé©åçÃåçŸçïŒ/ïŒé©åçïŒåçŸçïŒ
-
-
äžè¬ã«ã
- åçŸçã®é«ãã·ã¹ãã ã¯é©åçãäœãïŒã¬ãã¬ãéãïŒ
- ãã®éã«ãé©åçãé«ãã·ã¹ãã ã¯åçŸçãäœãïŒçµãéãïŒ
åŸåã«ããã
ç§»è¡ã¡ã¢
&color(red){DISTINCT};ã«ãã匷調ã¯å€ªåã«ããã- å Wiki ã§ã¯ãå¶çŽãšæäœããšãé¢ä¿æŒç®ãã® 2 ã€ã®èŠåºãã åäžã®ã¢ã³ã«ïŒ
#b2b075d7ïŒãæã£ãŠãããã GitHub Wiki ã§ã¯èŠåºãããå¥ã ã®ã¢ã³ã«ãçæãããã- å Wiki ã®è¡é 空çœã«ããå³ã»åŒã¯ããã§ã³ã¹ä»ãã³ãŒããããã¯ã«ããã
- å Wiki ã§èŠåºããã®ãã®ãä»ããŒãžãžã®ãªã³ã¯ã«ãªã£ãŠããç®æ ïŒãããã¯ã»åé¢ã¬ãã«ããé害埩æ§ãïŒã¯ã GitHub Wiki ã§ã¯èŠåºãããã¢ã³ã«ãçæãããããã èŠåºãããã¬ãŒã³ã»ããã¹ããšãããªã³ã¯ã¯çŽäžã®æ¬æã«çœ®ããã
- ãã€ã¯ããœããç³»æè¡æ å ± WikiïŒtechinfoofmicrosofttech.osscons.jpïŒãžã® URL ãªã³ã¯ã¯ãç§»è¡æžã¿ã® SQL Server çµåæ¹åŒã®åé¡ãç£èŠãã / DBMSã®ããã¯ã»å颿Šç¥ãšåæå®è¡å¶åŸ¡ / SQL Server ã®éå®³åŸ©æ§ ã«åŒµãæ¿ããã
- PukiWiki ã®ããŒãžå ã¢ã³ã«ïŒ
#xxxxxxxxïŒã¯ GitHub Wiki ã§ã¯åçŸã§ããªãããã åäžããŒãžå ã®ã¢ã³ã«ã¯èŠåºãããçæãããã¢ã³ã«ã«åŒµãæ¿ãã ä»ããŒãžã®ã¢ã³ã«ãæããªã³ã¯ã¯ããïŒããŒãžåã®è©²åœç¯ãåç §ïŒãã®åœ¢ã«çœ®ãæããã
Tags: ç§»è¡, è³æ Œ, é«åºŠåå, æè¡èŠçŽ , ããŒã¿ããŒã¹, RDBMS, 3å±€ã¹ããŒã, Bæš, 颿°åŸå±, æ£èŠåœ¢, DDL, DML, DCL, é¢ä¿æŒç®, éåæŒç®, ACID, ãã©ã³ã¶ã¯ã·ã§ã³, 忣DB, 2ãã§ãŒãºã»ã³ããã, é害埩æ§, åçŸç, é©åç