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

正文內(nèi)容

[所有分類]第5章 數(shù)據(jù)庫對象的操作-全文預(yù)覽

2025-02-09 13:13 上一頁面

下一頁面
  

【正文】 8所示。 圖 57 選擇多個(gè)字段共同做為主鍵對話框 創(chuàng)建約束 ( PRIMARY KEY)約束 ( 2)使用 TransactSQL語句操作法設(shè)置主鍵約束,其語法形式如下: CONSTRAINT constraint_name PRIMARY KEY [CLUSTERED|NONCLUSTERED] ( column_name) ?PRIMARY KEY用于定義表約束時(shí),即將某些列的組合定義為主鍵,其語法格式如下: CONSTRAINT constraint_name PRIMARY KEY [CLUSTERED|NONCLUSTERED] ( column_name[,…n] ) 創(chuàng)建約束 ( PRIMARY KEY)約束 例 55 建立一個(gè) SC表,定義 SNO, CNO共同組成 SC的主鍵 程序清單如下: CREATE TABLE SC (SNO CHAR(5) NOT NULL, CNO CHAR(5) NOT NULL, SCORE NUMERIC(3), CONSTRAINT SC_PRIM PRIMARY KEY(SNO,CNO)) 創(chuàng)建約束 2. 惟一性約束 惟一性約束用于指定一個(gè)或者多個(gè)列的組合值具有惟一性,以防止在列中輸入重復(fù)的值。 ? 注意:不能為同一個(gè)列或一組列既定義 UNIQUE約束,又定義PRIMARY KEY約束。 ? 完整性約束的基本語法格式為: [CONSTRAINT constraint_name(約束名) ] 約束類型 約束不指定名稱時(shí),系統(tǒng)會給定一個(gè)名稱。 創(chuàng)建表 2. 利用 create命令創(chuàng)建表 ?例 53 創(chuàng)建了一個(gè)工人信息表,它包括工人編號、姓名、性別、出生日期、職位、工資和備注信息。 ? NOT FOR REPLICATION:用于指定列的 IDENTITY屬性,在把從其他表中復(fù)制的數(shù)據(jù)插入到表中時(shí)不發(fā)生作用,即不生成列值,使得復(fù)制的數(shù)據(jù)行保持原來的列值。 ? constant_expression:用于指定列的默認(rèn)值的常量表達(dá)式、可以為一個(gè)常量或 NULL或系統(tǒng)函數(shù)。 ? ON {filegroup | DEFAULT}:用于指定存儲表的文件組名。 ? owner:用于指定新建表的所有者的用戶名。在圖 54的對話框中,可以對表的結(jié)構(gòu)進(jìn)行更改,設(shè)置主鍵及字段屬性,使用 SQL Server管理平臺可以非常直觀地修改數(shù)據(jù)庫結(jié)構(gòu)和添加數(shù)據(jù)。 圖 51 打開用戶定義的數(shù)據(jù)類型窗口 圖 52 用戶定義的數(shù)據(jù)類型屬性對話框 自定義數(shù)據(jù)類型 ( 2) 利用系統(tǒng)存儲過程創(chuàng)建用戶自定義數(shù)據(jù)類型 ?系統(tǒng)存儲過程 sp_addtype為用戶提供了用 T_SQL語句創(chuàng)建自定義數(shù)據(jù)類型的途徑,其語法形式如下: sp_addtype [typename=] type, [phystype=] system_data_type [, [nulltype=] ‘null_type’] [, [owner=] ‘owner_name’] 自定義數(shù)據(jù)類型 ( 2) 利用系統(tǒng)存儲過程創(chuàng)建用戶自定義數(shù)據(jù)類型 ?例 51 自定義一個(gè)地址( address)數(shù)據(jù)類型。使用 Cursor 數(shù)據(jù)類型創(chuàng)建的變量可以為空。 ( 5) XML :可以存儲 XML數(shù)據(jù)的數(shù)據(jù)類型。當(dāng)它所定義的列在更新或者插入數(shù)據(jù)行時(shí),此列的值會被自動更新,一個(gè)計(jì)數(shù)值將自動地添加到此 Timestamp數(shù)據(jù)列中。此數(shù)據(jù)類型極大地方便了 SQL Server的開發(fā)工作。其他含義同 Binary。 系統(tǒng)數(shù)據(jù)類型 6. 二進(jìn)制字符數(shù)據(jù)類型 ?二進(jìn)制數(shù)據(jù)類型包括 Binary、 Varbinary、 Image三種: ( 1) Binary:其定義形式為 Binary( n),數(shù)據(jù)的存儲長度是固定的,即 n+4個(gè)字節(jié),當(dāng)輸入的二進(jìn)制數(shù)據(jù)長度小于 n時(shí),余下部分填充 0。 ( 2) Nvarchar:其在 SQL Server 2022中新的定義形式為 Nvarchar (n | max) 。 ( 3) Text:用于存儲文本數(shù)據(jù),其容量理論上為 1~2311( 2, 147, 483, 647)個(gè)字節(jié),但實(shí)際應(yīng)用時(shí)要根據(jù)硬盤的存儲空間而定。如果定義了一個(gè) Char數(shù)據(jù)類型,而且允許該列為空,則該字段被當(dāng)作 Varchar來處理。 ( 1) Char:其定義形式為 Char( n),當(dāng)用 Char數(shù)據(jù)類型存儲數(shù)據(jù)時(shí),每個(gè)字符和符號占用一個(gè)字節(jié)的存儲空間。 ( 2) Smalldatetime:與 Datetime數(shù)據(jù)類型類似,但其日期時(shí)間范圍較小,它存儲從 1900年 1月 1日 ~2079年 6月 6日內(nèi)的日期。 Datetime數(shù)據(jù)類型所占用的存儲空間為 8個(gè)字節(jié),其中前 4個(gè)字節(jié)用于存儲基于 1900年 1月 1日之前或者之后日期數(shù),數(shù)值分正負(fù),負(fù)數(shù)存儲的數(shù)值代表在基數(shù)日期之前的日期,正數(shù)表示基數(shù)日期之后的日期,時(shí)間以子夜后的毫秒存儲在后面的 4個(gè)字節(jié)中。如果不指定 Float 數(shù)據(jù)類型的長度,它占用 8個(gè)字節(jié)的存儲空間。 ( 1) Real:可以存儲正的或者負(fù)的十進(jìn)制數(shù)值,最大可以有7位精確位數(shù)。 系統(tǒng)數(shù)據(jù)類型 精確數(shù)字類型 (5)貨幣數(shù)據(jù)類型 貨幣數(shù)據(jù)類型包括 Money和 SmallMoney兩種: ( 1) Money:用于存儲貨幣值,存儲在 money數(shù)據(jù)類型中的數(shù)值以一個(gè)正數(shù)部分和一個(gè)小數(shù)部分存儲在兩個(gè) 4字節(jié)的整型值中,存儲范圍為( 9223372136854775808)到( 9223372136854775807),精確到貨幣單位的千分之十。 (4)Decimal數(shù)據(jù)類型和 Numeric數(shù)據(jù)類型 Decimal數(shù)據(jù)類型和 Numeric數(shù)據(jù)類型完全相同,它們可以提供小數(shù)所需要的實(shí)際存儲空間,但也有一定的限制,可以用 2~17個(gè)字節(jié)來存儲 1038+1到 10381之間的固定精度和小數(shù)位的數(shù)字。每個(gè) tinyint類型的數(shù)據(jù)占用 1個(gè)字節(jié)的存儲空間。每個(gè) Int數(shù)據(jù)類型值存儲在 4個(gè)字節(jié)中。 系統(tǒng)數(shù)據(jù)類型 精確數(shù)字類型 (2)整數(shù)類型 : 整數(shù)類型是最常用的數(shù)據(jù)類型之一,它主要用來存儲數(shù)值,可以直接進(jìn)行數(shù)據(jù)運(yùn)算,而不必使用函數(shù)轉(zhuǎn)換。 系統(tǒng)數(shù)據(jù)類型 精確數(shù)字類型 (1)精確數(shù)字類型包括: ?整數(shù)類型 。 ( 4)小數(shù)位數(shù)(僅用于數(shù)字?jǐn)?shù)據(jù)類型)。第 5章 數(shù)據(jù)庫對象的操作 數(shù)據(jù)類型 ?在 SQL Server2022 中,每個(gè)列、局部變量、表達(dá)式和參數(shù)都有其各自的數(shù)據(jù)類型。 ( 3)數(shù)字精度(僅用于數(shù)字?jǐn)?shù)據(jù)類型)。 系統(tǒng)數(shù)據(jù)類型 精確數(shù)字類型; 近似數(shù)字類型; 日期和時(shí)間類型; 字符數(shù)據(jù)類型; Unicode 字符數(shù)據(jù)類型; 二進(jìn)制字符數(shù)據(jù)類型; 其它數(shù)據(jù)類型。 ?Money和 SmallMoney(貨幣類型)。 ( 2) Int( Integer): Int(或 integer)數(shù)據(jù)類型可以存儲從( 2147483648)到( 2147483647)范圍之間的所有正負(fù)整數(shù)。 ( 4) Tinyint:可以存儲從 0~255范圍之間的所有正整數(shù)。這種數(shù)據(jù)類型常作為邏輯變量使用,用來表示真、假或是、否等二值選擇。例如: decimal( 10, 5),表示共有 10位數(shù),其中整數(shù) 5位,小數(shù) 5位。 系統(tǒng)數(shù)據(jù)類型 近似數(shù)字類型 ?近似數(shù)字類型包括 Real和 Float兩大類。 ( 2) Float:可以精確到第 15位小數(shù),其范圍從 308~+308。 系統(tǒng)數(shù)據(jù)類型 3. 日期和時(shí)間數(shù)據(jù)類型 ( 1) Datetime:用于存儲日期和時(shí)間的結(jié)合體,它可以存儲從公元 1753年 1月 1日零時(shí)起 ~公元 9999年 12月 31日 23時(shí) 59分 59秒之間的所有日期和時(shí)間,其精確度可達(dá)三百分之一秒,即 ??梢越邮艿妮斎敫袷饺缦拢?Jan 4 199 JAN 4 199 January 4 199 Jan 1999 1999 4 Jan和 1999 Jan 4。在使用字符數(shù)據(jù)類型時(shí),需要在其前后加上英文單引號或者雙引號。若輸入數(shù)據(jù)的字符串長度小于 n,則系統(tǒng)自動在其后添加空格來填滿設(shè)定好的空間;若輸入的數(shù)據(jù)過長,將會截掉其超出部分。例如定義 Varchar( 20),則它對應(yīng)的字段最多可以存儲20個(gè)字符,但是在每一列的長度達(dá)到 20字節(jié)之前系統(tǒng)不會在其后添加空格來填滿設(shè)定好的空間,因此使用 Varchar類型可以節(jié)省空間。 Nchar數(shù)據(jù)類型采用 Unicode標(biāo)準(zhǔn)字符集, Unicode標(biāo)準(zhǔn)用兩個(gè)字節(jié)為一個(gè)存儲單位,其一個(gè)存儲單位的容納量就大大增加了,可以將全世界的語言文字都囊括在內(nèi),在一個(gè)數(shù)據(jù)列中就可以同時(shí)出現(xiàn)中文、英文、法文等,而不會出現(xiàn)編碼沖突。Ntext數(shù)據(jù)類型采用 Unicode標(biāo)準(zhǔn)字符集,因此其理論上的容量為 2301( 1, 073, 741, 823)個(gè)字節(jié)。數(shù)據(jù)的存儲長度是變化的,它為實(shí)際所輸入數(shù)據(jù)的長度加上 4字節(jié)。 系統(tǒng)數(shù)據(jù)類型 7. 其它數(shù)據(jù)類型 ( 1) Sql_variant:用于存儲除文本、圖形數(shù)據(jù)和 Timestamp類型數(shù)據(jù)外的其他任何合法的SQL Server數(shù)據(jù)。 ( 3) Timestamp:亦稱時(shí)間戳數(shù)據(jù)類型,它提供數(shù)據(jù)庫范圍內(nèi)的惟一值,反應(yīng)數(shù)據(jù)庫中數(shù)據(jù)修改的相對順序,相當(dāng)于一個(gè)單調(diào)上升的計(jì)數(shù)器。此數(shù)字可以通過調(diào)用 SQL Server的 newid()函數(shù)獲得,在全球各地的計(jì)算機(jī)經(jīng)由此函數(shù)產(chǎn)生的數(shù)字不會相同。 ( 6) Cursor:這是變量或存儲過程 OUTPUT 參數(shù)的一種數(shù)據(jù)類型,這些參數(shù)包含對游標(biāo)的引用。 ?SQL Server為用戶提供了兩種方法來創(chuàng)建自定義數(shù)據(jù)類型: ( 1) 使用 SQL Server管理平臺創(chuàng)建用戶自定義數(shù)據(jù)類型; ( 2)利用系統(tǒng)存儲過程創(chuàng)建用戶自定義數(shù)據(jù)類型 自定義數(shù)據(jù)類型 ( 1) 使用 SQL Server管理平臺創(chuàng)建用戶自定義數(shù)據(jù)類型 在 SQL Server管理平臺中,打開指定的服務(wù)器和數(shù)據(jù)庫項(xiàng),如圖 51所示,選擇并展開“程序→ 類型”項(xiàng),接下來用右鍵單擊“用戶自定義數(shù)據(jù)類型”選項(xiàng),從彈出的快捷菜單中選擇“新建”命令,出現(xiàn)用戶定義的數(shù)據(jù)類型屬性對話框,如圖 52所示。 創(chuàng)建表 創(chuàng)建約束 修改表 查看表 刪除表 創(chuàng)建表 SQL Server管理平臺創(chuàng)建表 在 SQL Server管理平臺中,展開指定的服務(wù)器和數(shù)據(jù)庫,打開想要?jiǎng)?chuàng)建新表的數(shù)據(jù)庫,右擊表對象,并從彈出的快捷菜單中選擇“新建表”選項(xiàng),如圖 54所示。 ? 其完整語法形式如下: CREATE TABLE [database_name.[owner].|owner.]table_name ( {column_definition|column_name AS puted_column_expression| table_constraint}[, …n] ) [ON{ filegroup|DEFAULT}] [TEXTIMAGE_ON { filegroup|DEFAULT}] column_definition::={column_name data_type} [COLLATE collation_name] [[DEFAULT constant_expression] |[IDENTITY[( seed,increment ) [NOT FOR REPLICATION]]]] [ROWGUIDCOL] [column_constraint][...n] 創(chuàng)建表 2. 利用 create命令創(chuàng)建表 其中,各參數(shù)的說明如下 : ? database_name:用于指定所創(chuàng)建表的數(shù)據(jù)庫名稱。 ? puted_column_expression:用于指定計(jì)算列的列值表達(dá)式。 ? DEFAULT:用于指定列的默認(rèn)值。 Increment:用于指定標(biāo)識列的增量值。 ? column_constraint和 table_constraint:用于指定列約束和表約束。 ? 列約束是對某一個(gè)特定列的約束,包含在列定義中,直接跟在該列的其他定義之后,用空格分隔,不必指定列名;表約束與列定義相互獨(dú)立,不包括在列定義中,通常用于對多個(gè)列一起進(jìn)行約束,與列定義用’ ,’分隔,定義表約束時(shí)必須指出要約束的那些列的名稱。 PRIMARY KEY與 UNIQUE約束類似,通過建立唯一索引來保證基本表在主鍵列取值的唯一性,但它們之間存在著很大的區(qū)別: ①在一個(gè)基本表中只能定義一個(gè) PRIMARY KEY約束,但可定義多個(gè)UNIQUE約束; ②對于指定為 PRIMARY KEY的一個(gè)列或多個(gè)列的組合,其中任何一個(gè)列都不能出現(xiàn)空值,而對于 UNIQUE所約束的唯一鍵,則允許為空。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1