北大青鳥SQLserver課件6_第1頁
北大青鳥SQLserver課件6_第2頁
北大青鳥SQLserver課件6_第3頁
北大青鳥SQLserver課件6_第4頁
北大青鳥SQLserver課件6_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、23 數(shù)據(jù)庫文件的組成: 主數(shù)據(jù)文件:*.mdf 次要數(shù)據(jù)文件:*.ndf 日志文件:*.ldf 數(shù)據(jù)庫的其他屬性: 文件存放位置,分配的初始空間,屬于哪個文件組 文件增長:可以按百分比或?qū)嶋H大小指定增長速度 文件容量設置:可以指定文件增長的最大值或不受限4CREATE DATABASE 數(shù)據(jù)庫名 ON PRIMARY ( ,n ) LOG ON ( ,n )T-SQL創(chuàng)建數(shù)據(jù)庫的語法:主文件組,可選參數(shù),默認5CREATE DATABASE stuDB ON PRIMARY -默認就屬于PRIMARY主文件組,可省略( NAME=stuDB_data, -主數(shù)據(jù)文件的邏輯名 FILENAME

2、=D:projectstuDB_data.mdf, -主數(shù)據(jù)文件的物理名 SIZE=5mb, -主數(shù)據(jù)文件初始大小 MAXSIZE=100mb, -主數(shù)據(jù)文件增長的最大值 FILEGROWTH=15% -主數(shù)據(jù)文件的增長率)LOG ON( NAME=stuDB_log, FILENAME=D:projectstuDB_log.ldf, SIZE=2mb, FILEGROWTH=1MB)GO 數(shù)據(jù)文件的具體描述日志文件的具體描述演示創(chuàng)建數(shù)據(jù)庫1:一個數(shù)據(jù)文件和一個日志文件 6CREATE DATABASE employees ON ( /*-主數(shù)據(jù)文件的具體描述-*/ NAME = employ

3、ee1, FILENAME = D:projectemployee1_Data.mdf , SIZE = 10, FILEGROWTH = 10% ), ( /*-次要數(shù)據(jù)文件的具體描述-*/ NAME = employee2, FILENAME = D:projectemployee2_Data.ndf , SIZE = 20, MAXSIZE = 100, FILEGROWTH = 1 ) LOG ON ( /*-日志文件1的具體描述-*/ NAME = employeelog1, FILENAME = D:projectemployeelog1_Log.ldf , SIZE = 10,

4、FILEGROWTH = 1 ), ( /*-日志文件2的具體描述-*/ NAME = employeelog2, FILENAME = D:projectemployeelog2_Log.ldf , SIZE = 10, MAXSIZE = 50, FILEGROWTH = 1 )GO 演示創(chuàng)建數(shù)據(jù)庫2:多個數(shù)據(jù)文件和多個日志文件 7CREATE DATABASE stuDBON (.)LOG ON(.)GO演示:再次運行示例18USE master -設置當前數(shù)據(jù)庫為master,以便訪問sysdatabases表GOIF EXISTS(SELECT * FROM sysdatabases

5、 WHERE name =stuDB) DROP DATABASE stuDBCREATE DATABASE stuDBON ( .)LOG ON( )GODROP DATABASE 數(shù)據(jù)庫名 EXISTS()語句:檢測是否存在stuDB數(shù)據(jù)庫如果存在stuDB數(shù)據(jù)庫,則刪除 9 建表的基本步驟: 確定表中有哪些列 確定每列的數(shù)據(jù)類型 給表添加各種約束 創(chuàng)建各表之間的關(guān)系 SQL Server中的數(shù)據(jù)類型 整型數(shù)據(jù):int smallint 浮點數(shù)據(jù):float numeric字符數(shù)據(jù)固定長度:char(6)可變長度: varchar(10) unicode編碼:nchar(10) 布爾數(shù)據(jù)(

6、真/假) bit: 1/ 0 貨幣數(shù)據(jù) money日期數(shù)據(jù) datetime10CREATE TABLE 表名 ( 字段1 數(shù)據(jù)類型 列的特征, 字段2 數(shù)據(jù)類型 列的特征, .)列的特征:包括該列是是否為空(NULL)、是否是標識列(自動編號)、是否有默認值、是否為主鍵等。 11USE stuDB -將當前數(shù)據(jù)庫設置為stuDB GOCREATE TABLE stuInfo /*-創(chuàng)建學員信息表-*/( stuName VARCHAR(20) NOT NULL , -姓名,非空(必填) stuNo CHAR(6) NOT NULL, -學號,非空(必填) stuAge INT NOT NUL

7、L, -年齡,INT類型默認為4個字節(jié) stuID NUMERIC(18,0), -身份證號 stuSeat SMALLINT IDENTITY (1,1), -座位號,自動編號 stuAddress TEXT -住址,允許為空,即可選輸入) GONUMERIC (18,0)代表18位數(shù)字,小數(shù)位數(shù)為0演示:創(chuàng)建學員信息表stuInfoIDENTITY(起始值,遞增量) 12CREATE TABLE stuMarks( ExamNo CHAR(7) NOT NULL, -考號 stuNo CHAR(6) NOT NULL, -學號 writtenExam INT NOT NULL, -筆試成績

8、 LabExam INT NOT NULL -機試成績)GO演示:創(chuàng)建學員成績表 stuMarks1314DROP TABLE 表名USE stuDB -將當前數(shù)據(jù)庫設置為stuDB ,以便在stuDB數(shù)據(jù)庫中建表GOIF EXISTS(SELECT * FROM sysobjects WHERE name=stuInfo ) DROP TABLE stuInfoCREATE TABLE stuInfo /*-創(chuàng)建學員信息表-*/(.) GO1516ALTER TABLE 表名 ADD CONSTRAINT 約束名 約束類型 具體的約束說明q 約束名的取名規(guī)則推薦采用:約束類型_約束字段q主鍵

9、(Primary Key)約束:如 PK_stuNoq唯一(Unique Key)約束:如 UQ_stuIDq默認(Default Key)約束:如 DF_stuAddressq檢查(Check Key)約束:如 CK_stuAgeq外鍵(Foreign Key)約束:如 FK_stuNo 17ALTER TABLE stuInfo ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo)ALTER TABLE stuInfo ADD CONSTRAINT UQ_stuID UNIQUE (stuID)ALTER TABLE stuInfo ADD CONSTRA

10、INT DF_stuAddress DEFAULT (地址不詳) FOR stuAddressALTER TABLE 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演示:給學員信息表stuInfo添加約束添加主鍵約束(stuNo作為主鍵)添加唯一約束(因為每人的身份證號全國唯一)添加默認約束(如果地址不填,默認為“地址不詳”)添加檢查

11、check約束,要求年齡只能在1540歲之間添加外鍵約束(主表stuInfo和從表stuMarks建立關(guān)系,關(guān)聯(lián)字段為stuNo)18演示:查看約束結(jié)果19ALTER TABLE 表名 DROP CONSTRAINT 約束名 例如:刪除stuInfo表中地址默認約束ALTER TABLE stuInfo DROP CONSTRAINT DF_stuAddress20數(shù)據(jù)庫 1數(shù)據(jù)庫 2數(shù)據(jù)庫 3表 1表 2表 1表 2表 1表 2增刪改查增刪改查增刪改查增刪改查增刪改查增刪改查數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶登錄帳號登錄帳號SQLserver三層安全管理2122演示創(chuàng)建登錄EXEC表示調(diào)用存儲過

12、程,存儲過程類似C語言的函數(shù)內(nèi)置的系統(tǒng)管理員 帳戶sa密碼默認為空,建議修改密碼 計算機名用戶名用戶名,密碼2324EXEC sp_grantdbaccess 登錄帳戶名,數(shù)據(jù)庫用戶名 其中,“數(shù)據(jù)庫用戶“為可選參數(shù),默認為登錄帳戶,即數(shù)據(jù)庫用戶默認和登錄帳戶同名。USE stuDBGOEXEC sp_grantdbaccess jbtrainingS26301, S26301DBUser EXEC sp_grantdbaccess zhangsan, zhangsanDBUser在stuDB數(shù)據(jù)庫中添加兩個用戶2526qdbo 用戶q表示數(shù)據(jù)庫的所有者(DB Owner)q無法刪除 dbo 用戶,此用戶始終出現(xiàn)在每個數(shù)據(jù)庫中 qguest 用戶q適用于沒有數(shù)據(jù)庫用戶的登錄帳號訪問q每個數(shù)據(jù)庫可有也可刪除系統(tǒng)內(nèi)置的數(shù)據(jù)庫用戶27EmployeesEmployeeID123LastNameDavolioFullerLeverling FirstName NancyAndrewJanetReportsTo22 .delete FROM EmployeesSELECT * FROM Employees28USE

溫馨提示

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

最新文檔

評論

0/150

提交評論