版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)表的創(chuàng)建和管理第1頁,課件共39頁,創(chuàng)作于2023年2月學(xué)習(xí)要點(diǎn):表的概念表的創(chuàng)建、修改和刪除添加、更新與刪除表中的數(shù)據(jù)數(shù)據(jù)完整性的概念及實(shí)施方法第2頁,課件共39頁,創(chuàng)作于2023年2月3.1表的概念表是數(shù)據(jù)的集合,是用來存儲(chǔ)數(shù)據(jù)和操作數(shù)據(jù)的邏輯結(jié)構(gòu)。表是由行和列組成的,行被稱為記錄,是組織數(shù)據(jù)的單位;列被稱為字段,每一列表示記錄的一個(gè)屬性。在特定表中,列名必須是唯一的,但相同的列名可以在數(shù)據(jù)庫中的不同表中使用。SQLServer中的每個(gè)表中最多允許有1024列,每行最多允許有8060字節(jié)的用戶數(shù)據(jù)。行和列的次序是任意的。第3頁,課件共39頁,創(chuàng)作于2023年2月3.2數(shù)據(jù)類型第一大類:整數(shù)數(shù)據(jù)
bit:bit數(shù)據(jù)類型代表0,1或NULL,就是表true,false.
占用1byte.
int:以4個(gè)字節(jié)來存儲(chǔ)正負(fù)數(shù).可存儲(chǔ)范圍為:-
(-2147483648至2147483647).
smallint:以2個(gè)字節(jié)來存儲(chǔ)正負(fù)數(shù).存儲(chǔ)范圍為:-
(-32768至32767)
tinyint:
是最小的整數(shù)類型,僅用1字節(jié),范圍:0至
255
bigint:以8個(gè)字節(jié)存儲(chǔ),是SQLServer2000引入的全新的數(shù)據(jù)類型,可以存儲(chǔ)范圍:(-263到263-1)第4頁,課件共39頁,創(chuàng)作于2023年2月第二大類:精確數(shù)值數(shù)據(jù)
numeric:表示的數(shù)字可以達(dá)到38位,存儲(chǔ)數(shù)據(jù)時(shí)所用的字節(jié)數(shù)目會(huì)隨著使用權(quán)用位數(shù)的多少變化.格式寫為numeric(p,s)
例如:numeric(10,4),表示共有10位數(shù),其中整數(shù)6位,小數(shù)4位。
decimal:和numeric類似。區(qū)別:numeric類型的列可以帶有IDENTITY關(guān)鍵字(唯一標(biāo)識(shí)符)。第5頁,課件共39頁,創(chuàng)作于2023年2月第三大類:近似浮點(diǎn)數(shù)值數(shù)據(jù)
float:用8個(gè)字節(jié)來存儲(chǔ)數(shù)據(jù).最多可為53位.范圍為:-1.79E+308至1.79E+308.
real:位數(shù)為24,用4個(gè)字節(jié),數(shù)字范圍:-3.04E+38至3.04E+38第四大類:日期時(shí)間數(shù)據(jù)
datatime:表示時(shí)間范圍可以表示從1753/1/1至9999/12/31,時(shí)間可以表示到3.33/1000秒.使用8個(gè)字節(jié).smalldatetime:表示時(shí)間范圍可以表示從1900/1/1至2079/12/31.使用4個(gè)字節(jié).第6頁,課件共39頁,創(chuàng)作于2023年2月第五大類:字符串?dāng)?shù)據(jù)
char[(n)]:長(zhǎng)度是設(shè)定的,最短為1字節(jié),最長(zhǎng)為8000個(gè)字節(jié).不足的長(zhǎng)度會(huì)用空白補(bǔ)上.
例如:char(10)
Varchar[(n)]:變長(zhǎng)字符型數(shù)據(jù),最短為1字節(jié),最長(zhǎng)為8000個(gè)字節(jié),尾部的空白會(huì)去掉.
text:長(zhǎng)專門用于存儲(chǔ)數(shù)量龐大的變長(zhǎng)字符數(shù)據(jù),,最長(zhǎng)可以存放2G(231-1個(gè)字符)的數(shù)據(jù).第7頁,課件共39頁,創(chuàng)作于2023年2月第六大類:Unincode字符串?dāng)?shù)據(jù)
nchar:長(zhǎng)度是設(shè)定的,最短為1字節(jié),最長(zhǎng)為4000個(gè)字節(jié).不足的長(zhǎng)度會(huì)用空白補(bǔ)上.儲(chǔ)存雙字節(jié)字符,nchar(m)中的m代表的含義是用來定義字符數(shù)據(jù)的最大長(zhǎng)度.
nvarchar:可變長(zhǎng)度,最短為1字節(jié),最長(zhǎng)為4000個(gè)字節(jié).尾部的空白會(huì)去掉.儲(chǔ)存一個(gè)字符需要2個(gè)字節(jié).
ntext:可變長(zhǎng)度,最短為1字節(jié),最長(zhǎng)為230-1個(gè)unicode數(shù)據(jù).尾部的空白會(huì)去掉,儲(chǔ)存一個(gè)字符需要2個(gè)字節(jié).第8頁,課件共39頁,創(chuàng)作于2023年2月第七大類:貨幣數(shù)據(jù)類型
money:記錄金額范圍為:-92233720368577.5808至92233720368577.5807.需要8個(gè)字節(jié).
smallmoney:記錄金額范圍為:-214748.3648至214748.36487.需要4個(gè)字節(jié).第八大類:標(biāo)記數(shù)據(jù)
timestamp:該數(shù)據(jù)類型在每一個(gè)表中是唯一的!當(dāng)表中的一個(gè)記錄更改時(shí),該記錄的timestamp字段會(huì)自動(dòng)更新.
第9頁,課件共39頁,創(chuàng)作于2023年2月第九大類:二進(jìn)制碼字符串?dāng)?shù)據(jù)
binary:固定長(zhǎng)度的二進(jìn)制碼字符串字段,最短為1,最長(zhǎng)為8000.
varbinary:與binary差異為數(shù)據(jù)尾部是00時(shí),varbinary會(huì)將其去掉
image:為可變長(zhǎng)度的二進(jìn)制碼字符串,最長(zhǎng)2G.第10頁,課件共39頁,創(chuàng)作于2023年2月3.3表結(jié)構(gòu)的建立和刪除
1、表的建立表是包含數(shù)據(jù)庫中所有數(shù)據(jù)的數(shù)據(jù)庫對(duì)象,用來存儲(chǔ)各種各樣的信息。在SQLServer2005中,一個(gè)數(shù)據(jù)庫中最多可以創(chuàng)建20億個(gè)表,用戶創(chuàng)建數(shù)據(jù)庫表時(shí),最多可以定義1024列。在同一數(shù)據(jù)庫的不同表中,可以有相同的字段,但在同一個(gè)表中不允許有相同的字段,而且每個(gè)字段都要求數(shù)據(jù)類型相同。第11頁,課件共39頁,創(chuàng)作于2023年2月一般的SQL建表語句形式CREATETABLE表名[表約束](列名1數(shù)據(jù)類型[缺省值1,列約束1]
列名2數(shù)據(jù)類型[缺省值2,列約束2]
…
列名n數(shù)據(jù)類型[缺省值n,列約束n])第12頁,課件共39頁,創(chuàng)作于2023年2月例3-1創(chuàng)建三張表,表結(jié)構(gòu)如下:列名描述數(shù)據(jù)類型約束默認(rèn)值SnoSnameSsexSageSdept學(xué)號(hào)姓名性別年齡所在系字符型,長(zhǎng)度為7字符型,長(zhǎng)度為10字符型,長(zhǎng)度為2微整數(shù)字符型,長(zhǎng)度20主碼非空男Student表結(jié)構(gòu)第13頁,課件共39頁,創(chuàng)作于2023年2月Course表結(jié)構(gòu)列名說明數(shù)據(jù)類型約束默認(rèn)值CnoCnameCcreditCSemester課程號(hào)課程名學(xué)分學(xué)期字符型,長(zhǎng)度為10字符型,長(zhǎng)度為20微整數(shù)微整數(shù)主碼非空
3第14頁,課件共39頁,創(chuàng)作于2023年2月
列名說明數(shù)據(jù)類型約束SnoCnoGrade學(xué)號(hào)課程號(hào)成績(jī)字符型,長(zhǎng)度為7字符型,長(zhǎng)度為10浮點(diǎn)數(shù)主碼,引用Student的外碼主碼,引用Course的外碼Sc表結(jié)構(gòu)第15頁,課件共39頁,創(chuàng)作于2023年2月CREATETABLEStudent(SnoCHAR(7)PRIMARYKEY,
SnameCHAR(10)NOTNULL,SsexCHAR(2)DEFAULT‘男’,SageTINYINT,SdeptCHAR(20),)第16頁,課件共39頁,創(chuàng)作于2023年2月CREATETABLECourse(CnoCHAR(10)PRIMARYKEY,
CnameCHAR(20)NOTNULL,CcreditTINYINTDEFAULT3,SemesterTINYINT,)第17頁,課件共39頁,創(chuàng)作于2023年2月CREATETABLESc(SnoCHAR(7),
CnoCHAR(10),GradeFLOAT,
PRIMARYKEY(Sno,Cno),
FOREIGNKEY(Sno)REFERENCESStudent(Sno),
FOREIGNKEY(Cno)REFERENCESCourse(Cno))第18頁,課件共39頁,創(chuàng)作于2023年2月2、表的刪除刪除表的命令一般形式DROPTABLE表名例3-2刪除教師表
DROPTABLEteacher第19頁,課件共39頁,創(chuàng)作于2023年2月3.4表結(jié)構(gòu)的擴(kuò)充和修改
1、修改表的命令一般形式
ALTERTABLE表名{ADD列名數(shù)據(jù)類型[NULL/NOTNULL]|ALTERCOLUMN列名數(shù)據(jù)類型[NULL|NOTNULL]|DROPCOLUMN列名}
第20頁,課件共39頁,創(chuàng)作于2023年2月例3-3在student中增加住址列
ALTERTABLEstudentADDaddressCHAR(50)例3-4修改student表中的sdept字段,將數(shù)據(jù)類型長(zhǎng)度為30ALTERTABLEstudentALTERCOLUMNsdeptchar(30)例3-5把Student表中的Sdept列刪除。
ALTERTABLEStudentDROPCOLUMNSdept第21頁,課件共39頁,創(chuàng)作于2023年2月2.添加主關(guān)鍵字
ALTERTABLE表名
ADD[CONSTRAINT約束名]PRIMARYKEY(主鍵列)3、刪除主關(guān)鍵字
ALTERTABLE<表名>
DROP[CONSTRAINT]約束名3.補(bǔ)充定義外來關(guān)鍵字
ALTERTABLE<表名-1>
ADD[CONSTRAINT約束名]FOREIGNKEY[(<外來關(guān)鍵字名>)]REFERENCES(<表名-2>)5.刪除外來關(guān)鍵字
ALTERTABLE<表名>
DROP<外來關(guān)鍵字名>第22頁,課件共39頁,創(chuàng)作于2023年2月例3-6補(bǔ)充定義student表的主關(guān)鍵字。
ALTERTABLEStudentADDCONSTRAINTpk_studentPRIMARYKEY(Sno)例3-7、刪除course表中的主關(guān)鍵字。
ALTERTABLEcourseDROPpk_course例3-8、修改sc表,在sno字段上創(chuàng)建外鍵約束。
ALTERTABLEscADDCONSTRAINTfk_sc_studentFOREIGNKEY(sno)REFERENCESstudent(sno)
第23頁,課件共39頁,創(chuàng)作于2023年2月例3-9、刪除sc表中sno字段上的外鍵約束
ALTERTABLEscDROPfk_sc_student例3-10、向Student表增加“入學(xué)時(shí)間”列,其數(shù)據(jù)類型為日期型。
ALTERTABLEStudentADDScomedateDATETIME例3-11、將年齡的數(shù)據(jù)類型改為半字長(zhǎng)整數(shù)。
ALTERTABLEStudentALTERCOLUMNSageSMALLINT第24頁,課件共39頁,創(chuàng)作于2023年2月3.5數(shù)據(jù)完整性數(shù)據(jù)完整性是指存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)的一致性和準(zhǔn)確性。數(shù)據(jù)完整性技術(shù)是衡量數(shù)據(jù)庫質(zhì)量好壞的重要標(biāo)準(zhǔn)。在MicrosoftSQLServer系統(tǒng)中,提供了一系列實(shí)現(xiàn)數(shù)據(jù)完整性的方法,這些方法主要包括主鍵約束、外鍵約束、非空約束、惟一約束、默認(rèn)值約束、檢查約束以及規(guī)則和默認(rèn)對(duì)象。第25頁,課件共39頁,創(chuàng)作于2023年2月分類:實(shí)體完整性參照完整性域完整性
實(shí)體完整性又稱為行完整性。這里的實(shí)體是指表中的記錄,一個(gè)實(shí)體就是表的一條記錄。實(shí)體完整性要求在表中不能存在完全相同的記錄,而且每條記錄都要具有一個(gè)非空且不重復(fù)的主鍵值。
第26頁,課件共39頁,創(chuàng)作于2023年2月參照完整性:一般指多個(gè)實(shí)體或關(guān)系表之間的關(guān)聯(lián)關(guān)系,在關(guān)系數(shù)據(jù)庫中用外碼(Foreignkey)來實(shí)現(xiàn)參照完整性。域完整性也稱用戶定義的完整性或語義完整性。用戶定義的完整性實(shí)際上就是指明關(guān)系中屬性的取值范圍,也就是屬性的域,即限制關(guān)系中屬性的取值類型及取值范圍,防止屬性的值與應(yīng)用語義矛盾。第27頁,課件共39頁,創(chuàng)作于2023年2月約束定義了必須遵循的用于維護(hù)數(shù)據(jù)一致性和正確性的規(guī)則,是強(qiáng)制實(shí)現(xiàn)數(shù)據(jù)完整性的途徑。約束分類:主鍵約束外鍵約束唯一值約束檢查約束默認(rèn)約束第28頁,課件共39頁,創(chuàng)作于2023年2月1、唯一性約束(UNIQUE)UNIQUE用來限制不受主鍵約束的列上的數(shù)據(jù)的唯一性。一個(gè)表可以放置多個(gè)UNIQUE約束語法:[CONSTRAINTconstraint_name]UNIQUE(列名)
第29頁,課件共39頁,創(chuàng)作于2023年2月例3-12為student表添加身份證號(hào)列’id‘,并為’id’列添加唯一值約束。
ALTERTABLEstudentADDidBIGINTCONSTRAINTunq_idUNIQUE注:UNIQUE約束列允許有NULL值,但最多只能有一個(gè)NULL值,否則認(rèn)為重復(fù)。例3-13為course表的cname列添加唯一值約束。
ALTERTABLEcourseADDCONSTRAINTunq_cnameUNIQUE(cname)第30頁,課件共39頁,創(chuàng)作于2023年2月2、檢查約束(CHECK)CHECK約束用來指定某列的可取值范圍。通過限制輸入值強(qiáng)制控制域的完整性。語法:[CONSTRAINTconstraint_name]CHECK(檢查條件)
例3-14限制student表中的ssex列只能添入值為’男‘或’女’。ALTERTABLEstudentADDCONSTRAINTcheck_ssexCHECK(ssex=‘男’
orssex=‘女’)第31頁,課件共39頁,創(chuàng)作于2023年2月3、默認(rèn)約束(DEFAULT)DEFAULT約束用于給表中指定列賦予一個(gè)常量值(默認(rèn)值)。語法:[CONSTRAINT約束名]DEFAULT默認(rèn)值FOR列名例3-15為student中的sage列添加默認(rèn)值“19”。
ALTERTABLEstudentADDCONSTRAINTdefault_sageDEFAULT19FORsage第32頁,課件共39頁,創(chuàng)作于2023年2月上機(jī)實(shí)踐(獨(dú)立完成實(shí)驗(yàn))實(shí)驗(yàn)?zāi)康模罕菊聦?shí)驗(yàn)主要目的是學(xué)習(xí)正確創(chuàng)建表;掌握修改表結(jié)構(gòu)的方法;正確刪除表。實(shí)驗(yàn)內(nèi)容:自定義數(shù)據(jù)類型。分別用企業(yè)管理器和查詢分析器創(chuàng)建表。分別用企業(yè)管理器和查詢分析器修改表。分別用企業(yè)管理器和查詢分析器刪除表。第33頁,課件共39頁,創(chuàng)作于2023年2月實(shí)驗(yàn)題目:題目一:在學(xué)生數(shù)據(jù)庫student中創(chuàng)建學(xué)生個(gè)人信息數(shù)據(jù)表studentinfo
題目要求分析:studentinfo數(shù)據(jù)表中包含以下信息:學(xué)號(hào)、姓名、性別、年齡、班級(jí)、地址以及聯(lián)系方式等,如下表所示。第34頁,課件共39頁,創(chuàng)作于2023年2月字段名稱字段說明數(shù)據(jù)類型長(zhǎng)度屬性student_id學(xué)號(hào)CHAR8主鍵student_name姓名CHAR10不允許空student_sex性別CHAR2允許空year_old年齡TINYINT允許空address地址CHAR80允許空student_region籍貫CHAR10允許空student_phone聯(lián)系電話CHAR13允許空第35頁,課件共39頁,創(chuàng)作于2023年2月題目二:修改個(gè)人信息數(shù)據(jù)表studentinfo,完成如下操作:刪除year_old字段。向該表中添加一列,列名為email,數(shù)據(jù)類型為char,長(zhǎng)度
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年度新型屋面防火隔離技術(shù)勞務(wù)分包合同3篇
- 2025年度個(gè)人房屋租賃抵押反擔(dān)保合同示范文本
- 2025年度存量房屋買賣中介合同(綠色出行倡導(dǎo)升級(jí)版)4篇
- 二零二五年度爬架租賃與施工質(zhì)量保證合同3篇
- 二零二四年度幼兒園食堂營養(yǎng)餐配送服務(wù)合同3篇
- 2025個(gè)人獨(dú)資企業(yè)股權(quán)轉(zhuǎn)讓與品牌戰(zhàn)略規(guī)劃合同
- 2025年度出口商品檢驗(yàn)檢疫合同范本(中英雙語)3篇
- 2025年度企業(yè)宣傳片制作及推廣服務(wù)合同4篇
- 2025年度豪華游輪船員勞務(wù)合同標(biāo)準(zhǔn)文本4篇
- 2025年度個(gè)人設(shè)備更新過橋借款服務(wù)合同4篇
- 《醫(yī)院財(cái)務(wù)分析報(bào)告》課件
- 2025老年公寓合同管理制度
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)上冊(cè) 期末綜合卷(含答案)
- 2024中國汽車后市場(chǎng)年度發(fā)展報(bào)告
- 感染性腹瀉的護(hù)理查房
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 《人工智能基礎(chǔ)》全套英語教學(xué)課件(共7章)
- GB/T 35613-2024綠色產(chǎn)品評(píng)價(jià)紙和紙制品
- 2022-2023學(xué)年五年級(jí)數(shù)學(xué)春季開學(xué)摸底考(四)蘇教版
- 【螞蟻?!?024中國商業(yè)醫(yī)療險(xiǎn)發(fā)展研究藍(lán)皮書
- 軍事理論-綜合版智慧樹知到期末考試答案章節(jié)答案2024年國防大學(xué)
評(píng)論
0/150
提交評(píng)論