2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2024/3/21,主講人:李翠琳,第4章 數(shù)據(jù)表的創(chuàng)建與管理,,2024/3/21,2,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,技能目標,學會創(chuàng)建數(shù)據(jù)表;學會創(chuàng)建和修改銷售管理數(shù)據(jù)庫中的數(shù)據(jù)表;學會使用約束來保證數(shù)據(jù)的完整性。,2024/3/21,3,本章新單詞,實體完整性 Entity Integrity域完整性 Domain Integrity 參照完整性 Refere

2、ntial Integrity用戶定義的完整性 User - defined Integrity,2024/3/21,4,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,表相關的基本概念,表是組織和管理數(shù)據(jù)的基本單位。表由行和列組成的二維結構。表中的一行稱為一條記錄,表中的一列稱為一個字段。說明: 每個SQL Server數(shù)據(jù)庫可容納多達20億個表,每個表中至多可以有1024列,每一

3、行最多允許有8086個字節(jié)。,2024/3/21,5,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,數(shù)據(jù)類型,數(shù)字數(shù)據(jù)字符數(shù)據(jù)貨幣數(shù)據(jù)日期和時間數(shù)據(jù)二進制字符串其他數(shù)據(jù)類型,2024/3/21,6,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,數(shù)據(jù)類型--數(shù)字型,2024/3/21,7,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,

4、數(shù)據(jù)類型--貨幣型,2024/3/21,8,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,數(shù)據(jù)類型--日期型,2024/3/21,9,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,數(shù)據(jù)類型--字符型,2024/3/21,10,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,數(shù)據(jù)類型--字節(jié)二進制和圖像型,2024/3/21,11,SQL Se

5、rver 2005數(shù)據(jù)庫應用技術 清華大學出版社,數(shù)據(jù)類型--其他數(shù)據(jù)類型,2024/3/21,12,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,列的屬性,列的為空性 沒有輸入的值,未知或未定義。列值可以接受空值NULL,也可以拒絕空值NOT NULL 。IDENTITY屬性 可以使表的列包含系統(tǒng)自動生成的數(shù)字,可以惟一地標識表的每一行,即表中的每行數(shù)據(jù)列上的數(shù)

6、字均不相同。 IDENTITY屬性的表達格式如下。 IDENTITY [(s, i)] 其中,s (seed) 表示起始值,i(increment) 表示增量值,其默認值為1。,2024/3/21,13,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,創(chuàng)建銷售管理數(shù)據(jù)庫的數(shù)據(jù)表,使用Management Studio 任務一:在銷售管理數(shù)據(jù)庫中,利用Management Stu

7、dio 創(chuàng)建客戶表。使用T-SQL創(chuàng)建數(shù)據(jù)表任務二:在銷售管理數(shù)據(jù)庫中,利用 Create Table語句,創(chuàng)建部門表和商品表。,2024/3/21,14,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,創(chuàng)建數(shù)據(jù)表--使用Management Studio,1、在銷售管理數(shù)據(jù)庫中,利用Management Studio 創(chuàng)建客戶表。步驟:(1)啟動 Management Studio。(2)在【

8、對象資源管理器】窗口中,展開【數(shù)據(jù)庫】|【CompanySales】|【表】節(jié)點。右擊【表】節(jié)點,從彈出快捷菜單中,選擇【新建表】選項,出現(xiàn)表設計器。,2024/3/21,15,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,創(chuàng)建數(shù)據(jù)表--使用Management Studio(續(xù)),(3)在表設計器中,在【列名】單元格輸入字段名“CustomerID”,在同一行的【數(shù)據(jù)類型】單元格設置該字段的數(shù)據(jù)類型“i

9、nt”,并在【允許空】列選擇是否允許該字段為空值。如果允許,則選中復選框,如果不允許,則取消選中復選框。(4)重復(3)步驟設置“CompanyName”列、 “ContactName”列、“Phone”列、“address”列和“EmailAddress ”列。 (5)單擊【文件】|【保存】或工具欄上的按鈕,在出現(xiàn)的對話框中輸入表的名稱“Customer”,新表的相關信息即會出現(xiàn)在對象資源管理器中。,2024/3/21,16,

10、SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,使用T-SQL創(chuàng)建數(shù)據(jù)表,使用CREATE TABLE語句創(chuàng)建數(shù)據(jù)庫的基本語法格式如下。CREATE TABLE ( [ NULL | NOT NULL ] [ IDENTITY [( seed ,increment ) ] [{}] [,…n] ),CREATE TABLE 表名 ( 字段1 數(shù)據(jù)類型 列的特征,

11、 字段2 數(shù)據(jù)類型 列的特征, ...),列的特征:包括該列是是否為空(NULL)、是否是標識列(自動編號)、是否有默認值、是否為主鍵等。,,2024/3/21,17,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,創(chuàng)建數(shù)據(jù)表—使用CREATE TABLE語句(續(xù)),2、在銷售管理數(shù)據(jù)庫中,利用 Create Table語句,創(chuàng)建部門表和商品表。USE CompanySalesGO

12、CREATE TABLE Department - -創(chuàng)建部門表 ( DepartmentID int NOT NULL, DepartmentName varchar (30) NOT NULL, Manager char(8) NULL, Depart_Description varchar (50) NULL )GOCREATE TABLE product

13、 - -創(chuàng)建商品表( ProductID int NOT NULL,ProductName varchar(50) NOT NULL, Price decimal(18, 2) NULL, ProductStockNumber int NULL,ProductSellNumber int NULL),2024/3/21,18,SQL Server 2005數(shù)

14、據(jù)庫應用技術 清華大學出版社,銷售管理數(shù)據(jù)庫的數(shù)據(jù)表管理,查看表結構 查看數(shù)據(jù)表的屬性 查看表結構查看表中數(shù)據(jù)修改數(shù)據(jù)表 使用Management Studio 使用Alter Table 語句,2024/3/21,19,,(1)添加列 任務三:在部門表Department中,增加兩列:部門人數(shù)列PersonNum,數(shù)據(jù)類型為整型,允許為空;辦公地點列Office,數(shù)據(jù)類型為Varchar(50),允許為空。

15、代碼如下:ALTER TABLE DepartmentADDpersonNum int NULL,Office Varchar(50) NULL(2)刪除列,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,2024/3/21,20,,任務四:在部門表Department中,刪除兩列:部門人數(shù)列PersonNum和辦公室列Office。代碼如下:ALTER TABLE Department

16、DROP COLUMN personNum ,Office(3)修改列的定義任務五:在部門表Department中,將部門經(jīng)理列Manager的數(shù)據(jù)類型改為Varchar(20)。代碼如下:ALTER TABLE DepartmentALTER COLUMN Manager varchar(20),SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,2024/3/21,21,,(4)修改列名任務六

17、:在部門表Department中,部門經(jīng)理列Manager重命名為ManagerName。代碼如下:sp_rename 'Department.Manager','ManagerName','COLUMN' (5)刪除數(shù)據(jù)表任務七:刪除部門表Department。代碼如下:USE CompanySalesGODROP TABLE departmentGo,SQL Ser

18、ver 2005數(shù)據(jù)庫應用技術 清華大學出版社,2024/3/21,22,,(6)重命名數(shù)據(jù)表 任務八:將商品表product重命名為newProduct,然后刪除newProduct表。代碼如下:USE CompanySalesGOSp_rename 'product','newProduct'GoDROP TABLE newProductGO,SQL Server 2

19、005數(shù)據(jù)庫應用技術 清華大學出版社,2024/3/21,23,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,數(shù)據(jù)庫數(shù)據(jù)的完整性,實體完整性(Entity Integrity)約束要求表中的每一行數(shù)據(jù)都反映不同的實體,不能存在相同的數(shù)據(jù)行。域完整性(Domain Integrity )約束指給定列的輸入有效性。參照完整性(Referential Integrity)約束在輸入或刪除

20、數(shù)據(jù)行時,參照完整性約束用來保持表之間已定義的關系。用戶自定義的完整性(User - defined Integrity)約束用來定義特定的規(guī)則。,2024/3/21,24,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,約束概述,約束定義 約束就是限制,定義約束就是定義可輸入表或表的單個列中數(shù)據(jù)的限制條件。約束分類主關鍵字約束(Primary Key Constraint)惟一約束(Uniq

21、ue Constraint)檢查約束(Check Constraint)默認約束(Default Constraint)外關鍵字約束(Foreign Key Constraint),,實體完整性,域完整性,參照完整性,,,2024/3/21,25,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,主鍵約束,使用Management Studio 創(chuàng)建主鍵約束 (演示設置主鍵)使用T-SQL語句在創(chuàng)建表

22、同時主鍵約束在銷售管理數(shù)據(jù)庫中,創(chuàng)建部門表。代碼如下:CREATE TABLE Department( DepartmentID int NOT NULL Primary KEY, DepartmentName varchar (30) NOT NULL, Manager char(8) NULL, Depart_Description varchar (50) NULL )GO,2024

23、/3/21,26,,使用T-SQL語句在一張現(xiàn)有表上添加主鍵約束在創(chuàng)建供應商表Provider的ProviderID上,添加主鍵約束。代碼如下:ALTER TABLE ProviderADD Constraint PK_Provider PRIMARY KEY(ProviderID),SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,2024/3/21,27,SQL Server 2005數(shù)

24、據(jù)庫應用技術 清華大學出版社,外鍵約束,使用Management Studio 創(chuàng)建外鍵約束使用Transact-SQL 語句定義外鍵 語法格式: CREATE TABLE (列名 數(shù)據(jù)類型 為空性 FOREIGN KEY REFERENCES ref_table (ref_column) ) 其中,參數(shù)說明如下。REFERENCES:參照?ref

25、_table:主鍵表名,要建立關聯(lián)的被參照表的名稱?ref_column:主鍵列名,2024/3/21,28,,【例4.21】在銷售管理數(shù)據(jù)庫中,創(chuàng)建在第一章設計的銷售訂單如表 4- 13所示。代碼如下:USE CompanySalesGOCREATE TABLE Sell_Order( SellOrderID int NOT NULL PRIMARY KEY, ProductID int NULL FOREIGN

26、 KEY REFERENCES product(ProductID), SellOrderNumber int NULL, employeeID int NULL FOREIGN KEY REFERENCES Employee(EmployeeID), CustomerID int NULL FOREIGN KEY REFERENCES customer(CustomerID), SellOrderDate smalld

27、atetime NULL,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,2024/3/21,29,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,惟一約束,惟一約束與主鍵約束的區(qū)別 。惟一性約束指定的列可以有NULL 屬性。但主鍵約束所在的列則不允許;一個表中可以包含多個惟一約束,而主鍵約束則只能有一個;創(chuàng)建惟一約束創(chuàng)建表的同時創(chuàng)建UNIQUE約束在現(xiàn)有的表中添加惟

28、一約束,2024/3/21,30,,【例4.24】在銷售管理數(shù)據(jù)庫中的部門表,為部門名稱列添加惟一約束,保證部門名稱的不重復。創(chuàng)建后使用Transact-SQL 語句刪除此約束。 代碼如下:USE CompanySalesGO ALTER TABLE departmentADD CONSTRAINT un_departName UNIQUE (departmentName)GOALTER TABLE depar

29、tmentDROP CONSTRAINT un_departNameGO,2024/3/21,31,建立表間的關系,建立表間的關系實際上就是實施參照完整性約束,建立主表和子表關系。(1)在SQL Management Studio中,在設計表的時候,在Sell_Order表中的右鍵菜單選擇“關系”,單擊“添加”。(2)單擊“表和列規(guī)范”最右側的小按鈕,將顯示要建立關系的主鍵表以及主鍵列對話框。(3)選擇主表Product,主鍵

30、字段為ProductID,對應的外鍵表Sell_Order的字段也為ProductID。單擊“確定”,主-外鍵關系就建立了。,2024/3/21,32,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,檢查約束,檢查約束(CHECK約束)定義 實際上是驗證字段輸入內(nèi)容的規(guī)則,表示一個字段的輸入內(nèi)容必須滿足CHECK約束的條件,若不滿足,則數(shù)據(jù)無法正常輸入??梢詫γ總€列設置CHECK約束。

31、 創(chuàng)建檢查約束使用Management studio 使用Transact-SQL 語句 語法結構: CONSTRAINT 約束名 CHECK  ( logical_expression ) [,…n],2024/3/21,33,,【練習】在銷售管理數(shù)據(jù)庫中的商品表中,為了保證數(shù)據(jù)的質(zhì)量,確保商品的價格為大于0的數(shù),庫存量和已銷售量數(shù)據(jù)為非負數(shù)。ALTER TABLE productADD CO

32、NSTRAINT CK_PTN CHECK ((price>0) and (ProductStockNumber>=0) and (ProductSellNumber>=0)),2024/3/21,34,SQL Server 2005數(shù)據(jù)庫應用技術 清華大學出版社,默認值約束,默認值約束(DEFAULT)用于確保域完整性,它提供了一種為數(shù)據(jù)表中任何一列提供默認值的手段。 創(chuàng)建默認值約束:1、使

33、用Management studio 創(chuàng)建默認值 例4.28 在銷售管理數(shù)據(jù)庫中的員工表中,將“性別”列設定默認值“男”。2、使用Transact-SQL 語句創(chuàng)建默認值定義語法:CONSTRAINT 約束名 DEFAULT constant_expression FOR 列名,2024/3/21,35,,【例】在銷售管理數(shù)據(jù)庫中的員工表中,新員工如果不到特定部門工作的話,新員工全部到“銷售部”工作。代碼如下:US

34、E CompanySalesGOALTER TABLE employeeADD CONSTRAINT def_DepartID DEFAULT (1) FOR DepartmentID,2024/3/21,36,默認值和規(guī)則,默認值提問:默認值與默認值約束的區(qū)別是?,相同點:當用戶向數(shù)據(jù)表中插入數(shù)據(jù)行時,如果沒有為某列輸入值,則由SQL Server自動為該列賦予默認值。不同點:默認值是一種數(shù)據(jù)庫對象。在數(shù)據(jù)庫中創(chuàng)建默認值

35、對象后,可以將其綁定到多個數(shù)據(jù)表的一個或多個列應用;默認值約束只能用于約束一個 表中的列。,2024/3/21,37,創(chuàng)建規(guī)則,規(guī)則就是對存儲在表中列或用戶自定義數(shù)據(jù)類型的取值范圍的規(guī)定或限制。規(guī)則與CHECK約束很相似,但CHECK約束不能直接作用于用戶自定義數(shù)據(jù)類型?!纠?.33】 創(chuàng)建一個日期規(guī)則RL_Date,即一個員工的雇傭日期在1980-1-1和系統(tǒng)的當前日期之間。代碼如下:USE CompanySalesGOCR

36、EATE RULE RL_DATE AS @date>='1980-1-1' and @date<=getdate()GO,2024/3/21,38,綁定規(guī)則,綁定規(guī)則的語法格式:sp_bindrule ‘規(guī)則名稱’,‘object_name’【例4.34】 將規(guī)則RL_Date綁定到員工表的雇傭日期列上。代碼如下:USE CompanySalesGOexec sp_bindrule

37、'RL_DATE' ,'employee.hireDate' GO,2024/3/21,39,刪除規(guī)則,【例4.35】 刪除RL_Date規(guī)則。代碼如下:(1)解除綁定 USE CompanySalesGOexec sp_unbindrule 'employee.hireDate'GO(2)刪除規(guī)則USE CompanySalesGODROP RULE RL_Da

溫馨提示

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

評論

0/150

提交評論