數據庫應用技術教程 課件 第2、3章 SQL2022 數據庫的創建與管理、SQL2022數據表的創建和管理_第1頁
數據庫應用技術教程 課件 第2、3章 SQL2022 數據庫的創建與管理、SQL2022數據表的創建和管理_第2頁
數據庫應用技術教程 課件 第2、3章 SQL2022 數據庫的創建與管理、SQL2022數據表的創建和管理_第3頁
數據庫應用技術教程 課件 第2、3章 SQL2022 數據庫的創建與管理、SQL2022數據表的創建和管理_第4頁
數據庫應用技術教程 課件 第2、3章 SQL2022 數據庫的創建與管理、SQL2022數據表的創建和管理_第5頁
已閱讀5頁,還剩63頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

上節知識回顧什么是數據庫?什么是數據庫管理系統,什么是數據庫系統?第二章SQL2022數據庫創建和管理學習目標了解系統數據庫的作用;掌握數據庫文件存儲結構;掌握創建數據庫的多種方法;掌握修改、刪除數據庫;掌握管理和維護數據庫;了解數據庫屬性。系統數據庫master數據庫

master數據庫是SQLServer系統最重要的數據庫。記錄SQLServer系統的所有系統級信息。model數據庫model數據庫作為用戶創建新數據庫的模板。msdb數據庫msdb數據庫是代理服務器數據庫。它為報警、任務調度和記錄操作員的操作提供存儲空間。tempdb數據庫tempdb數據庫記錄了所有的臨時表?臨時數據和臨時創建的存儲過程等保存臨時對象的一個工作空間?數據庫文件1、主要數據文件

主要數據文件包含數據庫的啟動信息,并指向數據庫中的其他文件。主要數據文件的文件擴展名是.mdf。

2、次要數據文件

次要數據文件是可選的,由用戶定義并存儲用戶數據。次要數據文件的文件擴展名是.ndf。3、事務日志文件

用于記錄所有事務以及每個事務對數據庫所做的修改。

數據庫文件組SQLServer2022為了方便數據庫文件的分配和管理,將文件分成不同的文件組。1、主要文件組

主要文件組(PRIMARY文件組)包含主要數據文件和未放入其他文件組的所有次要文件。每個數據庫有一個主要文件組。2、用戶定義文件組。

用于將數據文件集合起來,以便于管理、數據分配和放置。學生選課數據庫的創建使用ManagementStudio使用CREATEDATABASE語句使用模板創建數據庫使用ManagementStudio【例2.1】創建名為“學生選課”的學生選課管理數據庫。步驟如下:(1)在【對象資源管理器】中,右鍵單擊【數據庫】,在彈出的快捷菜單中,選擇【新建數據庫】選項,然后出現【新建數據庫】窗體。使用ManagementStudio(續)(2)在【新建數據庫】窗體中,在【數據庫名稱】的文本框中將輸入數據庫名“學生選課”。單擊【確定】按鈕,完成創建學生選課數據庫。(3)在【對象資源管理器】中,即出現學生選課數據庫,如圖所示。使用CREATEDATABASE語句

語法格式如下:CREATEDATABASEdatabase_name[ON

[PRIMARY][<filespec>[,…n][,<filegroup>[,…n]]][LOGON{<filespec>[,…n]}]][COLLATEcollation_name][WITH<external_access_option>]]任務1創建銷售管理數據庫,數據文件在d:\data,數據文件邏輯名稱為sales_data,文件名為sales_data.mdf,初始大小為10MB,最大尺寸為無限大,增長速度為10%;該數據庫的日志文件,邏輯名稱為sales_log,文件名為sales_log.ldf,初始大小為3MB,最大尺寸為5MB,增長速度為1MB。使用CREATEDATABASE語句(續)參數說明:<filespec>::=(

NAME=logical_file_name,

FILENAME='os_file_name'

[,SIZE=size]

[,MAXSIZE={max_size|UNLIMITED}]

[,FILEGROWTH=growth_increment|%]])[,...n]<filegroup>::=FILEGROUPfilegroup_name[DEFAULT]

<filespec>[,...n]使用CREATEDATABASE語句(續)【例2.2】創建學生選課管理數據庫。將該數據庫的數據文件存儲在D:\Data下,數據文件的邏輯名稱為Stu_data,文件名為Stu_data.mdf,初始大小為10MB,最大尺寸為無限大,增長速度為10%;該數據庫的日志文件,邏輯名稱為Stu_log,文件名為Stu_log.ldf,初始大小為3MB,最大尺寸為5MB,增長速度為1MB。使用CREATEDATABASE語句(續)步驟如下。(1)在SQLServerManagementStudio中,單擊工具欄上的【新建查詢】按鈕,或選擇【文件】|【新建】|【數據庫引擎查詢】命令,打開一個新的查詢編輯器窗口。(2)在查詢編輯窗口中輸入以下語句。CREATEDATABASE學生選課ON(NAME=Stu_data,/*注意有逗號分隔*/FILENAME='d:\data\Stu_data.mdf',/*注意用半角狀態下的引號,d:\data文件夾必須已經存在*/SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)/*注意沒有逗號*/LOGON(NAME=Stu_log,/*注意有逗號分隔*/FILENAME='d:\data\Stu_log.ldf',/*注意使用半角狀態下引號*/SIZE=3MB,MAXSIZE=5MB,FILEGROWTH=1MB/*注意沒有逗號*/)使用CREATEDATABASE語句(續)(3)單擊工具欄上按鈕,進行語法分析,保證上述語句語法的正確性。(4)按F5或單擊工具欄上按鈕,執行上述語句。(5)在【結果】窗口中將顯示相關消息,告訴用戶數據庫創建是否成功。使用模板創建數據庫【例2.3】使用模板創建newstu數據庫。(1)從模板資源管理器中打開模板。打開【視圖】|【模板資源管理器】,選擇【SQLServer模板】,展開【Database】項,選擇【createdatabase】。(2)將createdatabase模板從模板資源管理器拖放到查詢編輯器窗口中,從而添加模板代碼。(3)替換模板參數。單擊【查詢】|【指定模板參數的值】命令或單擊工具欄上的按鈕,打開【指定模板參數的值】對話框中。“值”列中輸入newstu為數據庫名稱。使用模板創建數據庫(續)(4)單擊【確定】按鈕,關閉【替換模板參數】對話框,系統自動修改查詢窗體中的腳本結果。(5)單擊工具欄上按鈕,進行語法分析,保證上述語句語法的正確性。(6)按F5或單擊工具欄上按鈕,執行上述語句。(7)在【結果】窗口中將顯示相關消息,告訴用戶數據庫創建是否成功。修改數據庫數據庫的修改包括擴充數據庫容量、壓縮數據庫和數據文件、更改數據庫名稱和刪除數據庫等。在SQLServer2022中提供兩種操作方式:在ManagementStudio中修改各種屬性使用T-SQL命令修改使用AlterDatabase語句修改數據庫ALTERDATABASE語句修改數據庫命令主要格式如下。ALTERDATABASEdatabase_name{ADDFILE<filespec>[,...n][TOFILEGROUPfilegroup_name]/*增加數據文件到數據庫*/|ADDLOGFILE<filespec>[,...n]/*增加事務日志文件到數據庫*/|REMOVEFILElogical_file_name/*刪除數據文件,文件必須為空*/|ADDFILEGROUPfilegroup_name/*增加文件組*/|REMOVEFILEGROUPfilegroup_name/*刪除文件組,文件必須為空*/|MODIFYFILE<filespec> /*一次只能更改一個文件屬性*/|MODIFYNAME=new_dbname /*數據庫更名*/|MODIFYFILEGROUPfilegroup_name{filegroup_property|NAME=new_filegroup_name|SET<optionspec>[,...n][WITH<termination>]|COLLATE<collation_name>}擴充數據文件和事務日志的容量【例2.4】將學生選課管理數據庫的數據文件Stu_data的文件增長改為按15%。【例2.5】學生選課管理數據庫經過一段時間的使用后,隨著數據量的不斷增大,引起數據庫空間不足。現增加一個數據文件存儲在F:\,數據文件的邏輯名稱為Stu_Data2,物理文件名為Stu_data2.ndf,初始大小為10MB,最大尺寸為2GB,增長速度為10MB。學生選課數據庫的管理更改數據庫名稱刪除數據庫查看數據庫信息

【練習】查看當前服務器上所有數據庫的信息?

分離和附加數據庫聯機和脫機任務2查看銷售管理數據庫的信息把銷售管理數據庫轉移到e:\上節知識回顧1、一個數據庫一般包含那些文件?2、創建數據庫的關鍵詞是?3、把學生選課數據庫從當前位置盤移動到c:第三章SQL2022數據庫數據表的創建和管理數據庫有了,可具體如何存儲數據呢?學習目標掌握SQLServer2022中的數據類型;掌握建立數據表的方法;掌握查看、修改和刪除數據表的方法;掌握使用主鍵約束和惟一約束保證數據表的完整性、使用檢查約束、默認值保證列的完整性;掌握使用主鍵和外鍵來保證數據表之間的完整性;掌握表中數據的添加、修改和刪除的方法。表的基本概念表是組織和管理數據的基本單位。表由行和列組成的二維結構。表中的一行稱為一條記錄,表中的一列稱為一個字段。說明:每個SQLServer數據庫可容納多達20億個表,每個表中至多可以有1024列,每一行最多允許有8086個字節。數據類型數字數據字符數據貨幣數據日期和時間數據二進制字符串其他數據類型數據類型--數字型數據類型說明bigint-263(-1.8E19)~263-1(1.8E19)的整型數int-231(-2147483648)~231-1(2147483647)的整型數smallint-215(-32768)~215-1(32767)的整型數tinyint0~255的整型數float浮點數數據,從–1.79E+308到1.79E+308real浮點精度數字數據,從–3.40E+38到3.40E+38bit整數數據,值為1或0numeric(p,s)固定精度和小數的數字數據,取值范圍從-1038+1到1038–1。p變量指定精度,取值范圍從1到38。s變量指定小數位數,取值范圍從0到p數據類型--貨幣型數據類型范圍money-922,337,203,685,477.5808到922,337,203,685,477.5807smallmoney-214,748.3648到214,748.3647數據類型--日期型數據類型范圍精確度datetime1753年1月1日到9999年12月31日3.33毫秒smalldatetime1900年1月1日到2079年6月6日1分鐘數據類型--字符型數據類型說明char[(n)]固定長度的字符數據,長度為n個字節,n的取值范圍為1~8000varchar[(n)]可變長度的字符數據,長度為n個字節,n的取值范圍為1~8000nchar[(n)]固定長度的Unicode字符數據。n值在1~4000之間nvarchar[(n)]可變長度的Unicode字符數據。n值在1~4000之間Text變長度字符數據,最多達到2147483647字節nText變長度的Unicode字符數據?最多可達1073741823個字符數據類型--字節二進制和圖像型數據類型說明binary[(n)]長度為n字節的固定長度二進制數據,其中n是從1到8000的值varbinary[(n)]可變長度二進制數據。n可以取從1到8,000的值Image變長度二進制數據?最長為2147483647字節數據類型--其他數據類型數據類型說明UniqueIdentifier唯一標識數字存儲為16字節的二進制值TimeStamp當插入或者修改行時,自動生成的惟一的二進制數字的數據類型Cursor允許在存儲過程中創建游標變量,游標允許一次一行地處理數據,這個數據類型不能用作表中的列數據類sql_variant可包含除text、ntex、timage和timestamp之外的其他任何數據類型Table一種特殊的數據類型,用于存儲結果集以進行后續處理XML存儲XML數據的數據類型。可以在列中或者xml類型的變量中存儲xml實例任務:請為下列屬性選擇適當數據類型性別年齡成績家庭住址學號身份證號碼列的屬性列的為空性

沒有輸入的值,未知或未定義。列值可以接受空值NULL,也可以拒絕空值NOTNULL。IDENTITY屬性可以使表的列包含系統自動生成的數字,可以惟一地標識表的每一行,即表中的每行數據列上的數字均不相同。

IDENTITY屬性的表達格式如下。

IDENTITY[(s,i)]

其中,s(seed)表示起始值,i(increment)表示增量值,其默認值為1。創建學生選課數據庫的數據表使用ManagementStudio

【練習】在學生選課數據庫中,利用ManagementStudio創建學生表。使用CREATETABLE語句

【練習】在學生選課數據庫中,利用CreateTable語句,創建課程表和選課表。使用模板創建數據表--使用ManagementStudio【例】在學生選課數據庫中,利用ManagementStudio創建學生表。步驟:(1)啟動ManagementStudio。(2)在【對象資源管理器】窗口中,展開【數據庫】|【學生選課】|【表】節點。右擊【表】節點,從彈出快捷菜單中,選擇【新建表】選項,出現表設計器。創建數據表--使用ManagementStudio(3)在表設計器中,在【列名】單元格輸入字段名“Sno”,在同一行的【數據類型】單元格設置該字段的數據類型“char(5)”,并在【允許空】列選擇是否允許該字段為空值。如果允許,則選中復選框,如果不允許,則取消選中復選框。在學生管理中,學號是學生的標識,這里不能為空,即取消選中復選框。(4)重復(3)步驟設置“Sname”列、“Ssex”列、“Ssage”列和“Sdept”列。(5)單擊【文件】|【保存】或工具欄上的按鈕,在出現的對話框中輸入表的名稱“Student”,新表的相關信息即會出現在對象資源管理器中。創建數據表—使用CREATETABLE語句使用CREATETABLE語句創建數據庫的基本語法格式如下。CREATETABLE<表名>(<列名><數據類型>[NULL|NOTNULL][IDENTITY[(seed,increment)][{<列約束>}][,…n])

參數說明如下:[NULL|NOTNULL]:指定列的為空性,默認值為NULL。[IDENTITY(seed,increment)]:指定為標識列,seed為標示種子,increment為遞增量。創建數據表—使用CREATETABLE語句【例】在學生選課數據庫中,利用CreateTable語句,創建課程表和選課表。USE學生選課GOCREATETABLECourse(--創建課程表

Cnochar(6)NOTNULL,Cnamechar(20)NOTNULL,Credittinyint,Semestertinyint)GOCREATETABLESC--創建選課表(Snochar(5)NOTNULL,Cnochar(6)NOTNULL,Gradetinyint)GO創建數據表--使用模板

MicrosoftSQLServer2022提供了多種模板。這些模板適用于解決方案、項目和各種類型的代碼編輯器。模板可用于創建對象,如數據庫、表、視圖、索引、存儲過程、觸發器、統計信息和函數。學生選課數據庫的數據表管理查看表結構查看數據表的屬性查看表結構查看表中數據修改數據表使用ManagementStudio使用AlterTable語句刪除數據表重命名數據表任務11、在學生表里加一列,興趣愛好,可以為空2、刪除剛添加的列3、將性別列改為char(4)任務21、請使用SQL語句創建一個表,表中包含3個字段(序號,姓名,性別),其中序號為自動增加列。學生選課數據庫數據的完整性實體完整性(EntityIntegrity)域完整性(DomainIntegrity)參照完整性(ReferentialIntegrity)用戶定義的完整性(User-definedIntegrity)實體完整性實體完整性是保證關系中的每個元組都是可識別的和唯一的。而且表中不允許存在如下的記錄:無主碼值的記錄主碼值相同的記錄缺少主碼值數據示例學號姓名性別年齡所在系李勇

男19計算機系

95002劉晨

男20計算機系

李勇

男19計算機系

95003王敏

女20計算機系

95011張立

男22信息系

95012吳賓

女21信息系

主碼值重復情況2026/8/913:4248學號姓名性別年齡所在系95001李勇男19計算機系95002劉晨男20計算機系95001李勇男19計算機系95003王敏女20計算機系95011張立男22信息系95012吳賓女21信息系參照完整性用于描述實體之間的聯系。參照完整性一般是指多個實體(表)之間的關聯關系。一般用外碼實現。外碼:本表(子表)某屬性(非主碼)是外表(父表,主表)的主碼。主碼值先在主表中生成,后在子表中引用外碼引用例1學生班屬于(學號,姓名,班號,…)(班號,專業,人數,…)外碼引用例2學生課程修課(學號,姓名,…)(課程號,課程名,…)(學號,課程號,成績,…)外碼引用例3職工(職工號,姓名,性別,直接領導)外碼定義設F是關系R的一個或一組屬性,如果F與關系S的主碼相對應,則稱F是關系R的外碼(ForeignKey),并稱關系R為參照關系(ReferencingRelation),關系S為被參照關系(ReferencedRelation)或目的關系(TargetRelation)。關系R和關系S不一定是不同的關系。參照表示圖示例:參照完整性規則參照完整性規則就是定義外碼與主碼之間的引用規則。對于外碼,一般應符合如下要求:或者值為空;或者等于其所引用的關系中的某個元組的主碼值。3.4.3域的完整性按應用語義,屬性列數據有:類型與長度限制:方便計算機操作取值范圍限制:防止屬性值與應用語義矛盾語義許可取值范圍約束例:

成績取[0..100],{優、良、中、及格、不及格}約束概述約束定義

約束(Constraint)是MicrosoftSQLServer2022提供的自動保持數據庫完整性的一種方法。約束就是限制,定義約束就是定義可輸入表或表的單個列中的數據的限制條件。約束分類主關鍵字約束(PrimaryKeyConstraint)外關鍵字約束(ForeignKeyConstraint)惟一約束(UniqueConstraint)檢查約束(CheckConstraint)默認約束(DefaultConstraint)主鍵約束使用ManagementStudio創建主鍵約束在創建表同時主鍵約束在一張現有表上添加主鍵約束外鍵約束使用ManagementStudio創建外鍵約束使用Transact-SQL語句定義外鍵

語法格式:CREATETABLE<表名>(列名數據類型為空性FOREIGNKEYREFERENCESref_table(ref_column)

其中,參數說明如下。REFERENCES:參照?ref_table:主鍵表名,要建立關聯的被參照表的名稱?ref_column:主鍵列名惟一約束惟一約束與主鍵約束的區別:惟一性約束指定的列可以有NULL屬性。但主鍵約束所在的列則不允許;一個表中可以包含多個惟一約束,而主鍵約束則只能有一個。創建惟一約束創建表的同時創建UNIQUE約束在現有的表中添加惟一約束檢查約束檢查約束(CHECK約束)定義

實際上是驗證字段輸入內容的規則,表示一個字段的輸入內容必須滿足CHECK約束的條件,若不滿足,則數據無法正常輸入。可以對每個列設置CHECK約束。

創建檢查約束使用Managementstudio使用Transact-SQL語句語法結構:CONS

溫馨提示

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

評論

0/150

提交評論