11.1 è¡šã®äœæãšåé€
ããŒã¿ããŒã¹ãªããžã§ã¯ãâŠè¡šããã¥ãŒã玢åŒãªã©ã®ããŒã¿æ§é ãæ ŒçŽã§ãããã®ã®ç·ç§°ãåã«ãªããžã§ã¯ããšãšãã
ã¹ããŒã
ããŒã¿ããŒã¹ãªããžã§ã¯ãã管çããããã«äœ¿çšããããè«ççãªæŠå¿µãã®ããšãOracleãµãŒãã®åãŠãŒã¶ãŒã¯ãŠãŒã¶ãŒåãšåãååã®ã¹ããŒããïŒã€ææããŠãããåãŠãŒã¶ãŒãäœæãããªããžã§ã¯ãã¯ãã®ãŠãŒã¶ãŒãææããã¹ããŒãã«æ ŒçŽãããã
ã¹ããŒãã¯ããŠãŒã¶ãŒãææãããªããžã§ã¯ãã®ãªã¹ããã§ããã
ãã ãããããŸã§ãã¹ããŒãã¯è«ççãªæŠå¿µã§ãããå®éã«é åãå²ãåœãŠãããããã§ã¯ãªãã
Â
å¥ã®ãŠãŒã¶ãŒãææãããªããžã§ã¯ããåç §ããæ¹æ³
èªèº«ãææããã¹ããŒã以å€ã®ã¹ããŒãå ã®ãªããžã§ã¯ããåç §ããå Žåããªããžã§ã¯ãåã«æ¥é èŸïŒã¹ããŒãåïŒãã€ããŠæå®ãã
ã¹ããŒãå.ãªããžã§ã¯ãå
Â
ãªããžã§ã¯ãã®åœåèŠå
ã»é·ã30ãã€ã以äž
ã»å é ã®æåã¯æ°åãèšå·ä»¥å€ã®æå
ã»äœ¿çšã§ããæåã¯è±æ°åã挢åãã«ã¿ã«ããã²ãããªïŒæ¥æ¬èªç°å¢ã®ã°ããïŒ
ã»äœ¿çšã§ããèšå·ã¯ãã_ãã$ãã#ãã®ã¿
ã»åäžã¹ããŒãå ã§éè€ããååã¯æå®ã§ããªã
ã»OracleãµãŒãã®äºçŽèªã¯äœ¿çšã§ããªã
ã»ã¢ã«ãã¡ãããã®å€§æåå°æåã¯åºå¥ãããªã
Â
è¡šã®äœæ
CREATE TABLEã§äœæããããäœæããããã«ã¯CREATE TABLEæš©éãå¿ èŠã
æš©éã®ä»äžã¯ããŒã¿ããŒã¹ã®ç®¡çè ããããŒã¿å¶åŸ¡èšèªã䜿çšããŠå®è¡ããã
Â
åºæ¬æ§æ
CREATE TABLE [ã¹ããŒãå].è¡šå
(
åå ããŒã¿å
[,åå ããŒã¿å âŠïŒœ
);
ã¹ããŒãåãçç¥ãããšãCREATE TABLEãå®è¡ãããŠãŒã¶ãŒãææããã¹ããŒãå ã«è¡šãäœæãããã
Â
DEFAULTãªãã·ã§ã³
è¡šã®äœææã«DEFAULTãªãã·ã§ã³ãæå®ãããšããã®åã«ããã©ã«ãå€ïŒããŒã¿ã®è¿œå æã«ãã®åã«å¯Ÿããå€ãçç¥ããå Žåã«ãã®åã«æ ŒçŽãããå€ïŒãèšå®ã§ããã
åå ããŒã¿å [DEFAULT åŒ]
åŒãæ»ãå€ã¯ããŒã¿åãšäžèŽããŠããªããŠã¯ãªããªãã
ãªãã©ã«å€ãåŒãsqlé¢æ°ãæå®ã§ããã
é åºãªããžã§ã¯ããåç §ããNEXTVALæ¬äŒŒåãCURRVALæ¬äŒŒååãæå®ã§ãããïŒ12cããïŒ
å¥ã®åã®ååã¯æå®åºæ¥ãªãã
Â
è¡šã®åé€
DROP TABLE è¡šå [PURGE];
è¡šãåé€ã§ããã®ã¯ãè¡šã®ææè ãŸãã¯DROP ANY TABLEæš©éãæã€ãŠãŒã¶ãŒã®ã¿ã
è¡šãåé€ãããšè¡šå ã®ãã¹ãŠã®ããŒã¿ãè¡šã«å®çŸ©ãããŠããå¶çŽã玢åŒãåé€ãããã
è¡šãåç §ãããã¥ãŒãã·ããã ã¯åé€ãããªãã
è¡šã¯ãŽãç®±ã«ç§»åãããã
PURGEå¥ã䜿çšãããšå®å šã«åé€ããããÂ
Â
11.2 ããŒã¿å
æååïŒåã«æåããŒã¿ãæ ŒçŽã§ããããã«ããããã«äœ¿çšãã
>CHAR,VARCHAR2,LONG,CLOB,NCLOB
Â
âCHARãšVARCHAR2ã®éã
CHAR
æ倧ãµã€ãºïŒ2000ãã€ã
æ倧ãµã€ãºæå®çç¥æïŒããã©ã«ãå€ã®ïŒãæ倧ãµã€ãºæå®ãšãªã
確ä¿ããããŒã¿ãµã€ãºïŒåºå®é·ãæ ŒçŽããããŒã¿ã®ãµã€ãºã«é¢ããããè¡šäœææã«å®çŸ©ãããµã€ãºã§äžå®
Â
VARCHAR2
æ倧ãµã€ãºïŒ4000ãã€ã
æ倧ãµã€ãºæå®çç¥æïŒäžå¯ïŒçç¥ãããšãšã©ãŒïŒ
確ä¿ããããŒã¿ãµã€ãºïŒå¯å€é·ãæ ŒçŽããããŒã¿ãµã€ãºã«å¿ããŠå€ããã
Â
âLONGå
CHARãVARCHAR2ã«æ ŒçŽã§ããªã倧ããªæåããŒã¿ãæ ŒçŽã§ãã(æ倧2GB)
ã»å¯ååãã䜿çšããè¡šã®äœææã«ãLONGåã¯ã³ããŒã§ããªãã
ã»GROUP BYå¥ãORDER BYå¥ã«æå®ã§ããªãã
ã»1ã€ã®è¡šã«ïŒã€ã ãå®çŸ©ã§ãããïŒLONGåãŸãã¯LONG RAWåã®ã©ã¡ããïŒã€ïŒ
ã»å¶çŽãå®çŸ©ã§ããªãã
Â
æ°å€åïŒåã«æ°å€ã«ãæ ŒçŽã§ããããã«ããããã«äœ¿çšãã
>NUMBER
å®çŸ©æ¹æ³
åå NUMBER [ ( æ倧粟床 [,äœåã ] ) ]
NUMBERåã®æ§æã®ãªãã·ã§ã³
æ倧粟床ïŒæ ŒçŽããæ°å€ããŒã¿ã®æ倧粟床ãæå®ããã
äœåãïŒæ ŒçŽããæ°å€ããŒã¿ã®å°æ°ç¹ä»¥äžã®æ¡æ°ãæå®ããã
æ倧粟床ãšäœåãã®äž¡æ¹ãçç¥ãããšæ倧38æ¡ã®æµ®åå°æ°ç¹ãæ ŒçŽã§ãããæ倧粟床ãæå®ããŠãäœåããçç¥ããå Žåããæ倧粟床ã«æå®ããæ¡æ°ã®æŽæ°å€ãæ ŒçŽã§ããã
Â
æ¥ä»åïŒåã«æ¥ä»ããŒã¿ãæ ŒçŽã§ããããã«ããããã«äœ¿çšãã
>DATE
ããŒã¿ãµã€ãºã¯åºå®é·ã§7ãã€ãã
äžçŽã幎ãæãæ¥ãæãåãç§ãå éšçãªæ°å€æžåŒã®åœ¢åŒã§æ ŒçŽãããã
Â
ãã€ããªåïŒåã«ãã€ããªããŒã¿ãæ ŒçŽã§ããããã«äœ¿çšãã
>RAW,LONG RAW,BLOB BFILE
RAWïŒæ倧2000ãã€ããŸã§ã®ãã€ããªããŒã¿ãæ ŒçŽã§ãããå¯å€é·ãæ倧ãµã€ãºã®æå®ã¯ã§ããªãã
LONG RAWïŒæ倧2GBãŸã§ã®ãã€ããªããŒã¿ãæ ŒçŽã§ãããå¯å€é·ãLONGåãšåæ§ã®å¶éããã
BLOBïŒæ倧4GBãŸã§ã®ãã€ããªããŒã¿ãæ ŒçŽã§ãã
BFILEïŒæ倧4GBãŸã§ã®ãã€ããªããŒã¿ãæ ŒçŽã§ãããèªã¿åãå°çšãBFILEåãå®çŸ©ãããåã«æ ŒçŽããããŒã¿ã¯ãOracleãµãŒãã®ããŒã¿ãã¡ã€ã«äžã§ã¯ãªããOSäžã®ãã¡ã€ã«ã«ä¿åãããã
Â
ROWIDå
>ROWID
 ROWIDç䌌å(å®éã«ã¯å®çŸ©ãããŠããªãããè¡šã«å®çŸ©ãããåã®ããã«äœ¿çšã§ããç䌌çãªå)ããæ»ãããå€ãåã«ä¿åããå Žåã«äœ¿çšãããROWIDã¯è¡šã®åè¡ã«å²ãåœãŠãããŠããäžæãªã¢ãã¬ã¹ã®ããšã
Â
TIMESTAMPå
DATEåãæ¡åŒµãããã®ãDATEåãæ ŒçŽã§ããæ å ±ã«å ããŠãç§ã®å°æ°ç¹ä»¥äžã®å€ãæ ŒçŽã§ãããå°æ°ç¹ä»¥äžã®æ¡æ°ã«ã¯0ïœ9ã®ç¯å²ãæå®ã§ããïŒããã©ã«ãã¯ïŒïŒÂ
>TIMESTAMP WITH TIME ZONE
ã¿ã€ã ãŸãŒã³ã®æå·®ãå«ãããšãã§ãããã¿ã€ã ãŸãŒã³ã®æå·®ã¯åã®äžéšãšããŠæ ŒçŽããã衚瀺ãããã
>TIMESTAMP WITH LOCAL TIMEZONE
ã¿ã€ã ãŸãŒã³ã®æå·®ãå«ãããšãã§ãããã¿ã€ã ãŸãŒã³ã®æå·®ã¯åã®äžéšãšããŠæ ŒçŽããããããŒã¿ååŸæã«ããŒã«ã«ã»ãã·ã§ã³ã®ã¿ã€ã ãŸãŒã³ã®å€ã§è¡šç€ºãããã
Â
 11.3 å¶çŽã®çš®é¡ãšå¶å®æ¹æ³
å¶çŽãšã¯ è¡šã«æ ŒçŽããããŒã¿ã«é¢ãããã«ãŒã«ã
å¶çŽãå®çŸ©ããããšã§ãã«ãŒã«ã«åããè¿œå ããã«ãŒã«ã«æºãããªããªããããªããŒã¿ã®æŽæ°ã»åé€ãè¡ããªããªãã
å¶çŽã®ãã§ãã¯ã¯ãããŒã¿ã®å€æŽæïŒè¿œå ãæŽæ°ãåé€ïŒã«èªåçã«è¡ãããã
Â
NOT NULLå¶çŽïŒNULLå€ãèš±å¯ããªãã
UNIQUEå¶çŽ(äžæå¶çŽ)ïŒéè€å€ãèš±å¯ããªããè€æ°ã®NULLå€ã¯èš±å¯ããã
PRIMARY KEYå¶çŽ(äž»ããŒå¶çŽ)ïŒè¡šå ã®åè¡ãäžæã«èå¥ã§ããå€ã®ã¿èš±å¯ãããéè€å€ããã³NULLå€ã¯èš±å¯ããªãã
CHECKå¶çŽ(ãã§ãã¯å¶çŽ)ïŒæå®ããæ¡ä»¶ã«åãå€ã®ã¿èš±å¯ããã
Â
å¶çŽã®å®çŸ©æ¹æ³
 å¶çŽã¯åã¬ãã«ãŸãã¯è¡šã¬ãã«ã§å®çŸ©ããã
Â
è¡šäœææã®å¶çŽã®å®çŸ©æ§æ
CREATE TABLE [ã¹ããŒãå].è¡šå
(
åå ããŒã¿å [ [åã¬ãã«å¶çŽ [ åã¬ãã«å¶çŽâŠ]
[,åå ããŒã¿å [åã¬ãã«å¶çŽ [ åã¬ãã«å¶çŽâŠ] ]âŠ]
[,è¡šã¬ãã«å¶çŽ [ , è¡šã¬ãã«å¶çŽ ] ]
);Â
 åã¬ãã«å¶çŽã®åºæ¬æ§æ
[CONSTRAINT å¶çŽå ] å¶çŽã®çš®é¡
è¡šã¬ãã«å¶çŽã®åºæ¬æ§æ
[CONSTRAINT å¶çŽå] å¶çŽã®çš®é¡ ( åå [, ååâŠ] )
Â
ã»ãCONSTRAINTå¶çŽåãã¯çç¥å¯èœãçç¥æã¯OracleãµãŒãããSYS_Cïœãã®åœ¢åŒã§ååãäœæãã
ã»è¡šã¬ãã«å¶çŽã®æ§æã§ã¯ãã()ãå ã«å¶çŽãå®çŸ©ããåã1ã€ä»¥äžæå®ããã
ã»ïŒã€ã®CREATE TABLEæã®äžã«åã¬ãã«å¶çŽãšè¡šã¬ãã«å¶çŽãåæã«æå®ã§ããã
ã»NOT NULLå¶çŽã¯åã¬ãã«ã§ã®ã¿å®çŸ©ãã
ã»è€æ°ã®åã®çµã¿åãããããªãè€åã®å¶çŽã¯è¡šã¬ãã«ã§ã®ã¿å®çŸ©ã§ããã
ã»1ã€ã®åã«è€æ°ã®åã¬ãã«å¶çŽãå®çŸ©ããå Žåã¯ãæ¹è¡ãŸãã¯ã¹ããŒã¹ã§åºåãïŒã«ã³ãã§ã¯ãªãïŒ
ã»ïŒã€ã®è¡šã«è€æ°ã®è¡šã¬ãã«å¶çŽãå®çŸ©ããå Žåã¯ãã«ã³ãã§åºåãïŒæ¹è¡ãã¹ããŒã¹ã§ã¯ãªãïŒ
Â
NOT NULLå¶çŽ
ãã®åã«NULLå€ãèšå®ã§ããªããªãã
NOT NULLå¶çŽã¯åã¬ãã«ã§ã®ã¿å®çŸ©ã§ããã
Â
UNIQUEå¶çŽïŒäžæããŒå¶çŽïŒ
ãã®åã«éè€ããå€ãèšå®ã§ããªããªãã
NULLå€ãå«ããããšã¯ã§ãããïŒè€æ°è¡ãã§ããïŒ
èªåçã«å¶çŽãšåãååã®äžæ玢åŒãäœæãããã
Â
PRIMARY KEYå¶çŽïŒäž»ããŒå¶çŽïŒ
ãã®åïŒãŸãã¯çµã¿åããïŒã«ã¯è¡šå ã®åè¡ãäžæã«èå¥ã§ããå€ããæ ŒçŽã§ããªããªãã
éè€å€ãNULLå€ã¯èšå®ã§ããªãã
è¡šã«1ã€ã®ã¿èšå®ã§ããã
èªåçã«å¶çŽãšåãååã®äžæ玢åŒãäœæãããã
Â
FOREIGN KEYå¶çŽïŒå€éšããŒå¶çŽ)
 ãã®åã«ã¯åç §å ã®åã«ååšããå€ããæ ŒçŽã§ããªããªãã
NULLå€ãå«ããããšãã§ãããïŒè€æ°è¡ãã§ããïŒ
Â
åã¬ãã«ã§ã®æ§æ
[ CONSTRAINT å¶çŽå] REFERENCES 芪衚å(åç §ããåå [, åç §ããååâŠ])
è¡šã¬ãã«ã§ã®æ§æ
[ CONSTRAINT å¶çŽå] FOREIGN KEY ( åå [, ååâŠ])
REFERENCES 芪衚å ( åç §ããåå [,åç §ããååâŠ])
Â
芪衚å
åç §å ã®è¡šã®ååãFOREIGN KEYå¶çŽã§åç §ããè¡šãã芪衚ããFOREIGN KEYå¶çŽãå®çŸ©ãããŠããè¡šãåè¡šãšåŒã¶ã芪衚ã«ã¯å¥ã®è¡šã ãã§ã¯ãªããFOREIGN KEYå¶çŽãå®çŸ©ããè¡š(ã€ãŸãåãè¡šïŒãæå®ããããšãã§ããã
åç §ããåå
芪衚ã«å®çŸ©ãããŠãããåç §å ã®åã®ååã
ãã ããFOREIGN KEYå¶çŽã¯UNIQUEå¶çŽãŸãã¯PRIMARY KEYå¶çŽãå®çŸ©ãããŠããåããåç §ã§ããªãã
Â
ON DELETE CASCADE
åè¡šã«èŠªè¡šãåç §ããè¡ãååšããå Žåã«ïŒèŠªè¡šã®åç §ãããŠããªãè¡ãåé€ãããšïŒåè¡šã®åç §ããŠããè¡ãåé€ããã
ON DELETE SET NULL
åè¡šã«èŠªè¡šãåç §ããè¡ãååšããå Žåã«ïŒèŠªè¡šã®åç §ãããŠããè¡ãåé€ãããšïŒåè¡šã®åç §ããŠããè¡ã«NULLå€ãèšå®ããã
Â
 CHECKå¶çŽ
ãã®åã«ã¯æå®ããæ¡ä»¶ã«å¯ŸããŠTRUEãŸãã¯NULLãæ»ãå€ããæ ŒçŽã§ããªããªãã
CHECKå¶çŽã¯1ã€ã®åã«è€æ°å®çŸ©ã§ããã
æ§æ
[ CONSTRAINT å¶çŽå ] CHECK(æ¡ä»¶)
ã»CURRVAL,NEXTVAL,LEVEL,ROWNUMç䌌åã®åç §ã¯ã§ããªã
ã»SYSDATEãUID,USER,USERENVé¢æ°ã®åŒã³åºãã¯ã§ããªã
ã»ä»ã®è¡ã®å€ãåç §ããåãåããã¯ã§ããªã
Â
11.4 å¯ååãã䜿çšããè¡šã®äœæãšè¡šæ§é ã®å€æŽ
å¯ååãã䜿çšããè¡šã®äœæ
CREATE TABLEãšå¯ååããçµã¿åããããšãæ¢åã®è¡šãåºã«ããŠæ°ããè¡šãäœæã§ããã
CREATE TABLE è¡šå [ ( åå [,ååâŠ] ) ]
AS
å¯ååã;
ã»ããŒã¿åãšNOT NULLå¶çŽã¯æ°ããè¡šã«ã³ããŒããã
ã»NOT NULLå¶çŽä»¥å€ã®å¶çŽã¯ã³ããŒãããªã
ã»å¯ååãã®SELECTå¥ã§èšç®åŒãé¢æ°ã䜿çšããŠããå ŽåïŒæ瀺çã«ååïŒåå¥åïŒãæå®ããå¿ èŠãããã
Â
Â
è¡šæ§é ã®å€æŽ
è¡šã®æ§é ã¯ããšããå€æŽã§ããã
ALTER TABLEå¥ã䜿çšãããšä»¥äžã®æäœãå¯èœ
ã»è¡šã«æ°ããåãè¿œå ãã
ã»æ¢åã®åã®ããŒã¿åãå€æŽãã
ã»æ¢åã®åã«ããã©ã«ãå€ãèšå®ãã
ã»æ¢åã®åãåé€ãã
ã»æ¢åã®åã®ååãå€æŽãã
ã»è¡šãèªã¿åãïŒæžãåãã¢ãŒãã«ãã
ã»è¡šãèªã¿åãå°çšã¢ãŒãã«ãã
Â
âåã®è¿œå
 ALTER TABLEãè¡šå
ADD( ååãããŒã¿åã[ DEFAULTãåŒ] [ åã¬ãã«å¶çŽ ]
ãã[, ååãããŒã¿åã[ DEFAULT åŒ] [ åã¬ãã«å¶çŽ ]ã⊠] ) ;
 æ°ããè¿œå ãããåã«ã¯NULLå€ãå ¥ã£ãŠããããNOT NULLå¶çŽãã€ãããå Žåã¯DEFAULTå€ãèšå®ããå¿ èŠãããã
Â
âåã®å€æŽ
æ¢åã®åã®ããŒã¿åïŒãµã€ãºïŒããã©ã«ãå€ãå€æŽã§ãã
ALTER TABLE è¡šå
MODIFY(åå [ ããŒã¿å ] [ DEFAULTåŒ ]
ãããããã[,ååã[ ããŒã¿å ] [ DEFAULTãåŒ ]⊠]);
 ã»ãµã€ãºïŒç²ŸåºŠã®å¢å ã¯ãã€ã§ãã§ãã
ã»åã®ãµã€ãºã¯æ¬¡ã®å Žåã®ã¿æžå°ã§ãã
âåã«NULLå€ã®ã¿ãå«ãŸããŠãã
âè¡šã«è¡ããªã
âåã®ãµã€ãºã¯ïŒæ¢åã®åã®å€æªæºã«ã¯æžå°ã§ããªã
ïŒãã§ã«30ãã€ãã®ããŒã¿ãå ¥ã£ãŠãåã®ãµã€ãºã20ã«ã¯ã§ããªãïŒ
ã»åã«NULLå€ã®ã¿ãå«ãŸããŠããå Žåã¯ïŒããŒã¿åãå€æŽã§ãã
ã»åã«NULLå€ä»¥å€ã®ããŒã¿ãå«ãŸããŠããŠããµã€ãºãå€æŽããªãå Žåã¯ïŒCHARåããVARCHAR2åïŒãŸãã¯ãã®éãžã¯ããŒã¿åãå€æŽã§ãã
ã»åã®ããã©ã«ãå€ã®å€æŽã¯ïŒä»¥åŸã®è¡šãžã®æ¿å ¥ã®ã¿ã«é©çšãããã
Â
âåã®åé€
ALTER TABLEãè¡šåãDROP(åå [,ååâŠ]);
ã»åé€ã®å¯Ÿè±¡ã®åã«ã¯ããŒã¿ãååšããå ŽåãïŒååšããªãå Žåããã
ã»åãåé€ããåŸãïŒè¡šã«ã¯1ã€ä»¥äžã®åãæ®ãå¿ èŠããã
ã»åã®åé€ã¯å ã«æ»ããªãã
ã»å¥ã®åããåç §ãããäž»ããŒã¯ïŒCASCADEãªãã·ã§ã³ãæå®ããªãéãåé€ã§ããªã
ã»åã«å€ãã®å€ãå«ãŸããŠããå Žåã¯åé€ã«æéãããã
Â
âè¡šã¢ãŒãã®å€æŽ
ãèªã¿åãïŒæžã蟌ã¿ã¢ãŒãããšãèªã¿åãå°çšã¢ãŒããããã
 衚ã®ã¡ã³ããã³ã¹ãè¡ãéã«ïŒèªã¿åãå°çšã¢ãŒãã«ãããšDDLãDMLã«ããå€æŽãé²ãããšãã§ããã
ALTER TABLEãè¡šå{ READ WRITE | READ ONLY };
èªã¿åãå°çšã¢ãŒãã«ããŠãïŒè¡šã®åé€ã¯ã§ããã®ã§æ³šæã
Â
Â
Â