如题所述
å¨MySQLä¸å建ä¸ä¸ªSchema好åå°±è·å建ä¸ä¸ªDatabaseæ¯ä¸æ ·çææï¼å¨SQL ServeråOrcalæ°æ®åºä¸å¥½ååä¸ä¸æ ·. ç®åæåªè½ç解ï¼å¨mysqlä¸ schema<==>databaseã
æ°æ®åºä¸UseråSchemaçå ³ç³»
åå¦æ们æ³äºè§£æ°æ®åºä¸çUseråSchema究ç«æ¯ä»ä¹å ³ç³»ï¼é¦å å¿ é¡»äºè§£ä¸ä¸æ°æ®åºä¸UseråSchemaå°åºæ¯ä»ä¹æ¦å¿µã
ããå¨SQL Server2000ä¸ï¼ç±äºæ¶æçåå ï¼UseråSchemaæ»æä¸å±éå«çå ³ç³»ï¼è®©æ们å¾å°æè¯å°å ¶å®UseråSchemaæ¯ä¸¤ç§å®å ¨ä¸åçæ¦å¿µï¼ä¸è¿å¨SQL Server2005ä¸è¿ç§æ¶æ被æç ´äºï¼UseråSchemaä¹è¢«åå¼äºã
ã
ãé¦å ææ¥åä¸ä¸ªæ¯å»ï¼ä»ä¹æ¯Databaseï¼ä»ä¹æ¯Schemaï¼ä»ä¹æ¯Tableï¼ä»ä¹æ¯åï¼ä»ä¹æ¯è¡ï¼ä»ä¹æ¯Userï¼æ们å¯ä»¥å¯ä»¥æ
Databaseçä½æ¯ä¸ä¸ªå¤§ä»åºï¼ä»åºåäºå¾å¤å¾å¤çæ¿é´ï¼Schemaå°±æ¯å ¶ä¸çæ¿é´ï¼ä¸ä¸ªSchema代表ä¸ä¸ªæ¿é´ï¼Tableå¯ä»¥çä½æ¯æ¯ä¸ª
Schemaä¸çåºï¼Tableï¼åºï¼å°±è¢«æ¾å ¥æ¯ä¸ªæ¿é´ä¸ï¼ä¸è½æ¾ç½®å¨æ¿é´ä¹å¤ï¼é£å²ä¸æ¯æä¸ç¡è§æ 家å¯å½äºJãï¼ç¶ååºä¸å¯ä»¥æ¾ç½®å¾å¤ç©åï¼å°±å¥½æ¯
Tableä¸å¯ä»¥æ¾ç½®å¾å¤ååè¡ä¸æ ·ï¼æ°æ®åºä¸åå¨æ°æ®çåºæ¬åå æ¯Tableï¼ç°å®ä¸æ¯ä¸ªä»åºæ¾ç½®ç©åçåºæ¬åä½å°±æ¯åºï¼
Userå°±æ¯æ¯ä¸ªSchemaç主人ï¼ï¼æ以Schemaå å«çæ¯Objectï¼èä¸æ¯Userï¼ï¼å ¶å®Useræ¯å¯¹åºä¸æ°æ®åºçï¼å³Useræ¯æ¯ä¸ªå¯¹åº
æ°æ®åºç主人ï¼ï¼æ¢ç¶ææä½æ°æ®åºï¼ä»åºï¼çæå©ï¼å°±è¯å®ææä½æ°æ®åºä¸æ¯ä¸ªSchemaï¼æ¿é´ï¼çæå©ï¼å°±æ¯è¯´æ¯ä¸ªæ°æ®åºæ å°çUserææ¯ä¸ª
Schemaï¼æ¿é´ï¼çé¥åï¼æ¢å¥è¯è¯´ï¼å¦æä»æ¯æ个ä»åºç主人ï¼é£ä¹è¿ä¸ªä»åºç使ç¨æåä»åºä¸çææä¸è¥¿é½æ¯ä»çï¼å æ¬æ¿é´ï¼ï¼ä»æå®å ¨çæä½æï¼å¯ä»¥
ææä¸ç¨çä¸è¥¿ä»æ¯ä¸ªæ¿é´ï¼ä¹å¯ä»¥æ¾ç½®ä¸äºæç¨çä¸è¥¿å°æä¸ä¸ªæ¿é´ï¼åµåµï¼åç°å®ä¹å¤ªç¸ä¼¼äºå§ãæè¿å¯ä»¥ç»Useråé å ·ä½çæéï¼ä¹å°±æ¯ä»å°æä¸ä¸ªæ¿é´
è½åäºä»ä¹ï¼æ¯åªè½çï¼Read-Onlyï¼ï¼è¿æ¯å¯ä»¥å主人ä¸æ ·æææçæ§å¶æï¼R/Wï¼ï¼è¿ä¸ªå°±è¦çè¿ä¸ªUseræ对åºçè§è²Roleäºï¼è³äºåé æ
éçé®é¢ï¼æçå¨ä»¥ååç¬çblogä¸è¯¦è¿°ãæ¯å»å°è¿éï¼ç¸ä¿¡å¤§å®¶é½æ¸ æ¥äºå§ã
ããå¨SQL Server2000ä¸ï¼åå¦æ们å¨æä¸ä¸ªæ°æ®åºä¸å建äºç¨æ·Boscoï¼æä¹æ¤æ¶åå°ä¹ä¸ºæ们é»è®¤å°å建äºé»è®¤Schema ãBoscoããSchemaçåååUserçååç¸åï¼è¿ä¹æ¯æ们åä¸æ¸ æ¥ç¨æ·åSchemaçåå ã
ã
ãå¨SQL Server2005ä¸ï¼ä¸ºäºååå ¼å®¹ï¼å½ä½ ç¨sp_adduser åå¨è¿ç¨å建ä¸ä¸ªç¨æ·çæ¶åï¼SQL
Server2005åæ¶ä¹å建äºä¸ä¸ªåç¨æ·åç¸åçSchemaï¼ç¶èè¿ä¸ªåå¨è¿ç¨æ¯ä¸ºäºååå ¼å®¹æä¿ççï¼æ们åºè¯¥éæ¸çæç¨æ°çDDLè¯è¨
Create UseråCreate Schemaæ¥æä½æ°æ®åºãå¨SQL Server2005ä¸ï¼å½æ们ç¨Create
Userå建æ°æ®åºç¨æ·æ¶ï¼æ们å¯ä»¥ä¸ºè¯¥ç¨æ·æå®ä¸ä¸ªå·²ç»åå¨çSchemaä½ä¸ºé»è®¤Schemaï¼å¦ææ们ä¸æå®ï¼å该ç¨æ·æé»è®¤çSchemaå³ä¸º
dbo Schemaï¼dbo
æ¿é´ï¼Schemaï¼å¥½æ¯ä¸ä¸ªå¤§çå ¬å ±æ¿é´ï¼å¨å½åç»å½ç¨æ·æ²¡æé»è®¤Schemaçåæä¸ï¼å¦æä½ å¨å¤§ä»åºä¸è¿è¡ä¸äºæä½ï¼æ¯å¦Create
Tabeï¼å¦æ没ææå®ç¹å®çæ¿é´ï¼Schemaï¼ï¼é£ä¹ä½ çç©åå°±åªå¥½æ¾è¿å ¬å ±çdboæ¿é´ï¼Schemaï¼äºãä½æ¯å¦æå½åç»å½ç¨æ·æé»è®¤ç
Schemaï¼é£ä¹æåçä¸åæä½é½æ¯å¨é»è®¤Schemaä¸è¿è¡ï¼æ¯å¦å½åç»å½ç¨æ·ä¸ºlogin1ï¼è¯¥ç¨æ·çé»è®¤Schema为login1ï¼é£ä¹æåç
æææä½é½æ¯å¨è¿ä¸ªlogin1é»è®¤Schemaä¸è¿è¡çãå®éªå·²ç»è¯æçç¡®å¦æ¤ï¼ã估计æ¤æ¶ä½ ä¼æä¸ç¹æï¼ä¸ºä»ä¹å¢ï¼æåæ说dboæ¯ä¸ä¸ª
Schemaï¼ä½æ¯ä½ å¯ä»¥å¨æ°æ®åºä¸æ¥çå°ï¼dboåæ¶ä¹æ¯ä¸ä¸ªuserï¼æäºå§ï¼åµåµã
ããå¨SQL Server2005ä¸å建ä¸ä¸ªæ°æ®åºçæ¶åï¼ä¼æä¸äºSchemaå æ¬è¿å»ï¼è¢«å æ¬è¿å»çSchemaæï¼dboï¼INFORMATION_SCHEMA, guestï¼sysççï¼è¿æä¸äºè§è²Schemaï¼ä¸æäºï¼ææäºï¼ã
ã
ãæå¨ä¸æä¸å·²ç»æå°äºï¼å¨SQL Server2005ä¸å½ç¨åå¨è¿ç¨sp_adduserå建ä¸ä¸ªuseræ¶ï¼åæ¶SQL
Server2005ä¹ä¸ºæ们å建äºä¸ä¸ªé»è®¤çåç¨æ·åç¸åçSchemaï¼è¿ä¸ªæ¶åé®é¢åºæ¥äºï¼å½æ们create table
Aæ¶ï¼å¦æ没æç¹å®çSchemaååç¼ï¼è¿ä¸ªA表å建å¨äºåªä¸ªSchemaä¸ï¼å³è¿å ¥äºåªä¸ªæ¿é´ï¼çæ¡æ¯ï¼
ãã1.å¦æå½åæä½æ°æ®åºçç¨æ·ï¼å¯ä»¥ç¨Select current_useræ¥åºæ¥ï¼æé»è®¤çSchemaï¼å¨å建ç¨æ·çæ¶åæå®äºï¼ï¼é£ä¹è¡¨A被å建å¨äºé»è®¤çSchemaä¸ã
ã
ã2.å¦æå½åæä½æ°æ®åºçç¨æ·æ²¡æé»è®¤çSchemaï¼å³å¨å建Userçæ¶åé»è®¤ä¸ºç©ºï¼ï¼ä½æ¯æä¸ä¸ªåç¨æ·åååçSchemaï¼é£ä¹è¡¨Aç §æ ·è¢«å建
å¨äºdbo
Schemaä¸ï¼å³ä½¿æä¸ä¸ªåç¨æ·åååçSchemaåå¨ï¼ç±äºå®ä¸æ¯è¯¥ç¨æ·é»è®¤çSchemaï¼æ以å建表çæ¶åæ¯ä¸ä¼èèçï¼å½ä½ä¸è¬ç
Schemaæ¥å¤çï¼å«çååç¸åï¼å¯æ¯æ²¡æä»»ä½å ³ç³»å¦ã
ãã3.å¦æå¨å建表Açæ¶åæå®äºç¹å®çSchemaååç¼ï¼å表A被å建å¨äºæå®ç Schemaä¸ï¼ææéåï¼ï¼
ã
ãç°å¨é®é¢ååºæ¥äºï¼å¨å½åæä½æ°æ®åºçç¨æ·ï¼ç¨select
current_userå¯ä»¥æ¥çå°ï¼å次强è°ï¼æ²¡æé»è®¤Schemaçåæä¸ï¼å½æ们ç¨Create table Aè¯å¥æ¶ï¼A表ä¼å»å¯»æ¾dbo
Schemaï¼å¹¶è¯å¾å建å¨dbo Schemaä¸ï¼ä½æ¯å¦æå建A表çç¨æ·åªæ对dbo
Schemaçåªè¯»æéï¼è没æåçæéå¢ï¼è¿ä¸ªæ¶åA表æ¢ä¸æ¯å»ºç«ä¸æåï¼è¿ä¸ªå°±æ¯æ以åä¼æåå°çLogin,User,
RoleåSchemaåè ä¹é´çå ³ç³»ãå¨è¿éï¼ä¸ºäºé¿å æ··æ·åæé«æä½æ°æ®åºçé度ï¼å¨å°éæ°æ®èå´å ï¼å¯¹æ们èç¼æ¥è¯´å ä¹çä¸å°å·®å¼ï¼ï¼æ们æ好æ¯æ¬¡
å¨æä½æ°æ®åºå¯¹è±¡çæ¶åé½æ¾å¼å°æå®ç¹å®çSchemaæ为åç¼ã
ããç°å¨å¦æç»å½çç¨æ·ä¸ºSueï¼è¯¥ç¨æ·æä¸ä¸ªé»è®¤Schemaä¹ä¸ºSueï¼é£ä¹å¦æç°å¨æä¸æ¡æ¥è¯¢è¯å¥ä¸ºSelect * from mytable, é£ä¹æ寻æ¯ä¸ªæ¿é´ï¼Schemaï¼ç顺åºæ¯ææ ·çå¢ï¼é¡ºåºå¦ä¸ï¼
ãã1. é¦å æ寻sys.mytable ï¼Sys Schemaï¼
ãã2. ç¶åæ寻Sue.mytable (Default Schema)
ãã3. æåæ寻 dbo.mytable (Dbo Schema)
ããæ§è¡ç顺åºå¤§å®¶æ¢ç¶æ¸ æ¥äºï¼é£ä¹ä»¥åå¨æ¥è¯¢æ°æ®åºè¡¨ä¸çæ°æ®æ¶ï¼æ好æå®ç¹å®çSchemaåç¼ï¼è¿æ ·åï¼æ°æ®åºå°±ä¸ç¨å»æ«æSys Schem
æ°æ®åºä¸UseråSchemaçå ³ç³»
åå¦æ们æ³äºè§£æ°æ®åºä¸çUseråSchema究ç«æ¯ä»ä¹å ³ç³»ï¼é¦å å¿ é¡»äºè§£ä¸ä¸æ°æ®åºä¸UseråSchemaå°åºæ¯ä»ä¹æ¦å¿µã
ããå¨SQL Server2000ä¸ï¼ç±äºæ¶æçåå ï¼UseråSchemaæ»æä¸å±éå«çå ³ç³»ï¼è®©æ们å¾å°æè¯å°å ¶å®UseråSchemaæ¯ä¸¤ç§å®å ¨ä¸åçæ¦å¿µï¼ä¸è¿å¨SQL Server2005ä¸è¿ç§æ¶æ被æç ´äºï¼UseråSchemaä¹è¢«åå¼äºã
ã
ãé¦å ææ¥åä¸ä¸ªæ¯å»ï¼ä»ä¹æ¯Databaseï¼ä»ä¹æ¯Schemaï¼ä»ä¹æ¯Tableï¼ä»ä¹æ¯åï¼ä»ä¹æ¯è¡ï¼ä»ä¹æ¯Userï¼æ们å¯ä»¥å¯ä»¥æ
Databaseçä½æ¯ä¸ä¸ªå¤§ä»åºï¼ä»åºåäºå¾å¤å¾å¤çæ¿é´ï¼Schemaå°±æ¯å ¶ä¸çæ¿é´ï¼ä¸ä¸ªSchema代表ä¸ä¸ªæ¿é´ï¼Tableå¯ä»¥çä½æ¯æ¯ä¸ª
Schemaä¸çåºï¼Tableï¼åºï¼å°±è¢«æ¾å ¥æ¯ä¸ªæ¿é´ä¸ï¼ä¸è½æ¾ç½®å¨æ¿é´ä¹å¤ï¼é£å²ä¸æ¯æä¸ç¡è§æ 家å¯å½äºJãï¼ç¶ååºä¸å¯ä»¥æ¾ç½®å¾å¤ç©åï¼å°±å¥½æ¯
Tableä¸å¯ä»¥æ¾ç½®å¾å¤ååè¡ä¸æ ·ï¼æ°æ®åºä¸åå¨æ°æ®çåºæ¬åå æ¯Tableï¼ç°å®ä¸æ¯ä¸ªä»åºæ¾ç½®ç©åçåºæ¬åä½å°±æ¯åºï¼
Userå°±æ¯æ¯ä¸ªSchemaç主人ï¼ï¼æ以Schemaå å«çæ¯Objectï¼èä¸æ¯Userï¼ï¼å ¶å®Useræ¯å¯¹åºä¸æ°æ®åºçï¼å³Useræ¯æ¯ä¸ªå¯¹åº
æ°æ®åºç主人ï¼ï¼æ¢ç¶ææä½æ°æ®åºï¼ä»åºï¼çæå©ï¼å°±è¯å®ææä½æ°æ®åºä¸æ¯ä¸ªSchemaï¼æ¿é´ï¼çæå©ï¼å°±æ¯è¯´æ¯ä¸ªæ°æ®åºæ å°çUserææ¯ä¸ª
Schemaï¼æ¿é´ï¼çé¥åï¼æ¢å¥è¯è¯´ï¼å¦æä»æ¯æ个ä»åºç主人ï¼é£ä¹è¿ä¸ªä»åºç使ç¨æåä»åºä¸çææä¸è¥¿é½æ¯ä»çï¼å æ¬æ¿é´ï¼ï¼ä»æå®å ¨çæä½æï¼å¯ä»¥
ææä¸ç¨çä¸è¥¿ä»æ¯ä¸ªæ¿é´ï¼ä¹å¯ä»¥æ¾ç½®ä¸äºæç¨çä¸è¥¿å°æä¸ä¸ªæ¿é´ï¼åµåµï¼åç°å®ä¹å¤ªç¸ä¼¼äºå§ãæè¿å¯ä»¥ç»Useråé å ·ä½çæéï¼ä¹å°±æ¯ä»å°æä¸ä¸ªæ¿é´
è½åäºä»ä¹ï¼æ¯åªè½çï¼Read-Onlyï¼ï¼è¿æ¯å¯ä»¥å主人ä¸æ ·æææçæ§å¶æï¼R/Wï¼ï¼è¿ä¸ªå°±è¦çè¿ä¸ªUseræ对åºçè§è²Roleäºï¼è³äºåé æ
éçé®é¢ï¼æçå¨ä»¥ååç¬çblogä¸è¯¦è¿°ãæ¯å»å°è¿éï¼ç¸ä¿¡å¤§å®¶é½æ¸ æ¥äºå§ã
ããå¨SQL Server2000ä¸ï¼åå¦æ们å¨æä¸ä¸ªæ°æ®åºä¸å建äºç¨æ·Boscoï¼æä¹æ¤æ¶åå°ä¹ä¸ºæ们é»è®¤å°å建äºé»è®¤Schema ãBoscoããSchemaçåååUserçååç¸åï¼è¿ä¹æ¯æ们åä¸æ¸ æ¥ç¨æ·åSchemaçåå ã
ã
ãå¨SQL Server2005ä¸ï¼ä¸ºäºååå ¼å®¹ï¼å½ä½ ç¨sp_adduser åå¨è¿ç¨å建ä¸ä¸ªç¨æ·çæ¶åï¼SQL
Server2005åæ¶ä¹å建äºä¸ä¸ªåç¨æ·åç¸åçSchemaï¼ç¶èè¿ä¸ªåå¨è¿ç¨æ¯ä¸ºäºååå ¼å®¹æä¿ççï¼æ们åºè¯¥éæ¸çæç¨æ°çDDLè¯è¨
Create UseråCreate Schemaæ¥æä½æ°æ®åºãå¨SQL Server2005ä¸ï¼å½æ们ç¨Create
Userå建æ°æ®åºç¨æ·æ¶ï¼æ们å¯ä»¥ä¸ºè¯¥ç¨æ·æå®ä¸ä¸ªå·²ç»åå¨çSchemaä½ä¸ºé»è®¤Schemaï¼å¦ææ们ä¸æå®ï¼å该ç¨æ·æé»è®¤çSchemaå³ä¸º
dbo Schemaï¼dbo
æ¿é´ï¼Schemaï¼å¥½æ¯ä¸ä¸ªå¤§çå ¬å ±æ¿é´ï¼å¨å½åç»å½ç¨æ·æ²¡æé»è®¤Schemaçåæä¸ï¼å¦æä½ å¨å¤§ä»åºä¸è¿è¡ä¸äºæä½ï¼æ¯å¦Create
Tabeï¼å¦æ没ææå®ç¹å®çæ¿é´ï¼Schemaï¼ï¼é£ä¹ä½ çç©åå°±åªå¥½æ¾è¿å ¬å ±çdboæ¿é´ï¼Schemaï¼äºãä½æ¯å¦æå½åç»å½ç¨æ·æé»è®¤ç
Schemaï¼é£ä¹æåçä¸åæä½é½æ¯å¨é»è®¤Schemaä¸è¿è¡ï¼æ¯å¦å½åç»å½ç¨æ·ä¸ºlogin1ï¼è¯¥ç¨æ·çé»è®¤Schema为login1ï¼é£ä¹æåç
æææä½é½æ¯å¨è¿ä¸ªlogin1é»è®¤Schemaä¸è¿è¡çãå®éªå·²ç»è¯æçç¡®å¦æ¤ï¼ã估计æ¤æ¶ä½ ä¼æä¸ç¹æï¼ä¸ºä»ä¹å¢ï¼æåæ说dboæ¯ä¸ä¸ª
Schemaï¼ä½æ¯ä½ å¯ä»¥å¨æ°æ®åºä¸æ¥çå°ï¼dboåæ¶ä¹æ¯ä¸ä¸ªuserï¼æäºå§ï¼åµåµã
ããå¨SQL Server2005ä¸å建ä¸ä¸ªæ°æ®åºçæ¶åï¼ä¼æä¸äºSchemaå æ¬è¿å»ï¼è¢«å æ¬è¿å»çSchemaæï¼dboï¼INFORMATION_SCHEMA, guestï¼sysççï¼è¿æä¸äºè§è²Schemaï¼ä¸æäºï¼ææäºï¼ã
ã
ãæå¨ä¸æä¸å·²ç»æå°äºï¼å¨SQL Server2005ä¸å½ç¨åå¨è¿ç¨sp_adduserå建ä¸ä¸ªuseræ¶ï¼åæ¶SQL
Server2005ä¹ä¸ºæ们å建äºä¸ä¸ªé»è®¤çåç¨æ·åç¸åçSchemaï¼è¿ä¸ªæ¶åé®é¢åºæ¥äºï¼å½æ们create table
Aæ¶ï¼å¦æ没æç¹å®çSchemaååç¼ï¼è¿ä¸ªA表å建å¨äºåªä¸ªSchemaä¸ï¼å³è¿å ¥äºåªä¸ªæ¿é´ï¼çæ¡æ¯ï¼
ãã1.å¦æå½åæä½æ°æ®åºçç¨æ·ï¼å¯ä»¥ç¨Select current_useræ¥åºæ¥ï¼æé»è®¤çSchemaï¼å¨å建ç¨æ·çæ¶åæå®äºï¼ï¼é£ä¹è¡¨A被å建å¨äºé»è®¤çSchemaä¸ã
ã
ã2.å¦æå½åæä½æ°æ®åºçç¨æ·æ²¡æé»è®¤çSchemaï¼å³å¨å建Userçæ¶åé»è®¤ä¸ºç©ºï¼ï¼ä½æ¯æä¸ä¸ªåç¨æ·åååçSchemaï¼é£ä¹è¡¨Aç §æ ·è¢«å建
å¨äºdbo
Schemaä¸ï¼å³ä½¿æä¸ä¸ªåç¨æ·åååçSchemaåå¨ï¼ç±äºå®ä¸æ¯è¯¥ç¨æ·é»è®¤çSchemaï¼æ以å建表çæ¶åæ¯ä¸ä¼èèçï¼å½ä½ä¸è¬ç
Schemaæ¥å¤çï¼å«çååç¸åï¼å¯æ¯æ²¡æä»»ä½å ³ç³»å¦ã
ãã3.å¦æå¨å建表Açæ¶åæå®äºç¹å®çSchemaååç¼ï¼å表A被å建å¨äºæå®ç Schemaä¸ï¼ææéåï¼ï¼
ã
ãç°å¨é®é¢ååºæ¥äºï¼å¨å½åæä½æ°æ®åºçç¨æ·ï¼ç¨select
current_userå¯ä»¥æ¥çå°ï¼å次强è°ï¼æ²¡æé»è®¤Schemaçåæä¸ï¼å½æ们ç¨Create table Aè¯å¥æ¶ï¼A表ä¼å»å¯»æ¾dbo
Schemaï¼å¹¶è¯å¾å建å¨dbo Schemaä¸ï¼ä½æ¯å¦æå建A表çç¨æ·åªæ对dbo
Schemaçåªè¯»æéï¼è没æåçæéå¢ï¼è¿ä¸ªæ¶åA表æ¢ä¸æ¯å»ºç«ä¸æåï¼è¿ä¸ªå°±æ¯æ以åä¼æåå°çLogin,User,
RoleåSchemaåè ä¹é´çå ³ç³»ãå¨è¿éï¼ä¸ºäºé¿å æ··æ·åæé«æä½æ°æ®åºçé度ï¼å¨å°éæ°æ®èå´å ï¼å¯¹æ们èç¼æ¥è¯´å ä¹çä¸å°å·®å¼ï¼ï¼æ们æ好æ¯æ¬¡
å¨æä½æ°æ®åºå¯¹è±¡çæ¶åé½æ¾å¼å°æå®ç¹å®çSchemaæ为åç¼ã
ããç°å¨å¦æç»å½çç¨æ·ä¸ºSueï¼è¯¥ç¨æ·æä¸ä¸ªé»è®¤Schemaä¹ä¸ºSueï¼é£ä¹å¦æç°å¨æä¸æ¡æ¥è¯¢è¯å¥ä¸ºSelect * from mytable, é£ä¹æ寻æ¯ä¸ªæ¿é´ï¼Schemaï¼ç顺åºæ¯ææ ·çå¢ï¼é¡ºåºå¦ä¸ï¼
ãã1. é¦å æ寻sys.mytable ï¼Sys Schemaï¼
ãã2. ç¶åæ寻Sue.mytable (Default Schema)
ãã3. æåæ寻 dbo.mytable (Dbo Schema)
ããæ§è¡ç顺åºå¤§å®¶æ¢ç¶æ¸ æ¥äºï¼é£ä¹ä»¥åå¨æ¥è¯¢æ°æ®åºè¡¨ä¸çæ°æ®æ¶ï¼æ好æå®ç¹å®çSchemaåç¼ï¼è¿æ ·åï¼æ°æ®åºå°±ä¸ç¨å»æ«æSys Schem
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-03-09
我实验测试两个完全不一样。create database是创建一个数据库,而create schema是创建一个架构。首先你要明白数据库和架构的区别,还要明白登录名和用户名的区别。我们正常登陆名是sa,但是映射的用户名是dbo,所有你打开数据库看表,前面都是dbo.XXX.你先用sa登陆,然后会看见安全性,安全性下面有个登录名,打开就会看见sa这个登录名,双击之后会看见一个用户映射,点开之后有三项,数据库,用户名,默认架构,比如系统master数据库用户名就是dbo,默认架构dbo.到这里还是你肯定还是不明白。下面做个实验,1.先创建一个用户名se,在安全性下面右击登陆名就可以创建,验证选择sql身份验证,输入密码即可。2.右击数据库然后创建一个数据库test。3.打开数据库test,也会看见一个安全性,安全性下面有用户,点开你就会看见dbo,很多人问create schema authorization +用户名,这个用户名到底是什么,系统默认就是dbo.所以create schema authorization dbo这条指令是不会报错的。3.我们在test下面创建一个新用户admin,右击安全性下面用户名就可以创建,用户写admin,登录名选择我们刚才的se,架构选择默认的dbo.到此你就应该明白登录名和用户名的区别。登录名可以设置查看数据库权限,而用户名是数据库下面可以设置查看架构的权限。比如我们创建数据库test1,test2,test3.然后我们创建登录名se,se我可以给他查看test1数据库权限,但是不给他test2的权限,这样登陆se就只有查看test1权限。
第2个回答 2018-03-09
A schema is a collection of database objects (used by a user.).
schema objects are the logical structures that directly refer to the database’s data.
A user is a name defined in the database that can connect to and access objects.
schemas and users help database administrators manage database security.
从定义中我们可以看出schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables views sequences stored procedures synonyms indexes clusters and database links。
______百度百科
schema objects are the logical structures that directly refer to the database’s data.
A user is a name defined in the database that can connect to and access objects.
schemas and users help database administrators manage database security.
从定义中我们可以看出schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables views sequences stored procedures synonyms indexes clusters and database links。
______百度百科