(2版)數(shù)據(jù)庫實(shí)驗(yàn)2 數(shù)據(jù)表創(chuàng)建管理_第1頁
(2版)數(shù)據(jù)庫實(shí)驗(yàn)2 數(shù)據(jù)表創(chuàng)建管理_第2頁
(2版)數(shù)據(jù)庫實(shí)驗(yàn)2 數(shù)據(jù)表創(chuàng)建管理_第3頁
(2版)數(shù)據(jù)庫實(shí)驗(yàn)2 數(shù)據(jù)表創(chuàng)建管理_第4頁
(2版)數(shù)據(jù)庫實(shí)驗(yàn)2 數(shù)據(jù)表創(chuàng)建管理_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

-7-實(shí)驗(yàn)二數(shù)據(jù)表的創(chuàng)建與管理一、實(shí)驗(yàn)?zāi)康募耙蟊緦?shí)的驗(yàn)?zāi)渴钦莆談?chuàng)建數(shù)據(jù)表的兩種方法,并了解對數(shù)據(jù)表修改方式?;疽蟀ǎ赫莆赵诳梢暬芾砥脚_中創(chuàng)建數(shù)據(jù)表的方法。掌握通過SQL命令創(chuàng)建數(shù)據(jù)表的方法。掌握常見數(shù)據(jù)表列約束和表約束的創(chuàng)建方式。了解對數(shù)據(jù)表進(jìn)行修改的基本方式。了解數(shù)據(jù)三種完整性設(shè)置與含義。二、實(shí)驗(yàn)原理及背景知識(一)表的結(jié)構(gòu)及可視化創(chuàng)建 表是對數(shù)據(jù)進(jìn)行存儲和操作的一種邏輯結(jié)構(gòu),每個(gè)表代表一個(gè)對象。數(shù)據(jù)庫通常包含多個(gè)表,每個(gè)表是一個(gè)存儲數(shù)據(jù)的實(shí)體,在數(shù)據(jù)庫中具有唯一的名稱。 表由若干個(gè)列組成,每一個(gè)列在表中是唯一的;其列值應(yīng)該為SQLServer認(rèn)可的數(shù)據(jù)類型,大小則規(guī)定列值的最大長度,小數(shù)位用于定義數(shù)據(jù)型numeric列的小數(shù)位數(shù),是否為空說明列值是否允許為空值,當(dāng)某列值沒有被顯式輸入時(shí),SQLServer將自動輸入該列的默認(rèn)值??梢暬芾砥脚_中創(chuàng)建表方法如實(shí)驗(yàn)圖2-1所示,在“表”文件夾上點(diǎn)擊右鍵,選擇“新建表”,則彈出實(shí)驗(yàn)圖2-2所示的界面。實(shí)驗(yàn)圖2-1創(chuàng)建表實(shí)驗(yàn)圖2-2設(shè)置表結(jié)構(gòu)實(shí)驗(yàn)圖2-2中,列中各屬性意義如下:名稱:字段名稱。長度:數(shù)據(jù)類型的長度。默認(rèn)值或綁定:新增記錄時(shí),設(shè)置該字段的默認(rèn)值。數(shù)據(jù)類型:字段的數(shù)據(jù)類型。允許空:設(shè)置字段是否可以為空。RouGuid:可以讓SQLServer自動產(chǎn)生一個(gè)全局惟一字段值,用戶不能輸入值。展開標(biāo)識規(guī)范:表示對應(yīng)字段是表中的一個(gè)標(biāo)識列,即新增的字段值為等差數(shù)列,字段屬性列必須為tinyint,smallint,int,decimal(p,0)或者mumeric(p,0)(p為精度,0表示小數(shù)位數(shù)),具有此屬性的字段會自動產(chǎn)生字段值,用戶不能輸入。標(biāo)識增量:等差數(shù)列的公差,即步長。標(biāo)識種子:等差數(shù)列的起始值。展開計(jì)算所得的規(guī)范:由公式來產(chǎn)生值。排列順序:指定字段的排列規(guī)則。(二)常用數(shù)據(jù)類型 在SQLServer2005中常用的數(shù)據(jù)類型主要有:實(shí)驗(yàn)表2-1常用數(shù)據(jù)類型數(shù)據(jù)類型說明char(n)和nchar(n)固定長度的字符或Unicode字符varchar(n)和nvarchar(n)可變長度的字符或Unicode字符datetime和smalldatetime時(shí)間日期型tinyint,smallint,int,bigint各種整型數(shù)值float和real近似小數(shù)數(shù)據(jù)類型,普通的帶小數(shù)點(diǎn)數(shù)據(jù)使用numeric和decimal精確的小數(shù)數(shù)值類型,精度高,存儲占用字節(jié)大bit位數(shù)類型,主要存儲bool類型數(shù)值(三)創(chuàng)建數(shù)據(jù)表基本語法格式CREATETABLE[database_name.[schema_name].|schema_name.]table_name(<column_definition>[<table_constraint>][,...n])[ONfilegroup|"default"}][{TEXTIMAGE_ON{filegroup|"default"}]其中,<column_definition>:=column_name<data_type>[NULL|NOTNULL][<column_constraint>[...n]] 其中,<column_constraint>:=[CONSTRAINTconstraint_name]{{PRIMARYKEY|UNIQUE|DEFAULT(default_value)]|CHECK[NOTFORREPLICATION](logical_expression)}|[FOREIGNKEY]REFERENCESreferenced_table_name[(ref_column)][ONDELETECASCADE][ONUPDATECASCADE]1、列的完整性約束條件NOTNULL約束:是否允許字段值為空UNIQUE約束:唯一性約束,不許重復(fù)DEFAULT約束:默認(rèn)值,比如:sSexchar(2)DEFAULT‘男’CHEECK約束:檢查約束,比如:sAgeintCHECK(Age>=10ANDAge<=50)PRIMARYKEY:主鍵約束,比如:sNochar(5)PRIMARYKEY2、表級完整性約束條件格式:CONSTRAINT<約束名><約束條件>UNIQUE,比如:CONSTRAINTSNo_unqUNIQUE(sName,sSex)CHECK,比如:CONSTRAINTcheck_bodyCHECK(sWeight/sHeight/sHeight>=19)PRIMARYKEY(),比如:PRIMARYKEY(sNo,ccNo)FOREIGNKEY(),比如:FOREIGNKEY(sNo)REFERENCEstudent(sNo)(四)修改數(shù)據(jù)表語法格式ALTERTABLE[database_name.[schema_name].|schema_name.]table_name{ALTERCOLUMNcolumn_name{[type_schema_name.]type_name[NULL|NOTNULL]}|ADD{<column_definition>|<table_constraint>}[,...n]|DROP{[CONSTRAINT]constraint_name|COLUMNcolumn_name}[,...n]}(五)刪除數(shù)據(jù)表語法格式DROPTABLE[database_name.[schema_name].|schema_name.]table_name[,...n][;]三、實(shí)驗(yàn)內(nèi)容及步驟(一)企業(yè)管理器管理表 1、建立“圖書”表。新建數(shù)據(jù)庫Test(或使用實(shí)驗(yàn)一數(shù)據(jù)庫),在“表”選項(xiàng)上右擊,在快捷菜單中選擇的“新建表”菜單項(xiàng),在實(shí)驗(yàn)圖2-3界面中輸入表的字段信息,然后點(diǎn)擊工具欄上“保存”按鈕,保存表。實(shí)驗(yàn)圖2-3表結(jié)構(gòu)編輯界面2、修改表。在對象管理器中找到要修改的表,然后右擊表名,在彈出的快捷菜單中選擇“修改”項(xiàng),即彈出表設(shè)計(jì)窗口,就可以對表進(jìn)行修改,修改完畢后保存即可。對剛才建立的“teacher”表增加一個(gè)“tTel”字段,數(shù)據(jù)類型選擇為char(11)。 3、在表中輸入數(shù)據(jù)。在對象管理器中展開數(shù)據(jù)庫Test,進(jìn)而展開“表”選項(xiàng),在其中找到“圖書”表,然后在表名上右擊,選擇“打開表”。如實(shí)驗(yàn)圖2-4所示。實(shí)驗(yàn)圖2-4對象資源管理器在隨后出現(xiàn)的窗口對表中數(shù)據(jù)進(jìn)行編輯即可,如實(shí)驗(yàn)圖2-5。實(shí)驗(yàn)圖2-5表中數(shù)據(jù)編輯界面(二)SQL命令管理表1、在數(shù)據(jù)庫中創(chuàng)建表(1)創(chuàng)建student表要求:sNo為主鍵;sSex的默認(rèn)值為'男'。(2)創(chuàng)建course_class表要求:ccNo為主鍵。(3)創(chuàng)建sutdent_course表要求:sNo和ccNo為主鍵;mark取值在大于等于0且小于等于100,即建立check約束,在sNo和ccNo上建立外鍵約束。3、修改所建立的3個(gè)表(1)為表course_class添加weekTime列,表示上課時(shí)間(2)修改course_class表,將mark的數(shù)據(jù)類型更改為numeric(3,0)注:“CK__student_co__mark__117F9D94”是創(chuàng)建sutdent_course表時(shí)自動為mark約束創(chuàng)建的名稱,在修改mark類型時(shí)通常需要先刪除依附于其上的約束。實(shí)驗(yàn)時(shí),請根據(jù)實(shí)際情況修改此名稱。(3)添加mark的check約束,取值區(qū)間為大于0且小于等于100(4)執(zhí)行下面刪除student中主鍵約束的命令。請讀者分析語句的執(zhí)行結(jié)果。(5)刪除course_class中的外鍵約束(sno_fkey,ccno_fkey)后,再嘗試刪除student中的主鍵約束。 四、實(shí)驗(yàn)測驗(yàn)1、使用SQL語句創(chuàng)建下面的表實(shí)驗(yàn)表2-2department表信息院系信息表:department字段名稱含義數(shù)據(jù)類型是否允許空約束dNo院系號Char(6)否主鍵dName院系名稱Varchar(20)否dTel院系電話Varchar(11)以020開頭實(shí)驗(yàn)表2-3major表信息專業(yè)信息表:major字段名稱含義數(shù)據(jù)類型是否允許空約束mNo專業(yè)號Char(6)否主鍵mName/r/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論