(2.1)DDL增强功能-数据类型、同义词、分区表
1.數(shù)據(jù)類型
(1)常用數(shù)據(jù)類型
1.整數(shù)類型
| int | ?存儲范圍是-2,147,483,648到2,147,483,647之間的整數(shù),主鍵列常設置此類型。 (每個數(shù)值占用 4字節(jié)) |
| smallint | ?存儲范圍是-32,768 到 32,767 之間的整數(shù),用來存儲限定在特定數(shù)值范圍內的數(shù)據(jù)。 (每個數(shù)值占用 2 字節(jié)) |
| tinyint | ?存儲范圍是0到255 之間的整數(shù),用來存儲有限數(shù)目的數(shù)值。 (每個數(shù)值占用 1 字節(jié)) |
| bigint | ?存儲范圍是-9,223,372,036,854,775,808到?9,223,372,036,854,775,807之間的整數(shù)。 (每個數(shù)值占用?8 字節(jié)) |
| bit | ?值只能是0或1,當輸入0以外的其他值時,系統(tǒng)均把它們當1看待。常用來表示真假、男女等二值選擇。 |
?
2.數(shù)值類型
| decimal(p,s) | ?p 為精度(有效位),表示可儲存數(shù)值的最大位數(shù),小數(shù)點左右兩側都包括在內,默認最大位為38 位;s為小數(shù)位數(shù),標識小數(shù)點后 ?面所能儲存的最大位數(shù),默認最小位為0位。如:123.45,則 p=5,s=2(內存大小取決于精度p) |
| numeric(p,s) | ?numeric 和 decimal 是功能相同的,同是用來保存精度可變的浮點型數(shù)據(jù)。 |
| float | ?浮點型,它是一種近似數(shù)值類型,float(n)可儲存1-53的可變精度浮點數(shù)值。 (內存大小取決于精度n) |
| money | ?貨幣型,能存儲從-9220 億到 9220 億之間的數(shù)據(jù),精確到小數(shù)點后四位。 (每個數(shù)值占用 8 字節(jié)) |
?
3.日期時間
| datetime | ?儲存有效日期范圍是1753/1/1~9999/12/31,可精準到3.33毫秒。(每個數(shù)值占用 8 字節(jié)) |
| smalldatetime | ?儲存有效日期范圍是1900/1/1~2079/6/6,精確到分鐘。(每個數(shù)值占用 4 字節(jié)) |
?
4.二進制類型
| image | ?雖然類型名為image, 但是并不意味著只能保存圖片二進制數(shù)據(jù),實際上它可以保存任何二進制數(shù)據(jù)。 |
?
?
5.字符串類型
| char(m) | ?固定長度字符串,長度為 m。 |
| nchar(m) | ?國際化固定長度字符串,長度為 m。 |
| varchar(m) | ?可變長度字符串,最大長度為m,且必須是一個介于 1 和 8,000 之間的數(shù)值。 |
| nvarchar(m) | ?國際化可變長度字符串,最大長度為m,?且必須是一個介于 1 和 4,000 之間的數(shù)值。 |
| text | ?可變長度字符串,最大長度為 231?- 1個字節(jié)。 |
| ntext | ?國際化可變長度字符串,最大長度為 230?- 1個字符。 |
| 國際化就是通用與標準。char、varchar、text儲存的字符是基于ASCII編碼格式,對于其他編碼格式的字符可能會造成存儲問題。Unicode字符集(萬國碼)就是為了解決字符集這種不兼容的問題而產生的,它所有的字符都用兩個字節(jié)表示,即英文字符也是用兩個字節(jié)表示。nchar、 nvarchar、ntext存儲的正是Unicode編碼格式的字符。所以一般來說,如果含有中文字符,用nchar、nvarchar、ntext, 如果只含英文字符,就用char、varchar、text。 | |
作者:Esofar
出處:http://www.cnblogs.com/esofar/p/4852765.html
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
第一大類:整數(shù)數(shù)據(jù)bit:bit數(shù)據(jù)類型代表0,1或NULL,就是表示true,false.占用1byte.int:以4個字節(jié)來存儲正負數(shù).可存儲范圍為:-2^31至2^31-1.smallint:以2個字節(jié)來存儲正負數(shù).存儲范圍為:-2^15至2^15-1tinyint: 是最小的整數(shù)類型,僅用1字節(jié),范圍:0至此^8-1第二大類:精確數(shù)值數(shù)據(jù)numeric:表示的數(shù)字可以達到38位,存儲數(shù)據(jù)時所用的字節(jié)數(shù)目會隨著使用權用位數(shù)的多少變化.decimal:和numeric差不多第三大類:近似浮點數(shù)值數(shù)據(jù)float:用8個字節(jié)來存儲數(shù)據(jù).最多可為53位.范圍為:-1.79E+308至1.79E+308.real:位數(shù)為24,用4個字節(jié),數(shù)字范圍:-3.04E+38至3.04E+38第四大類:日期時間數(shù)據(jù)datatime:表示時間范圍可以表示從1753/1/1至9999/12/31.使用8個字節(jié).,精確到3.33毫秒smalldatetime:表示時間范圍可以表示從1900/1/1至2079/12/31.使用4個字節(jié),精確到分鐘第五大類:字符串數(shù)據(jù)char:長度是設定的,最短為1字節(jié),最長為8000個字節(jié).不足的長度會用空白補上.varchar:長度也是設定的,最短為1字節(jié),最長為8000個字節(jié),尾部的空白會去掉.text:長寬也是設定的,最長可以存放2G的數(shù)據(jù).第六大類:Unincode字符串數(shù)據(jù)nchar:長度是設定的,最短為1字節(jié),最長為4000個字節(jié).不足的長度會用空白補上.儲存一個字符需要2個字節(jié).nvarchar:長度是設定的,最短為1字節(jié),最長為4000個字節(jié).尾部的空白會去掉.儲存一個字符需要2個字節(jié).ntext:長度是設定的,最短為1字節(jié),最長為2G.尾部的空白會去掉,儲存一個字符需要2個字節(jié).第七大類:貨幣數(shù)據(jù)類型money:記錄金額范圍為:-92233720368577.5808至92233720368577.5807.需要8 個字節(jié).smallmoney:記錄金額范圍為:-214748.3648至214748.36487.需要4個字節(jié).第八大類:標記數(shù)據(jù)timestamp:該數(shù)據(jù)類型在每一個表中是唯一的!當表中的一個記錄更改時,該記錄的timestamp字段會自動更新.uniqueidentifier:用于識別數(shù)據(jù)庫里面許多個表的唯一一個記錄.第九大類:二進制碼字符串數(shù)據(jù)binary:固定長度的二進制碼字符串字段,最短為1,最長為8000.varbinary:與binary差異為數(shù)據(jù)尾部是00時,varbinary會將其去掉image:為可變長度的二進制碼字符串,最長2G. 詳細數(shù)據(jù)類型分類?
(2)新增數(shù)據(jù)類型:
~ XML:專門用來存儲xml
~varchar(max)與nvarchar(max):加個max是什么意思呢,不是傳統(tǒng)意義上的8000,max指示該類型最大存儲大小為2^32 - 1,約為2G。該類型用來替代原本的text與ntext類型,text與ntext在未來更高的版本會被拋棄
~varbinary(max):與varbinary相同特性,max指示該類型最大存儲大小為2^32 - 1,約為2G
(3)數(shù)據(jù)存儲基本拓展:
概念:數(shù)據(jù)以頁為單位存儲,一個頁8KB,去掉固定要用的相關開銷,還有8060個字節(jié)可以使用。8個頁組成一個擴展區(qū);
分配單元:
【1】IN_ROW_DATA:存儲行內數(shù)據(jù)
【2】ROW_OVERFLOW_DATA:當【1】中的行數(shù)據(jù)超過一個頁最大存儲空間(即8060B時),存儲溢出數(shù)據(jù)。原行內留下一個24B的指針
【3】LOB_Data:存儲Lob(二進制)對象
2.同義詞
概念:同義詞的概念我是這么理解的,其實就是再起個名字;舉個例子,李狗蛋有3個稱呼,大名李狗蛋,外號二狗子,小名蛋蛋。
? ??由此可以看出,大名、外號、小名都代表的是同一個人,外號和小名是基于大名得來的,所以大名就叫做基對象,而小名和外號就叫做同義詞。
特點:
(1)局部同義詞名稱唯一
(2)對同義詞做的任何更改其實就是在修改基對象
(3)不能引用用戶定義的聚合函數(shù)
基本形式:
--基本形式 create synonym 同義詞名 for 基對象 --實例演示 create synonym test102 for dbo.test101?
?
3.分區(qū)表
概念:其實就是把表中數(shù)據(jù),根據(jù)水平或者垂直分割
(1)水平分割:其實就是列太多,把它分到多個表中,要查的時候就join起來
(2)垂直分割:其實就是行數(shù)據(jù)太多,導致單表太大,把它分成多個相同結構的表,分別根據(jù)某個邏輯(比如說時間字段)去進行分割
操作:
? ? (1). 創(chuàng)建分區(qū)函數(shù)?
(2). 創(chuàng)建分區(qū)方案
(3). 對表進行分區(qū)
概念加實操參考:
(1)基礎:http://www.cnblogs.com/gered/p/8074747.html
(2)深入:http://www.cnblogs.com/gered/p/8856585.html
(3)探究:http://www.cnblogs.com/CareySon/archive/2011/12/30/2307766.html
轉載于:https://www.cnblogs.com/gered/p/9117522.html
總結
以上是生活随笔為你收集整理的(2.1)DDL增强功能-数据类型、同义词、分区表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 驻马店治疗宫颈炎最好的医院推荐
- 下一篇: 保留