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

下載本文檔

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

文檔簡(jiǎn)介

1、第二章,SQL SERVER數(shù)據(jù)庫(kù)表管理,2,掌握建庫(kù)的SQL語(yǔ)句 掌握建表的SQL語(yǔ)句 掌握加約束的SQL語(yǔ)句 掌握創(chuàng)建安全帳戶的SQL語(yǔ)句 創(chuàng)建數(shù)據(jù)庫(kù)表 設(shè)置表的主鍵、外鍵和建立表之間的關(guān)系 為表增加約束,本章目標(biāo),3,創(chuàng)建數(shù)據(jù)庫(kù),CREATE DATABASE 數(shù)據(jù)庫(kù)名 ON [PRIMARY] ( [,…n] [] ) [LOG ON] ( [,…n] ),T-SQL創(chuàng)建數(shù)據(jù)庫(kù)的語(yǔ)法:

2、,主文件組,可選參數(shù),默認(rèn),4,創(chuàng)建數(shù)據(jù)庫(kù)示例 1,CREATE DATABASE stuDB ON PRIMARY --默認(rèn)就屬于PRIMARY主文件組,可省略( NAME='stuDB_data', --主數(shù)據(jù)文件的邏輯名 FILENAME='D:\project\stuDB_data.mdf', --主數(shù)據(jù)文件的物理名 SIZE=5mb, --主數(shù)據(jù)文件初始大小 MAXSI

3、ZE=100mb, --主數(shù)據(jù)文件增長(zhǎng)的最大值 FILEGROWTH=15% --主數(shù)據(jù)文件的增長(zhǎng)率)LOG ON( NAME='stuDB_log', FILENAME='D:\project\stuDB_log.ldf', SIZE=2mb, FILEGROWTH=1MB)GO,數(shù)據(jù)文件的具體描述,,日志文件的具體描述,,5,創(chuàng)建數(shù)據(jù)庫(kù)示例 2,CREATE DAT

4、ABASE employees ON ( /*-主數(shù)據(jù)文件的具體描述-*/ NAME = 'employee1', FILENAME = 'D:\project\employee1_Data.mdf' , SIZE = 10, FILEGROWTH = 10% ), ( /*-次要數(shù)據(jù)文件的具體描述-*/ NAME = 'em

5、ployee2', FILENAME = 'D:\project\employee2_Data.ndf' , SIZE = 20, MAXSIZE = 100, FILEGROWTH = 1 ),LOG ON ( /*-日志文件1的具體描述-*/ NAME = 'employeelog1', FILENAME = 'D:\pro

6、ject\employeelog1_Log.ldf' , SIZE = 10, FILEGROWTH = 1 ), ( /*-日志文件2的具體描述-*/ NAME = 'employeelog2', FILENAME = 'D:\project\employeelog2_Log.ldf' , SIZE = 10, MAXSIZE =

7、50, FILEGROWTH = 1 )GO,6,USE master --設(shè)置當(dāng)前數(shù)據(jù)庫(kù)為master,以便訪問(wèn)sysdatabases表GOIF EXISTS(SELECT * FROM sysdatabases WHERE name ='stuDB') DROP DATABASE stuDBCREATE DATABASE stuDBON ( …..)LOG ON(

8、…)GO,刪除數(shù)據(jù)庫(kù),刪除數(shù)據(jù)庫(kù)的語(yǔ)法:,DROP DATABASE 數(shù)據(jù)庫(kù)名,EXISTS()語(yǔ)句:檢測(cè)是否存在stuDB數(shù)據(jù)庫(kù)如果存在stuDB數(shù)據(jù)庫(kù),則刪除,7,SQL Server的數(shù)據(jù)類型,,8,建表的基本步驟,,確定表中有哪些列確定每列的數(shù)據(jù)類型給表添加各種約束創(chuàng)建各表之間的關(guān)系,9,創(chuàng)建表,建表的語(yǔ)法,CREATE TABLE 表名 ( 字段1 數(shù)據(jù)類型 列的特征, 字段2 數(shù)據(jù)類型 列的特征

9、, ...),列的特征:包括該列是是否為空(NULL)、是否是標(biāo)識(shí)列(自動(dòng)編號(hào))、是否有默認(rèn)值、是否為主鍵等。,,10,建表示例 1,USE stuDB --將當(dāng)前數(shù)據(jù)庫(kù)設(shè)置為stuDB GOCREATE TABLE stuInfo /*-創(chuàng)建學(xué)員信息表-*/( stuName VARCHAR(20) NOT NULL , --姓名,非空(必填) stuNo CHAR(6) NOT

10、NULL, --學(xué)號(hào),非空(必填) stuAge INT NOT NULL, --年齡,INT類型默認(rèn)為4個(gè)字節(jié) stuID NUMERIC(18,0), --身份證號(hào) stuSeat SMALLINT IDENTITY (1,1), --座位號(hào),自動(dòng)編號(hào) stuAddress TEXT --住址,允許為空,即可選輸入) GO,NUMERIC (18,0)代表18位數(shù)字,小數(shù)位數(shù)為0

11、,IDENTITY(起始值,遞增量),11,建表示例 2,CREATE TABLE stuMarks( ExamNo CHAR(7) NOT NULL, --考號(hào) stuNo CHAR(6) NOT NULL, --學(xué)號(hào) writtenExam INT NOT NULL, --筆試成績(jī) LabExam INT NOT NULL --機(jī)試成績(jī))GO,12,刪除表,刪除表的語(yǔ)法:,DROP TAB

12、LE 表名,USE stuDB --將當(dāng)前數(shù)據(jù)庫(kù)設(shè)置為stuDB ,以便在stuDB數(shù)據(jù)庫(kù)中建表GOIF EXISTS(SELECT * FROM sysobjects WHERE name=’stuInfo’ ) DROP TABLE stuInfoCREATE TABLE stuInfo /*-創(chuàng)建學(xué)員信息表-*/(…..) GO,13,數(shù)據(jù)完整性,數(shù)據(jù)完整性,+,=,準(zhǔn)確性,可靠性,數(shù)據(jù)

13、存放在表中“數(shù)據(jù)完整性的問(wèn)題大多是由于設(shè)計(jì)引起的”創(chuàng)建表的時(shí)候,就應(yīng)當(dāng)保證以后數(shù)據(jù)輸入是正確的錯(cuò)誤的數(shù)據(jù)、不符合要求的數(shù)據(jù)不允許輸入,創(chuàng)建表:保證數(shù)據(jù)的完整性 = 實(shí)施完整性約束,14,SQL Server的約束,約束的目的:確保表中數(shù)據(jù)的完整型常用的約束類型:主鍵約束(Primary Key Constraint)要求主鍵列數(shù)據(jù)唯一,并且不允許為空唯一約束(Unique Constraint)要求該列唯一,允許為空,但

14、只能出現(xiàn)一個(gè)空值。檢查約束(Check Constraint)某列取值范圍限制、格式限制等,如有關(guān)年齡的約束默認(rèn)約束(Default Constraint)某列的默認(rèn)值,如我們的男性學(xué)員較多,性別默認(rèn)為“男”外鍵約束(Foreign Key Constraint)用于兩表間建立關(guān)系,需要指定引用主表的那列,15,添加約束,添加約束的語(yǔ)法:,ALTER TABLE 表名 ADD CONSTRAINT 約束名 約

15、束類型 具體的約束說(shuō)明,約束名的取名規(guī)則推薦采用:約束類型_約束字段主鍵(Primary Key)約束:如 PK_stuNo唯一(Unique Key)約束:如 UQ_stuID默認(rèn)(Default Key)約束:如 DF_stuAddress檢查(Check Key)約束:如 CK_stuAge外鍵(Foreign Key)約束:如 FK_stuNo,16,添加約束示例,ALTER TABLE stuInfo

16、ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo)ALTER TABLE stuInfo ADD CONSTRAINT UQ_stuID UNIQUE (stuID)ALTER TABLE stuInfo ADD CONSTRAINT DF_stuAddress DEFAULT ('地址不詳') FOR stuAddressALTER T

17、ABLE stuInfo ADD CONSTRAINT CK_stuAge CHECK(stuAge BETWEEN 15 AND 40)ALTER TABLE stuMarks ADD CONSTRAINT FK_stuNo FOREIGN KEY(stuNo) REFERENCES stuInfo(stuNo)GO,添加主鍵約束(stuNo作為主鍵),添加唯一約

18、束(因?yàn)槊咳说纳矸葑C號(hào)全國(guó)唯一),添加默認(rèn)約束(如果地址不填,默認(rèn)為“地址不詳”),添加檢查check約束,要求年齡只能在15-40歲之間,添加外鍵約束(主表stuInfo和從表stuMarks建立關(guān)系,關(guān)聯(lián)字段為stuNo),17,選擇主鍵的原則,,最少性盡量選擇單個(gè)鍵作為主鍵穩(wěn)定性盡量選擇數(shù)值更新少的列作為主鍵,18,主外鍵關(guān)系,,演示建立數(shù)據(jù)庫(kù)關(guān)系圖……,19,主外鍵關(guān)系,,當(dāng)主表中沒(méi)有對(duì)應(yīng)的記錄時(shí),不能將記錄添加到子表

19、成績(jī)表中不能出現(xiàn)在學(xué)員信息表中不存在的學(xué)號(hào);不能更改主表中的值而導(dǎo)致子表中的記錄孤立把學(xué)員信息表中的學(xué)號(hào)改變了,學(xué)員成績(jī)表中的學(xué)號(hào)也應(yīng)當(dāng)隨之改變;子表存在與主表對(duì)應(yīng)的記錄,不能從主表中刪除該行不能把有成績(jī)的學(xué)員刪除了刪除主表前,先刪子表先刪學(xué)員成績(jī)表、后刪除學(xué)員信息表,20,刪除約束,如果錯(cuò)誤地添加了約束,我們還可以刪除約束 刪除約束的語(yǔ)法,ALTER TABLE 表名 DROP CONSTRAINT 約束

20、名,例如:刪除stuInfo表中地址默認(rèn)約束ALTER TABLE stuInfo DROP CONSTRAINT DF_stuAddress,21,總結(jié),1、保證數(shù)據(jù)完整性從()步驟開(kāi)始。A、建立數(shù)據(jù)庫(kù)B、建立數(shù)據(jù)庫(kù)表C、在表中輸入數(shù)據(jù)D、數(shù)據(jù)導(dǎo)出2、創(chuàng)建表的字段主要有哪些操作項(xiàng)? 輸入字段名確定數(shù)據(jù)類型確定是否允許為空確定是否為主鍵或者標(biāo)識(shí)列確定默認(rèn)值

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論