freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

廣東海洋大學(xué)第四章sqlserver的使用(編輯修改稿)

2025-06-17 12:14 本頁面
 

【文章內(nèi)容簡介】 ion dbname,optionname,value ? 例如: sp_dboption ‘student’,’read only’,’ON’ ? SQL SERVER用戶自定義的數(shù)據(jù)類型 ? 用戶定義的數(shù)據(jù)類型是由用戶創(chuàng)建的,它基于系統(tǒng)數(shù)據(jù)類型。如果要在多個表中存儲一種特定的數(shù)據(jù)類型,那你可以創(chuàng)建用戶定義數(shù)據(jù)類型,可以保證在它出現(xiàn)的所有表中相應(yīng)的列都有相同的數(shù)據(jù)類型、長度和空值性。 ? 創(chuàng)建用戶定義的數(shù)據(jù)類型必須提供如下參數(shù): ? 數(shù)據(jù)類型的名 ? 新數(shù)據(jù)類型所基于的系統(tǒng)數(shù)據(jù)類型 ? 數(shù)據(jù)類型的空值性 ? 使用 sp_addtype系統(tǒng)存儲過程創(chuàng)建用戶定義的數(shù)據(jù)類型 ? 語法: sp_addtype typename,system_datatype[,’null type’] typename 是用戶自定義的數(shù)據(jù)類型的名稱 system_datatype 是用戶類型所基于的系統(tǒng)的數(shù)據(jù)類型 ‘ null type’ 是數(shù)據(jù)類型為 ‘ NULL’或 ‘ NOT NULL’ ? 自定義數(shù)據(jù)類型的例子 。 sp_addtype typmydate,datetime,’NOT NULL’ sp_addtype typmychar,’char(10)’ 注:如果 NULL或 NOT NULL條件已經(jīng)在 CREATE TABLE 語句中指 出,那么忽略 null類型。 ? 刪除用戶自定義數(shù)據(jù)類型的例子 。 sp_droptype typmydate sp_droptype typmychar 注:如果表正在使用用戶自定義的數(shù)據(jù)類型,那么它不能被刪除。 ? SQL SERVER規(guī)則 ? 規(guī)則 為實施 列 或 用戶自定義數(shù)據(jù)類型 的域完整性提供一種類似約束( CONSTRAINT) 的檢查機制。即規(guī)則對列或用戶定義數(shù)據(jù)類型的值上設(shè)置了限制。 ? 規(guī)則 可以在不改變表的結(jié)構(gòu)的情況下實現(xiàn)檢查約束。(規(guī)則不同于約束,其不屬于表結(jié)構(gòu)的一部分。) ? 例子: Newspaper表中的 zip code應(yīng)為字符類型,并有如下的模式: [09][09][09][09][09][09][09][09][09],不改變表結(jié)構(gòu),如何實現(xiàn)該要求? ? 規(guī)則的創(chuàng)建 o 語法 CREATE RULE rul_name AS conditional_expression ? rul_name指定新規(guī)則的名字,它作為該規(guī)則的標(biāo)示符 ? conditional_expression指定用于定義規(guī)則的條件。這些條件可以是任何能在 WHERE子句中使用的有效表達式,這些表達式可以包含算術(shù)運算符、關(guān)系運算符、 IN、LIKE、 BETWEEN。 條件表達式中的變量必須以 @符號作為前綴。 ? 例子:某列的取值只能在 18~25歲之間的規(guī)則 CREATE RULE rulage AS @xage BETWEEN 18 AND 25 ? 規(guī)則綁定 當(dāng)規(guī)則被創(chuàng)建后,它必須綁定到列或用戶定義的數(shù)據(jù)類型 o 使用規(guī)則的限制 ? 一次只能使一個規(guī)則綁定一個列或用戶定義數(shù)據(jù)類型 ? 如果一個規(guī)則綁定用戶定義的數(shù)據(jù)類型,它不可代替綁定到數(shù)據(jù)類型的列的規(guī)則; ? 如果對一個已經(jīng)綁定了另一個規(guī)則的列或數(shù)據(jù)類型綁定以新的規(guī)則的話,新規(guī)則將替代老規(guī)則; ? 規(guī)則不能應(yīng)用于已插入到表中的數(shù)據(jù)。表中現(xiàn)有值不必滿足規(guī)則指定的準(zhǔn)則; o 使用 sp_bindrule系統(tǒng)存儲過程綁定規(guī)則 o 語法: sp_bindrule rule_name,object_name[,FUTUREONLY] ? rule_name指定將被綁定的規(guī)則的名稱 ? object_name以 定規(guī)則的列的名稱,或指定用戶定義數(shù)據(jù)類型的名稱。 ? FUTUREONLY只對綁定到用戶定義數(shù)據(jù)類型的規(guī)則才使用。它防止用戶定義數(shù)據(jù)類型對現(xiàn)有的列并入此規(guī)則。這個規(guī)則只可應(yīng)用于用戶定義數(shù)據(jù)類型的新列。如果取 NULL,則應(yīng)用所有的列。 ? 例子:將 rulage綁定到學(xué)生表的年齡列,因為學(xué)生年齡需要一個這樣的規(guī)則。 sp_bindrule rulage,’’ ? 例子:創(chuàng)建用戶自定義數(shù)據(jù)類型 ‘ myint’(源于 int),創(chuàng)建規(guī)則 rulex(變量取值 14到 28之間 ),將規(guī)則綁定到該用戶自定義數(shù)據(jù)類型上。且該規(guī)則只用于以后用該數(shù)據(jù)類型定義的列。 sp_addtype myint,int CREATE RULE rulx AS @x BETWEEN 14 AND 28 sp_bindrule rulx,’myint’,FUTUREONLY 注:不能夠系統(tǒng)定義的數(shù)據(jù)類型定義規(guī)則 ? 例子: Newspaper表中的 zip code應(yīng)為字符類型,并有如下的模式: [09][09][09][09][09][09][09][09][09],不改變表結(jié)構(gòu),如何實現(xiàn)該要求? CREATE RULE rulx AS @x LIKE ‘[09][09][09][09] [09][09][09][09][09]’ sp_bindrule rulx, ‘’ ? 取消規(guī)則綁定 使用 sp_unbindrule系統(tǒng)存儲過程可取消列或用戶自定義數(shù)據(jù)類型的規(guī)則。取消規(guī)則意味著規(guī)則將不再作用于列或該用戶定義的數(shù)據(jù)類型。 o 語法: sp_unbindrule object_name [,FUTUREONLY] ? object_name 是取消規(guī)則的表的 列名 或 用戶定義的數(shù)據(jù)類型 ? FUTUREONLY只能用于從用戶定義數(shù)據(jù)類型取消規(guī)則。它防止了對現(xiàn)有的用戶定義數(shù)據(jù)類型的列取消規(guī)則。 ? 例子:取消 Newspaper表的 zip code列上的規(guī)則 sp_unbindrule ‘’ ? 例子:用戶自定義數(shù)據(jù)類型 ‘ myint’已經(jīng)綁定了規(guī)則 rulex,現(xiàn)取消該綁定,但是當(dāng)前使用 myint類型的表列仍然保留該規(guī)則 sp_unbindrule ‘myint’,FUTUREONLY ? SQL SERVER缺省 ? 缺省 為賦予列的一個常量值,使用戶不需要插入值到列。缺省能夠約束到列或用戶自定義的數(shù)據(jù)類型 ? 缺省 使用 CREATE DEFAULT語句創(chuàng)建 語法: CREATE DEFAULT default_name AS constant_expression ? default_name指定缺省的名字,符合標(biāo)示符規(guī)則的命名 ? constant_expression指定一個只包含常量的表達式。 ? 例子:缺省值為 ‘ China’ CREATE DEFAULT defcountry AS ‘China’ ? 例子:缺省值為 ‘ 計算機系 ’ CREATE DEFAULT defdept AS ‘計算機系 ’ ? 綁定缺省 o 語法:使用系統(tǒng)存儲過程 sp_bindefault sp_bindefault default_name,object_name[,FUTUREONLY] ? default_name是使用 CREATE DEFAULT語句創(chuàng)建的缺省 ? object_name 以 ‘ ’指出列名,或者指出要綁定缺省的用戶自定義數(shù)據(jù)類型 ? FUTUREONLY只能用于把缺省綁定到用戶定義數(shù)據(jù)類型。它避免使用該用戶定義數(shù)據(jù)類型的現(xiàn)有列繼承這個新缺省,僅僅用于將來使用該數(shù)據(jù)類型的列。 ? 例子:將 defdept綁定到學(xué)生表的院系列,這樣學(xué)生院系值為 ‘ 計算機系 ’ 是無需輸入,可節(jié)省時間。 sp_bindefault defdept, ’’ ? 例子:創(chuàng)建用戶自定義數(shù)據(jù)類型 ‘ mychar’(源于 varchar),創(chuàng)建缺省 defcity(‘Los Angels’),將缺省綁定到該用戶自定義數(shù)據(jù)類型上。且該缺省用于所有使用該數(shù)據(jù)類型定義的表列。 sp_addtype mychar, ‘varchar(50)’ CREATE DEFAULT defcity AS ‘Los Angels’ sp_bindefault defcity,mychar ? 取消綁定缺省 o 語法:使用系統(tǒng)存儲過程 sp_unbindefault sp_unbindefault object_name[,FUTUREONLY] ? object_name 指出要取消綁定缺省的列或者用戶自定義數(shù)據(jù)類型; ? FUTUREONLY只能用于取消用戶定義數(shù)據(jù)類型中的缺省。它避免了用戶定義數(shù)據(jù)類型的現(xiàn)有列中的缺省被取消。缺省將不再應(yīng)用于用戶自定義數(shù)據(jù)類型的新列。 ? 例子:取消 Student表的 Sdept列上的規(guī)則 sp_unbindefault ‘’ ? 例子:用戶自定義數(shù)據(jù)類型 ‘ mychar’已經(jīng)綁定了缺省defcity, 現(xiàn)取消該綁定,但是當(dāng)前使用 mychar類型的表列仍然保留該缺省 sp_unbindefault ‘ mychar’,FUTUREONLY ?SQL SERVER索引 ? 索引 是 SQL SERVER使用的一種內(nèi)部表結(jié)構(gòu),它基于表中一個或多個列的值,提供對表中行的快速存取。 SQL SERVER中的索引類似于書本后的速印,它能幫助你定位內(nèi)容。 ? 使用 索引 的 優(yōu)點 索引的主要目標(biāo)是提高數(shù)據(jù)頁的存取速度。服務(wù)器并非對所需數(shù)據(jù)掃描每一頁,而是掃描索引,獲得數(shù)據(jù)存取單元的地址,并直接存取信息。 ? 提高查詢的執(zhí)行速度; ? 實施數(shù)據(jù)唯一性( UNQUE); ? 加速表之間的連接; ? 使用 索引 的 缺點 如果設(shè)計合理、索引可以提高查詢的性能。但是,為表中的每一列創(chuàng)建索引是不明智的。在創(chuàng)建索引時,需要考慮的因素: ? 創(chuàng)建索引需要花費時間; ? 每個創(chuàng)建的索引連同原先的數(shù)據(jù)源都需要空間存儲數(shù)據(jù) ; ? 每次修改表中的數(shù)據(jù)都需要更新索引; ?索引 的 分類 ? 聚集索引(簇索引); ? 非聚集索引(非簇索引); o 唯一索引; ?簇索引 (聚集索引 ) ? 數(shù)據(jù)被物理地排序。在設(shè)置聚集索引時,數(shù)據(jù)表中的數(shù)據(jù)也會按照索引的順序來存放。例如在一個數(shù)據(jù)表中,將 ‘ 編號 ’ 設(shè)置為聚集索引,此時在該數(shù)據(jù)表中的數(shù)據(jù)將會按 ‘ 編號 ’ 字段的內(nèi)容來自動排序與存儲。加入要插入編號為‘ 123’ 的記錄,那么數(shù)據(jù)庫會將其放在 ‘ 122’ 和 ‘ 124’的記錄之間。 ? 每個表可允許創(chuàng)建一個簇索引 ? 簇索引是如何工作的 —— 在簇索引中,數(shù)據(jù)存儲在 B樹的葉子層上。當(dāng) SQL SERVER使用簇索引查找值時執(zhí)行以下步驟: SERVER從 sysindexes表中獲得根頁的地址; ; ; ; 3和 4,直到找到數(shù)據(jù)頁; ,直到找到查找值為止。如果在數(shù)據(jù)頁上找不到查找值,則此查詢無行返回。 Page 603 Eid PagePtr E001 601 E005 602 Page 601 Eid PagePtr E001 201 E003 202 Page 602 Eid PagePtr E005 203 E007 204 Root Page Page 201 Eid Name City … E001 John LA … E002 Bob Houton … Page 202 Eid Name City … E003 Mary Houston … E004 Kelly Boston … Page 203 Eid Name City … E005 Mark LA … E006 Will LA … Page 204 Eid Name City … E007 Charles Dallas … E008 Lisa NewYork … Data(Leaf) Pages 查找 Eid為 E005的行 ?非簇索引 (非聚集索引 ) ? 記錄行的物理順序不同于索引的順序; ? 非簇索引一般用在用于連接和 WHERE子句的列上創(chuàng)建,且它的值可能被經(jīng)常修改。 ? 每個表可多達 249個非簇索引。 ? 簇索引是如何工作的 —— SQL SERVER缺省情況下創(chuàng)建非簇索引。數(shù)據(jù)存儲以隨機順序出現(xiàn),擔(dān)邏輯順序按其索引給出。非簇索引樹包含按排列順序出現(xiàn)的索引鍵,其索引的葉子層包含數(shù)據(jù)頁的指針和數(shù)據(jù)頁中行號。 當(dāng) SQL SERVER使用費簇索引查找值時,它執(zhí)行以下步驟: SERVER從 sysindexes表中獲得根頁的地址; ; ; ; 3和 4,直到找到數(shù)據(jù)頁; ,在葉子頁上查找行。如果沒有匹配的,則此表沒有包含匹配的行。 ,指針進到表中的數(shù)據(jù)頁和行 ID, 現(xiàn)在檢索請求的行。 Page 603 Eid PagePtr E001 601 E005 602 Page 6
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1