(2版)數據庫實驗2 數據表創建管理_第1頁
(2版)數據庫實驗2 數據表創建管理_第2頁
(2版)數據庫實驗2 數據表創建管理_第3頁
(2版)數據庫實驗2 數據表創建管理_第4頁
(2版)數據庫實驗2 數據表創建管理_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

-7-實驗二數據表的創建與管理一、實驗目的及要求本實的驗目是掌握創建數據表的兩種方法,并了解對數據表修改方式。基本要求包括:掌握在可視化管理平臺中創建數據表的方法。掌握通過SQL命令創建數據表的方法。掌握常見數據表列約束和表約束的創建方式。了解對數據表進行修改的基本方式。了解數據三種完整性設置與含義。二、實驗原理及背景知識(一)表的結構及可視化創建 表是對數據進行存儲和操作的一種邏輯結構,每個表代表一個對象。數據庫通常包含多個表,每個表是一個存儲數據的實體,在數據庫中具有唯一的名稱。 表由若干個列組成,每一個列在表中是唯一的;其列值應該為SQLServer認可的數據類型,大小則規定列值的最大長度,小數位用于定義數據型numeric列的小數位數,是否為空說明列值是否允許為空值,當某列值沒有被顯式輸入時,SQLServer將自動輸入該列的默認值。可視化管理平臺中創建表方法如實驗圖2-1所示,在“表”文件夾上點擊右鍵,選擇“新建表”,則彈出實驗圖2-2所示的界面。實驗圖2-1創建表實驗圖2-2設置表結構實驗圖2-2中,列中各屬性意義如下:名稱:字段名稱。長度:數據類型的長度。默認值或綁定:新增記錄時,設置該字段的默認值。數據類型:字段的數據類型。允許空:設置字段是否可以為空。RouGuid:可以讓SQLServer自動產生一個全局惟一字段值,用戶不能輸入值。展開標識規范:表示對應字段是表中的一個標識列,即新增的字段值為等差數列,字段屬性列必須為tinyint,smallint,int,decimal(p,0)或者mumeric(p,0)(p為精度,0表示小數位數),具有此屬性的字段會自動產生字段值,用戶不能輸入。標識增量:等差數列的公差,即步長。標識種子:等差數列的起始值。展開計算所得的規范:由公式來產生值。排列順序:指定字段的排列規則。(二)常用數據類型 在SQLServer2005中常用的數據類型主要有:實驗表2-1常用數據類型數據類型說明char(n)和nchar(n)固定長度的字符或Unicode字符varchar(n)和nvarchar(n)可變長度的字符或Unicode字符datetime和smalldatetime時間日期型tinyint,smallint,int,bigint各種整型數值float和real近似小數數據類型,普通的帶小數點數據使用numeric和decimal精確的小數數值類型,精度高,存儲占用字節大bit位數類型,主要存儲bool類型數值(三)創建數據表基本語法格式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約束:唯一性約束,不許重復DEFAULT約束:默認值,比如: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)(四)修改數據表語法格式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]}(五)刪除數據表語法格式DROPTABLE[database_name.[schema_name].|schema_name.]table_name[,...n][;]三、實驗內容及步驟(一)企業管理器管理表 1、建立“圖書”表。新建數據庫Test(或使用實驗一數據庫),在“表”選項上右擊,在快捷菜單中選擇的“新建表”菜單項,在實驗圖2-3界面中輸入表的字段信息,然后點擊工具欄上“保存”按鈕,保存表。實驗圖2-3表結構編輯界面2、修改表。在對象管理器中找到要修改的表,然后右擊表名,在彈出的快捷菜單中選擇“修改”項,即彈出表設計窗口,就可以對表進行修改,修改完畢后保存即可。對剛才建立的“teacher”表增加一個“tTel”字段,數據類型選擇為char(11)。 3、在表中輸入數據。在對象管理器中展開數據庫Test,進而展開“表”選項,在其中找到“圖書”表,然后在表名上右擊,選擇“打開表”。如實驗圖2-4所示。實驗圖2-4對象資源管理器在隨后出現的窗口對表中數據進行編輯即可,如實驗圖2-5。實驗圖2-5表中數據編輯界面(二)SQL命令管理表1、在數據庫中創建表(1)創建student表要求:sNo為主鍵;sSex的默認值為'男'。(2)創建course_class表要求:ccNo為主鍵。(3)創建sutdent_course表要求:sNo和ccNo為主鍵;mark取值在大于等于0且小于等于100,即建立check約束,在sNo和ccNo上建立外鍵約束。3、修改所建立的3個表(1)為表course_class添加weekTime列,表示上課時間(2)修改course_class表,將mark的數據類型更改為numeric(3,0)注:“CK__student_co__mark__117F9D94”是創建sutdent_course表時自動為mark約束創建的名稱,在修改mark類型時通常需要先刪除依附于其上的約束。實驗時,請根據實際情況修改此名稱。(3)添加mark的check約束,取值區間為大于0且小于等于100(4)執行下面刪除student中主鍵約束的命令。請讀者分析語句的執行結果。(5)刪除course_class中的外鍵約束(sno_fkey,ccno_fkey)后,再嘗試刪除student中的主鍵約束。 四、實驗測驗1、使用SQL語句創建下面的表實驗表2-2department表信息院系信息表:department字段名稱含義數據類型是否允許空約束dNo院系號Char(6)否主鍵dName院系名稱Varchar(20)否dTel院系電話Varchar(11)以020開頭實驗表2-3major表信息專業信息表:major字段名稱含義數據類型是否允許空約束mNo專業號Char(6)否主鍵mName/r/

溫馨提示

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

評論

0/150

提交評論