SQL-server2005課程總結(講解及習題)_第1頁
SQL-server2005課程總結(講解及習題)_第2頁
SQL-server2005課程總結(講解及習題)_第3頁
SQL-server2005課程總結(講解及習題)_第4頁
SQL-server2005課程總結(講解及習題)_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫原理課程總結及復習題 第十五小組第十五小組組長:張星宇組員 荊典 尹歌 2011 年 6 月 6日數(shù)據(jù)庫原理課程總結及復習題3目錄目錄SQL SEVER 2005 概述概述.3總結大綱總結大綱 .4知識點總結知識點總結 .51基礎知識.51.1SQL Server 2005的特點.51.2SQL Server 2005的工具和使用程序.51.3SQL Server 2005的服務器管理.51.4SQL Server Management Studio界面.61.5SQL Server 2005數(shù)據(jù)庫的結構.61.6SQL Server 2005系統(tǒng)數(shù)據(jù)庫.61.7數(shù)據(jù)庫的分離與附加.61

2、.8數(shù)據(jù)的導入與導出.62數(shù)據(jù)庫的創(chuàng)建與修改.72.1預備知識.72.2數(shù)據(jù)庫的安全性機制.72.3SQL Sever 登陸賬號的管理.72.4角色管理(具有相同權限的一組用戶稱為角色).82.5用戶數(shù)據(jù)庫的創(chuàng)建和修改.93數(shù)據(jù)查詢(重點).93.1基本的SELECT 查詢.93.2條件查詢.93.3排序查詢.103.4分組篩選查詢.103.5聯(lián)結查詢.113.6嵌套查詢.114數(shù)據(jù)表與視圖.114.1預備知識:系統(tǒng)數(shù)據(jù)類型.114.2視圖的基本概念.124.3表結構的創(chuàng)建與修改.124.4視圖的創(chuàng)建與修改與使用.154.5數(shù)據(jù)庫的權限管理.163-7 章復習題章復習題.18答案答案 .21會

3、議記錄會議記錄 .25任務分工任務分工 .26數(shù)據(jù)庫原理課程總結及復習題4SQL Sever 2005 概述概述數(shù)據(jù)庫技術是當今世界高新技術潮流中的重要技術之一,也是計算機科學和信息管理應用領域的主要研究對象之一。從它的縱深知識內容來看,它蘊含了較深的數(shù)學概念和較多的模型定義及現(xiàn)代技術,從它的橫向發(fā)展來看,它涉及了各個領域,諸如軍事、商業(yè)、通信、娛樂等各個領域。數(shù)據(jù)庫(Database)是長期存儲在計算機內、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS)是位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問數(shù)據(jù)庫的方法,可

4、以讓用戶很方便地對數(shù)據(jù)庫進行維護、排序、檢索和統(tǒng)計等操作。數(shù)據(jù)庫系統(tǒng)(Database System,DBS)是實現(xiàn)有組織地、動態(tài)地存儲大量關聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術的計算機系統(tǒng)。從狹義上來講,數(shù)據(jù)庫系統(tǒng)主要是指數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和用戶。從廣義上來講,它不僅包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和用戶,還包括計算機硬件、操作系統(tǒng)和維護人員。其中,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心和主體,它保證了數(shù)據(jù)庫的獨立性和共享性。數(shù)據(jù)庫中的數(shù)據(jù)不是雜亂無章地堆積在一起的,而是按照一定的數(shù)據(jù)模型組織、描述和存儲的。數(shù)據(jù)庫中的數(shù)據(jù)相互關聯(lián),它可以為多個用戶、多個程

5、序所共享,具有較小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨立性。數(shù)據(jù)庫技術要解決的主要問題就是如何科學的組織和存儲數(shù)據(jù),如何高效地獲取、更新和加工處理數(shù)據(jù),并保證數(shù)據(jù)的安全性、可靠性和共享性。數(shù)據(jù)庫原理課程總結及復習題5總結大綱總結大綱基礎知識基礎知識SQL Server 2005 的基礎知識包括 SQL Server 2005 的版本區(qū)分以及兩種身份驗證模式、軟件的新特性、界面組成、服務器管理、工具和實用程序等內容。此外,在基礎知識中,還從宏觀上介紹了系統(tǒng)數(shù)據(jù)庫的組成與作用,細致介紹了數(shù)據(jù)庫的存儲結構、了解數(shù)據(jù)庫的分離與附加原理、數(shù)據(jù)的導入導出上。數(shù)據(jù)庫的創(chuàng)建與修改數(shù)據(jù)庫的創(chuàng)建與修改本章宏

6、觀介紹了數(shù)據(jù)的安全性機制、管理權限與角色管理,從原理上理解數(shù)據(jù)的安全性管理。使我們對數(shù)據(jù)有更深入的了解。數(shù)據(jù)查詢數(shù)據(jù)查詢SQL Server 2005 數(shù)據(jù)查詢,需要我們了解查詢的含義,熟練掌握各種查詢語句(如何查詢數(shù)據(jù)表中的數(shù)據(jù)、如何按自己設置的條件來查詢數(shù)據(jù)表中的數(shù)據(jù)、如何將查詢到的數(shù)據(jù)表中的數(shù)據(jù)按升序或者降序排列、如何查詢多個表中的數(shù)據(jù)) 、邏輯運算符并會靈活運用。還包括了安全性的登錄賬號管理內容。數(shù)據(jù)表與視圖數(shù)據(jù)表與視圖在本部分中,我們涉及到了對于軟件的基本操作,首先,在預備知識部門介紹了系統(tǒng)數(shù)據(jù)類型,而后具體介紹了表結構的創(chuàng)建與修改與表數(shù)據(jù)的操作,以便于制作出理想的表格。然后介紹了一

7、個新的概念視圖,并對其概念與作用,創(chuàng)建、使用、修改進行了講解,并配有相應例題。接下來,重點介紹了索引,了解索引的定義、認識索引的原理、掌握索引的實現(xiàn)。最后學習數(shù)據(jù)的完整性的四個方面表現(xiàn)及如何實現(xiàn)數(shù)據(jù)的完整性。其中將約束這一途徑作為具體講解,介紹了約束的分類及各種約束的實現(xiàn)方法。數(shù)據(jù)庫原理課程總結及復習題6知識點總結知識點總結1 基礎知識基礎知識1.1 SQL Server 2005 的特點的特點1、 SQL Server 2005 的版本(1) 企業(yè)版(最全面)(2) 標準版(3) 工作組版(4) 簡易版(免費)(5) 開發(fā)版2、SQL Server 2005 的新特性(1) 更多組件(2)

8、統(tǒng)一的用戶界面(management studio)(3) 與 Visual S 語言相結合(4) 商業(yè)智能(5) 安全性增強(6) XML 技術(7) Web Services1.2 SQL Server 2005 的工具和使用程序的工具和使用程序(1) 分析服務(Analysis Services)(2) 配置工具(3) 文檔和教程 (4) 性能工具(5) Business Intelligence Development Studio(6) SQL Server Management Studio1.3 SQL Server 2005 的服務器管理的服務器管理(1) 數(shù)據(jù)庫引擎(2) 分

9、析服務 (3) 全文搜索(4) 代理服務(5) 集成服務數(shù)據(jù)庫原理課程總結及復習題71.4 SQL Server Management Studio 界面界面(1) “已注冊服務器”窗口(2) “對象資源管理器 ”窗口(3) “文檔”窗口(4) “工具欄”主要按鈕1.5 SQL Server 2005 數(shù)據(jù)庫的結構數(shù)據(jù)庫的結構1 目錄結構(在安裝后于默認路徑 C:Program FilesMicrosoft SQL Server 可以找到)(1) 80 文件夾(2) 90 文件夾(3) MSSQL.n 文件夾2 存儲結構(1) 邏輯存儲結構:表、視圖、存儲過程等(2) 物理存儲結構:文件由稱為

10、“頁”的單元組成1.6 SQL Server 2005 系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫(1) master 系統(tǒng)數(shù)據(jù)庫:含有系統(tǒng)級信息(2) model 系統(tǒng)數(shù)據(jù)庫:向用戶提供各種模板(3) msdb 系統(tǒng)數(shù)據(jù)庫:安排警報和作業(yè)、記錄 SQL Server 代理程序服務項目和操作員信息(4) tempdb 系統(tǒng)數(shù)據(jù)庫:保存臨時或中間結果的工作空間(5) resource 系統(tǒng)數(shù)據(jù)庫:包含了 SQL Server 2005 中所有系統(tǒng)對象1.7 數(shù)據(jù)庫的分離與附加數(shù)據(jù)庫的分離與附加1 數(shù)據(jù)庫的分離(1) 用【對象資源管理器】分離數(shù)據(jù)庫(2) 用命令語句分離數(shù)據(jù)庫:sp_deteac_db 語句2 數(shù)據(jù)庫的

11、附加(1) 用【對象資源管理器】附加數(shù)據(jù)庫(2) 用命令語句附加數(shù)據(jù)庫:FOR ATTACH 語句1.8 數(shù)據(jù)的導入與導出數(shù)據(jù)的導入與導出使用對象資源管理器導入導出同版本或舊版本的 SQL Server Excel、Access、純文本文件 通過 OLE DB 或 ODBC 來訪問的數(shù)據(jù)源等 數(shù)據(jù)庫原理課程總結及復習題82 數(shù)據(jù)庫的創(chuàng)建與修改數(shù)據(jù)庫的創(chuàng)建與修改2.1 預備知識預備知識(1) 數(shù)據(jù)庫的命名規(guī)則(2) 數(shù)據(jù)庫的上限量:32767(3) 數(shù)據(jù)庫的文件主數(shù)據(jù)文件(.mdf)次數(shù)據(jù)文件(.ndf)事務日志文件(.ldf)(4) 數(shù)據(jù)庫的文件組(5) 數(shù)據(jù)庫的狀態(tài)2.2 數(shù)據(jù)庫的安全性機制

12、數(shù)據(jù)庫的安全性機制 (1)保護數(shù)據(jù)庫防止非法使用造成數(shù)據(jù)泄露、更改或破壞。(2)數(shù)據(jù)庫的安全性與計算機系統(tǒng)的安全性是緊密相連、相互支持的。(3)用戶身份鑒定只有合法的用戶才準許進入系統(tǒng);DBMS 要控制合法用戶執(zhí)行合法的操作;操作系統(tǒng)的保護措施;數(shù)據(jù)以密碼形式存儲到數(shù)據(jù)庫中。注:注:SQL Server 2005 身份驗證模式身份驗證模式Windows 身份驗證模式(默認模式,高權限,常供系統(tǒng)管理員使用)SQL Server 身份驗證(鏈接時需驗證身份)(4)數(shù)據(jù)安全性的核心問題核心問題是 DBMS 的存取控制機制。2.3 SQL Sever 登陸賬號的管理登陸賬號的管理 (1)在 SQL S

13、erver2005 中有兩種賬號: 登錄名登錄名:登錄服務器的賬號,可登錄服務器;分為 Windows 域登錄名和 SQL Server 登錄名。 用戶帳號用戶帳號:可操作數(shù)據(jù)庫的授權。每一個用戶帳號必隸屬于某指定登錄名。 (2)創(chuàng)建登陸賬號 CREATE LOGIN 語句實現(xiàn) eg1: 創(chuàng)建SQL Server登錄名stu_ admin1,密碼111111create login stu_admin1with password=111111,default_database=master eg2:創(chuàng)建 windows 域登錄名 先利用控制面板創(chuàng)建一個用戶賬戶 TAN. createlogin

14、 318128E5963D486TANfrom windows /*318128E5963D486 為域/ (3)創(chuàng)建用戶賬號數(shù)據(jù)庫原理課程總結及復習題9 CREATE USER 語句實現(xiàn) Eg: 創(chuàng)建登錄名 stu_ admin1 下的用戶 create user U1_stu_admin1 for login stu_admin1 (4)管理登陸賬號和用戶賬號 、關于登陸賬號 查看服務器的登陸賬號 Sp_helploginslogin_name 修改服務器的登陸賬號 ALTER LOGIN login_name刪除服務器的登陸賬號 DROP LOGIN login_name、關于用戶賬號查

15、看數(shù)據(jù)庫的用戶賬戶 Sp_helpusersecurity_account修改數(shù)據(jù)庫的用戶賬號 ALTER USER user_name刪除數(shù)據(jù)庫的用戶賬號 DROP USER user_name2.4 角色管理(具有相同權限的一組用戶稱為角色)角色管理(具有相同權限的一組用戶稱為角色) 1、系統(tǒng)預定義角色固定服務器角色 固定服務器角色及權限負責管理和維護 SQL Server 的組,在安裝時自動創(chuàng)建。 利用 T-SQL 語句為登陸賬號指定和刪除服務器角色 登陸:Sp_addsrvrolemember login_name , role_name 刪除:Sp_dropsrvrolemember

16、 login_name , role_name固定數(shù)據(jù)庫角色 固定數(shù)據(jù)庫角色及權限 一些一些預定義的數(shù)據(jù)庫用戶組,在創(chuàng)建數(shù)據(jù)庫時自動添加。其中,public 數(shù)據(jù)庫角色特點:每個數(shù)據(jù)庫用戶都自動歸屬為該角色成員。 用戶可以對該該角色進行授權,而其他固定數(shù)據(jù)庫角色的權限是不可改變的。 將某權限授予 public,則數(shù)據(jù)庫所有用戶便可具有該權限。 利用 T-SQL 語句為數(shù)據(jù)庫角色添加用戶賬號 Sp_addrolemember role, security_account 2、用戶自定義角色創(chuàng)建用戶自定義角色 Sp_addrole role , owner數(shù)據(jù)庫原理課程總結及復習題10為用戶定義的

17、角色授權 例如:為數(shù)據(jù)庫角色 Teacher 授予查詢 TchInfo 的權限 USE TeachingData GO GRANT SELECT ON TchInfo TO Teacher為用戶定義角色添加成員 例如:為數(shù)據(jù)庫角色 Teacher 加入用戶 U2_stu_admin1 USE TeachingData GO Sp_addrolemember Teacher , U2_stu_admin12.5 用戶數(shù)據(jù)庫的創(chuàng)建和修改用戶數(shù)據(jù)庫的創(chuàng)建和修改1創(chuàng)建(1) 用“對象資源管理器”創(chuàng)建數(shù)據(jù)庫(2) 用 T-SQL 命令語句創(chuàng)建數(shù)據(jù)庫:CREATE DATABASE NAME2 . 修改(

18、1) ALTER DATABASE:修改數(shù)據(jù)庫結構(2) SP_rename:修改數(shù)據(jù)庫名稱例:將數(shù)據(jù)庫名 sales 修改為 mysales。 SP_rename sales, mysales,DATABASE (3) DROP DATABASE:刪除數(shù)據(jù)庫3 數(shù)據(jù)查詢(重點)數(shù)據(jù)查詢(重點)3.1 基本的基本的 SELECT 查詢查詢1 基本語法(1)SELECT FROM(2)ALL (默認) 與 DISTINCT(去掉重復行)(3)Top n(4)*(顯示所有列)例:查詢表TchInfo前三行的指定列use yoman select top 3 TID as 工號,Tname as 姓

19、名,Title as 職稱 from TchInfo3.2 條件查詢條件查詢1 基本語句數(shù)據(jù)庫原理課程總結及復習題11 SELECT FROM WHERE (search_condition)2 比較查詢(1)比較運算符:= != 等(2)例:查詢 stuinfo 中 dept 為管理系的學生信息Select * from stuinfo Where dept=管理系 3 范圍查詢(1)BETWEEN AND (2)NOT BETWEEN AND (3)(NOT) IN 例:查詢生日在1984-9-1 和 1985-8-31 之間的學生信息use yoman select * from Stu

20、Infowhere BirthDay between 1984-9-1 and 1985-8-31注:用戶定義完整性由用戶針對具體數(shù)據(jù)環(huán)境與應用環(huán)境設置的一組規(guī)則或約束。4 模糊查詢(1)(NOT)LIKE %(2)(NOT)LIKE _(3)(NOT)LIKE (4)(NOT)LIKE 5 使用邏輯運算符查詢(1)NOT (2)AND(3)OR3.3 排序查詢排序查詢1 基本語法(1)ORDER BY(2)ASC(3)DESC例:查詢ScoreInfo 中 CID=001的全部信息use yoman select * from ScoreInfo where CID=001ORDER BY

21、Score desc/*缺省視為升序(asc)*/3.4 分組篩選查詢分組篩選查詢1 聚合函數(shù)(1)SUM()(2)AVG()數(shù)據(jù)庫原理課程總結及復習題12(3)MIN()(4)MAX()(5)CUONT()2 基本語法(1)GROUP BY (2)HAVING (3)CUBE例:在SCOREINFO 表中查詢、最低成績use yoman select CID,AVG(SCORE)AS 平均成績,MIN(SCORE) AS 最低成績FROM SCOREINFOgroup by CID3.5 聯(lián)結查詢聯(lián)結查詢用到邏輯運算副與比較運算符1 等值于非等值聯(lián)結查詢: 自然聯(lián)結:DISTINCT2 復合

22、條件聯(lián)結:WHERE 子句中有兩個聯(lián)結條件3 自身聯(lián)結:需要為表指定兩個別名4 外聯(lián)結(1) 左外聯(lián)結(2) 右外連接3.6 嵌套查詢嵌套查詢(1) 使用 IN 和 NOT IN(2) 使用比較運算符(3) 使用 EXISTS 和 NOT EXISTS4 數(shù)據(jù)表與視圖數(shù)據(jù)表與視圖 實體完整性數(shù)據(jù)完整性 域完整性參照完整性用戶自定義完整性定義和檢驗完整性的機制:約束 規(guī)則 觸發(fā)器 存儲過程 標識列 數(shù)據(jù)類型 索引4.1 預備知識:系統(tǒng)數(shù)據(jù)類型預備知識:系統(tǒng)數(shù)據(jù)類型1 數(shù)值型數(shù)據(jù)庫原理課程總結及復習題13(1) 整數(shù)(2) 位數(shù)據(jù)類型(3) 小數(shù)(4) 貨幣數(shù)據(jù)2 字符型(1) 字符串型(2) U

23、nicode 字符串型(3) 二進制字符串型3 日期和時間類型4 特殊數(shù)據(jù)類型這部分可放到 1 基礎概述中,和 4 關系不大。4.2 視圖的基本概念視圖的基本概念1 定義:視圖是一個虛擬的表,表中記錄由一個查詢語句(稱為子查詢)執(zhí)行后所得到的查詢結果構成。2 特點(1) 視圖并不是表,而是一個 SELECT 語句構成的“虛表”(2) 視圖看起來像一個表,操作方法也與基表相似(3) 視圖的數(shù)據(jù)是 n 個(n=1)表或視圖的子集3 視圖的優(yōu)點 (1) 簡化用戶操作:分散在多個表中的數(shù)據(jù),通過視圖定義集中在一起; (2) 簡化用戶權限管理:通過授予用戶使用視圖的權限,即指定了用戶使用表的特定列的權限

24、,增加了安全性。4 關于視圖的注意事項(1) 只有在當前數(shù)據(jù)庫中才能創(chuàng)建視圖(2) 命名是不能與表同名,視圖名必須是唯一的(3) 不能把規(guī)則、默認值或觸發(fā)器與視圖相關聯(lián)(4) 不能在視圖上建立任何索引,包括全文索引4.3 表結構的創(chuàng)建與修改表結構的創(chuàng)建與修改一、預備知識1、實體完整性(Entity Integrity)實體:是數(shù)據(jù)庫中表示的一個客觀存在并可相互區(qū)別的事物。實體完整性的特征: 基本表中的主碼不能取空值,保證實體有意義?;颈碇械闹鞔a必須唯一,保護實體可區(qū)分。2、域完整性(Domain Integrity)域完整性要求存入數(shù)據(jù)庫基本表中的數(shù)據(jù)必須滿足某種特定的數(shù)據(jù)類型、格式和取值范

25、圍,以及該列是否接受 null 值等規(guī)定。例:StuInfo 表中,Birthday 列必須是日期型數(shù)據(jù);性別(Sex)必須是字符型的,且只能取“男”或“女” 。3、參照完整性(Referential Integrity)數(shù)據(jù)庫原理課程總結及復習題14通過主碼和外碼約束來維護表之間數(shù)據(jù)一致性的手段。其規(guī)則是:參照表中的外碼取值只能取 null 值或是被參照表中某記錄的主碼值。注:參照完整性在兩個表的插入、刪除和修改操作上,體現(xiàn)為聯(lián)動關系:當參照表插入新紀錄時,系統(tǒng)檢查新記錄的外碼是否在被參照表中存在,如果存在則允許插入,否則拒絕輸入;被參照表刪除某紀錄 a 時,可以根據(jù)用戶設定將參照表中外碼值

26、與 a 的主碼值相同的記錄同時刪除(稱為級聯(lián)刪除),也可以拒絕刪除記錄 a;被參照表修改某紀錄 a 主碼值時,根據(jù)需要系統(tǒng)可以將參照表中外碼值與 a 的主碼值相同的記錄同時修改(稱為級聯(lián)修改),也可以拒絕 CID 修改。二、表結構的創(chuàng)建(1) 用【對象資源管理器】創(chuàng)建表結構(2) 用 T-SQL 命令語句創(chuàng)建表結構:例:建立 scoreInfo(成績表)USE yomanCREATE TABLE ScoreInfo( CID char(8) NOT NULL, /*not null 是實體完整性約束 非空約束/ SID char(8) NOT NULL, /*char(8) 是域的完整性約束

27、約束了數(shù)據(jù)類型與長度/ TID char(8) NULL, Score numeric(3,0)NULL, Schyear char(9) NULL, Term char(1) NULL, FOREIGN KEY(CID)REFERENCES CourseInfo(CID), /*REFERENCES 指定參照關系 參照/ FOREIGN KEY(SID)REFERENCES StuInfo(SID), FOREIGN KEY(TID)REFERENCES TchInfo(TID), PRIMARY KEY (CID,SID)注:在數(shù)據(jù)完整性方面,此表為參照表,其余三個表為被參照表, CID

28、SID TID 為此表外碼的同時又是另外三個表的主碼,外碼的取值只能是空或是主碼的值,從而保證了表與表之間的數(shù)據(jù)的一致性。此為參照完整性。三、表結構的修改(1) 用【對象資源管理器】修改表結構(2) 用 T-SQL 命令語句修改表結構:ADD:添加DROP COLUMN:刪除列ALTER COLUMN:修改列值PRIMARY KEY 指定主鍵FOREIGN KEY 指定外鍵REFRENCES 指定參照關系CONSTRAIN 指定約束例:為StuInfo 增加 yoman 列use yomanAlter table StuInfoadd youman varchar(20)數(shù)據(jù)庫原理課程總結及復

29、習題15例:為ScoreInfo 添加外鍵與主鍵use yoman alter table ScoreInfo ADD FOREIGN KEY(CID) REFERENCES CourseInfo(CID), FOREIGN KEY(SID) REFERENCES StuInfo(SID), FOREIGN KEY(TID) REFERENCES TchInfo(TID), PRIMARY KEY(CID,SID)附注:約束附注:約束通過強制用戶執(zhí)行在字段、記錄或者表(表之間)等不同范圍的數(shù)據(jù)規(guī)則,來保證數(shù)據(jù)的完整性。 列級約束:聲明作為列定義的一部分,僅適用于對應的列。分類: 表級約束:當一

30、個約束中包含同一個表的多個列時,必須使用表級約束。主鍵(PRIMARY KEY)約束主鍵唯一地表示表中的數(shù)據(jù)行,通常將某一列或多列組合定義為主鍵。設置主鍵是實現(xiàn)實體完整性的方法。一個表只能有一個主鍵,主鍵約束中的列不能為空值和重復值(唯一地標識表中的每一行) 。如果主鍵為復合鍵,則其中某列中的記錄值可以重復,但主鍵所在的列組合值必須唯一。 定義主鍵時,系統(tǒng)自動為其生成一個同名的聚集索引。唯一性(UNIQUE)約束UNIQUE 約束確保表中一列或多列的組合值具有唯一性,防止輸入重復值,主要用于保證非主鍵列的實體完整性。SQL Server 將為每個 UNIQUE 約束創(chuàng)建一個唯一索引。一個表可創(chuàng)

31、建多個 UNIQUE 約束。 CHECK 約束 通過限制列值的范圍保證數(shù)據(jù)的域完整性。一個數(shù)據(jù)表可以定義多個 CHECK 約束。 CHECK 約束用一個邏輯表達式來檢查輸入數(shù)據(jù)的有效性,如果滿足 CHECK 約束的條件,則將數(shù)據(jù)寫入到表中,否則數(shù)據(jù)無法輸入。外鍵(FOREIGH KEY)約束把表中一列或多列組合定義為外鍵,主要目的是建立和加強表與表之間的數(shù)據(jù)聯(lián)系,確保數(shù)據(jù)的參照完整性。在創(chuàng)建和修改表時,可通過定義 FOREIGH KEY 約束建立外鍵:外鍵的取值只能是被參照表中對應字段已經(jīng)存在的值,或者 Null 值。外鍵約束只能參照本身所在數(shù)據(jù)庫中的某個表,包括參照自身表,但不能參照其他數(shù)據(jù)

32、庫中的表。非空約束默認值(DEFALUT)約束為屬性定義默認值,有助于維護數(shù)據(jù)的完整性。在插入新記錄時,如果未指定在該屬性的值,則系統(tǒng)將默認值置為該屬性的內容。默認值可以包括常量、函數(shù)或者 NULL 值等。數(shù)據(jù)庫原理課程總結及復習題16對于不允許接受 null 值的屬性,默認值更顯示出其重要性。如當用戶在添加數(shù)據(jù)記錄時,在某屬性上無法確定應該輸入什么數(shù)據(jù),而該屬性又存在 not null 約束,這時可以由系統(tǒng)以默認值的方式指定一個值。4.4 視圖的創(chuàng)建與修改與使用視圖的創(chuàng)建與修改與使用1.創(chuàng)建使用 T-SQL 命令創(chuàng)建視圖常見的視圖形式(1) “行列子集”視圖(2) 帶有 With Check

33、 Option 的視圖(3) 帶表達式的視圖(4) 分組視圖(5) 基于多個基表的視圖(6) 基于視圖的視圖2.修改a) 用 T-SQL 修改視圖定義b)更新視圖記錄c) 刪除視圖:DROP VIEW 命令 3使用1 視圖的查詢應用實例(1) 視圖的屬性查詢(2) 視圖的記錄查詢2 通過視圖更新基表應用實例(1) 用【對象資源管理器】通過視圖修改基表(2) 通過視圖向基表插入記錄(3) 通過視圖更新基表結論三、表數(shù)據(jù)的操作三、表數(shù)據(jù)的操作1 插入數(shù)據(jù)(1)插入一條數(shù)據(jù):INSERT INTO(2)插入多條數(shù)據(jù)例:在TchInfo表中插入數(shù)據(jù)use yomaninsert into TchInf

34、o values(0001,許巍,男,1968-07-21,副教授,管理系)insert into TchInfo values(0002,小飛,男,1976-01-21,講師,信息系)insert into TchInfo values(0003,王菲,女,1969-05-11,副教授,管理系)2 修改數(shù)據(jù)UPDATA SET 3 刪除數(shù)據(jù)數(shù)據(jù)庫原理課程總結及復習題17DELETE FROM例:刪除工號為9999的教師。*/Delete From TchInfo Where TID=9999 四、索引四、索引1 索引的概念:將數(shù)據(jù)表中記錄按照某個順序進行排序,從而快速找到需要查找的記錄。2

35、所引的分類(1)聚集索引(2)非聚集索引(3)唯一索引3 索引的創(chuàng)建(1)在【對象資源管理器】中創(chuàng)建索引 (2)用 T-SQL 創(chuàng)建索引 :CREAT INDEX ON 例:創(chuàng)建索引use yomancreate unique index idx_SID on StuInfo(SID)/*聚集索引,升序缺省*/create index idx_CID on CourseInfo(CID)/*非聚集索引缺省*/create index idx_SCID on ScoreInfo(SID,CID Desc)/*降序簡單復合索引*/4 索引的修改:ALTER INDEX ON5 索引的刪除:DROP

36、 INDEX 4.5 數(shù)據(jù)庫的權限管理數(shù)據(jù)庫的權限管理 1、SQL Sever 權限分類SQL Server 權限分為對象權限對象權限和語句權限語句權限兩種(1)對象權限對象對象是指表、視圖和存儲過程等。對象權限對象權限是指用戶對數(shù)據(jù)庫對象中的數(shù)據(jù)能夠執(zhí)行的操作集合。 包括 8 個:select、insert、update、delete、execute、alter、references、take ownership(2) 語句權限 指用戶是否具有權限來執(zhí)行某一語句。例如:創(chuàng)建表 包括 8 個:create datebase、create table、create view、create pro

37、cedure、create rule、create default、backup database、backup log2、利用 T-SQL 語句管理用戶權限 即利用 GRANT、REVOKE 和和 DENY 語句語句實現(xiàn)對用戶帳號的授權、撤銷和禁止使用權限管理。 (1)GRANT 語句 該語句實現(xiàn)對表、視圖、存儲過程等數(shù)據(jù)對象的授權 GRANT.ONTO.例如:將 StuInfo 的查詢權授予全體用戶 GRANT SELECT ON StuInfo數(shù)據(jù)庫原理課程總結及復習題18 TO public(2)REVOKE 語句 撤銷先前給數(shù)據(jù)庫用戶授予或拒絕的權限 REVOKEGRANT OPTI

38、ON FOR ON TO|FROM CASCADE例如:撤銷用戶 U2 在 StuInfo 表上 Sname 的修改權 REVOKE UPDATE(Sname) ON StuInfo FROM U2 (3)DENY 語句 拒絕對授予用戶或角色的權限,防止用戶通過其組或角色成員身份繼承權限 DENY TO CASCADE例如:拒絕用戶 U1 擁有 ScoreInfo 表的查詢權限 DENY SELECT ON ScoreInfo To U1 3、查看權限查看某用戶的權限(NULL 表示命令占位符)查看某操作對象的權限 查看授權者已經(jīng)授予的權限數(shù)據(jù)庫原理課程總結及復習題193-7 章復習題章復習題

39、名詞解釋名詞解釋1、 SQL Server 實例:2、 對象資源管理器:3、 T-SQL 語言:4、 分離數(shù)據(jù)庫:5、 數(shù)據(jù)庫附加:6、 條件查詢的三種表達方式:7、 視圖:選擇題選擇題 1 下列屬于 SQL Server 2005 Enterprise Edition 功能特點的是 ( )A 它是最全面的版本之一 B 它適用于中小型企業(yè)C 可用作前端 WEB 服務器 D 只用于開發(fā)測試2 下列不是 SQL Server2005 為用戶提供的程序是 ( )A 分析服務(Analysis Services) B 配置工具C 文檔和教程 D 對象資源管理器3 在 SQL Server 2005 中

40、“數(shù)據(jù)庫引擎優(yōu)化顧問”是由下列哪個程序提供的 ( )A 分析服務 B 配置工具 C 文檔和教程 D 性能工具4 與之前的版本相比,下列不屬于 SQL Server 2005 的特點的是 ( )A 擁有更多的組件 B 支持 XML 技術與 web Services 技術C 安裝與配置較為復雜 D 提供豐富的聯(lián)機處理和數(shù)據(jù)挖掘算法 5 關于 SQL Server 實例正確的說法是 ( ) A一個 SQL Server 實例就是一個 SQL Server 服務器。 B安裝了一套 SQL Server 軟件,就是創(chuàng)建一個新的 SQL Server 實例。 CSQL Server 實例在原理上就是一個數(shù)

41、據(jù)庫的邏輯劃分 D以上說法均正確6 安裝并運行任一版本 SQL Server 2005,與服務器連接過程中為什么沒有 SQL Server 身份驗證模式 ( )A 選擇了 windows 身份驗證模式 B 選擇了混合身份驗證模式C 安裝時沒有選擇身份驗證模式 D 軟件與系統(tǒng)不兼容 數(shù)據(jù)庫原理課程總結及復習題207 從邏輯存儲結構的意義上講,數(shù)據(jù)庫由哪些性質的信息所組成( )A 表 B 視圖 C 頁 D 存儲過程 8 在 SQL Server 2005 中有 5 個系統(tǒng)數(shù)據(jù)庫,其中在對象資源管理器中看不見的是( ) A master B mode C msdb D resource9 SQL S

42、erver2005 中的示例數(shù)據(jù)庫名字為( ) A.Works B.Adventure C. Adventure Works D. Works Adventure 10 在 SQL Server2005 中文件組用于數(shù)據(jù)庫文件的集中管理,系統(tǒng)表存放在哪個文件組中( )A 主文件組 B 其他文件組 C 用戶定義文件組 D 默認文件組 11 在 SQL Server2005 T-SQL 命令語言中,下列哪個可以用于更改表的數(shù)據(jù)( )哪個可以用于更改數(shù)據(jù)庫名稱( )哪個可以用于更改表的結構( )A Alter B update C sp_rename D select 12 SQL Server 數(shù)

43、據(jù)庫中數(shù)據(jù)的導入形式不可以是以下哪個( ) A 同版本或是舊版本的 SQL Server B Excel、Access、純文本文件 C 通過 OLE DB 或 ODBC 來訪問的數(shù)據(jù)源 D 來自于 WEB 的網(wǎng)頁文件 13 下列屬于 SQL Server2005 的數(shù)據(jù)類型的是( ) A 數(shù)值型 B 字符型 C 時間數(shù)值類型 D 以上都是 14 在數(shù)據(jù)庫中,下列對于索引的描述錯誤的是( ) A 創(chuàng)建索引最大的用途是提高查找速度B 創(chuàng)建索引占用額外的空間而且修改數(shù)據(jù)時也不太方便C 創(chuàng)建索引可以大大提高系統(tǒng)的性能D 唯一索引的唯一指的是只能建立一個唯一索引 15 在 T-SQL 語言中,什么語句可

44、以根據(jù)一個字段或者多個字段來排序查詢結果( ) A group by B order by C where from D select * 16 若數(shù)據(jù)中的字符為通配符%,我們如何將其轉換為普通字符( ) A(%) B % C% D填空題填空題1在 SQL Server2005 的 5 個版本中,最全面的版本是( ) ,免費的版本是( ) ,功能相同用途不同的兩個版本是( )和( )數(shù)據(jù)庫原理課程總結及復習題212SQL Server 2005 為用戶提供的連接模式中, ( )模式是默認模式,它也稱為信任鏈接,一般在局域網(wǎng)中適用。3 數(shù)據(jù)庫文件的基本存儲單元是( ) ,一個存儲單元的大小為(

45、) ,“區(qū)”是軟件每次申請空間時能分配的最小單元,一個“區(qū)”是由( )個相鄰的基本存儲單元組成的4 在 SQL Server 2005 中新建、修改一個數(shù)據(jù)庫可以利用( )語言完成,也可以利用( )完成。5( )稱為位數(shù)據(jù)類型,取 0 或是 1,長度為( )字節(jié),在表示真假、是否等兩者選擇的時候使用。6 用 T-SQL 創(chuàng)建索引,默認設置時建立的是( )索引。一個表中最多可以創(chuàng)建( )個這樣的索引簡答題簡答題 1SQL Server2005 系統(tǒng)數(shù)據(jù)庫有 5 個:master、model、msdb、tempdb 和 resource,它們在 SQL Server2005 中都有特殊的用途,簡述

46、它們的用途。2分別簡述數(shù)據(jù)庫的兩種存儲結構3刪除數(shù)據(jù)庫備份和還原歷史記錄信息和關閉現(xiàn)有連接的區(qū)別是什么4簡述創(chuàng)建表級完整性約束條件的意義5簡述索引的概念及優(yōu)越性6數(shù)據(jù)查詢中怎樣實現(xiàn)行和列的選擇7SQL 查詢語句中 ALL 和 * 選項的作用有何不同8簡述排序查詢、分組查詢、篩選查詢、聯(lián)結查詢及嵌套查詢的概念9 使用視圖的優(yōu)缺點有哪些操作題操作題1 基于上課已有的四個表 stuinfo courseinfo tchinfo scoreinfo 完成實驗操作1、 向數(shù)據(jù)庫中添加一個次要數(shù)據(jù)文件 teachingdata4,設置其初始值大小為 10MB.2、 為表 stuinfo 中的字段 snam

47、e 增加唯一約束性3、 將所有學生的學號加 14、 修改 tchinfo 表的結構,使職位只能為“教授”或者“副教授”5、 選擇學號尾號是 5 的學生信息6、 查詢選擇數(shù)據(jù)庫的同學的姓名和學號7、 按學號分組,查詢每個學生的名字,平均分,最低分,最高分。8、 查詢和“李飛”教同一門課程的老師的名字9、 建立職稱為“教授”的老師的信息視圖 teachingdata5數(shù)據(jù)庫原理課程總結及復習題222 根據(jù)表格完成如下練習S(供應商)P(零件)SP(零件供應記錄)SNOSNAMESTATUSCITYS1Smith20LondonS2Jones10ParisS3Blake30ParisPNOPNAME

48、WEIGHTCOLORP1Nut12RedP2Bolt17GreenP3Screw17BlueP4Screw14RedSNOPNOQTYS1P1300S1P2200S1P3400S2P1300S2P2400S3P22001.找出所有 S 打頭的供應商提供的零件清單(須含零件名稱、數(shù)量) 。2.列出所有供應商提供的零件種類數(shù)(須含供應商名、零件種類數(shù)量) 。3.求 Paris 城市供應商的數(shù)目(要求列標題顯示“Number of Paris” ) 。4.求至少供應了供應商 S2 所供應零件的供應商名字。5.求不供應 P2 的供應商名字。答案答案一、名詞解釋一、名詞解釋1、SQL Server 實

49、例:在原理上就是一個數(shù)據(jù)庫的邏輯劃分。2、對象資源管理器:以樹形結構顯示和管理數(shù)據(jù)庫服務器中的所有數(shù)據(jù)庫對象,可以讓用戶連接到不同類型的服務器。3、T-SQL 語言:是結構化查詢語言的增強版本,使用戶能夠創(chuàng)建數(shù)據(jù)庫設備、數(shù)據(jù)庫和其它數(shù)據(jù)對象、從數(shù)據(jù)庫中提取數(shù)據(jù)、修改數(shù)據(jù),也可以動態(tài)地改變 SQL Server 設置。4、分離數(shù)據(jù)庫:是指將數(shù)據(jù)庫從 SQL Server 實例中刪除,但數(shù)據(jù)庫在其數(shù)據(jù)文件和事務日志文件中保持不變。5、數(shù)據(jù)庫附加:就是將“已經(jīng)分離的數(shù)據(jù)庫”的數(shù)據(jù)文件和日志文件復制到需要該數(shù)據(jù)庫的地方,然后將其附加到數(shù)據(jù)庫服務器中。6、條件查詢的三種表達方式:內含、排除和列表。7、視

50、圖:是一個虛擬的表,表中記錄由一個查詢語句(稱為子查詢)執(zhí)行后所得到的查詢結果構成。二、選擇題二、選擇題1-5 ADDCD 6-10ACDCA 11BCA 12-16DDDBC三、填空題三、填空題1 企業(yè)版 簡易版 企業(yè)版 開發(fā)板2 Windows 身份驗證3 頁 8KB 84 T-SQL 語句 對象資源管理器數(shù)據(jù)庫原理課程總結及復習題235 bit 16 非聚集索引 249 四、簡答題四、簡答題1SQL Server2005 系統(tǒng)數(shù)據(jù)庫有 5 個:master、model、msdb、tempdb 和 resource,它們在 SQL Server2005 中都有特殊的用途,簡述它們的用途(1

51、)master 系統(tǒng)數(shù)據(jù)庫:記錄 SQL Server 2005 系統(tǒng)的所有系統(tǒng)級的信息,包括元數(shù)據(jù)(例如登錄帳戶) 、端點、鏈接服務器和系統(tǒng)配置設備等,以及數(shù)據(jù)庫文件的位置、初始化信息等。因此,如果 master 數(shù)據(jù)庫被破壞或出現(xiàn)故障不可用,則 SQL Server 無法啟動。(2)model 系統(tǒng)數(shù)據(jù)庫:模板數(shù)據(jù)庫,向用戶提供各種模板。(3)msdb 系統(tǒng)數(shù)據(jù)庫:是 SQL Server 代理用來安排警報和作業(yè)、記錄 SQL Server 代理程序服務項目和操作員信息等的數(shù)據(jù)庫,有關數(shù)據(jù)庫備份和還原的記錄也會寫在該數(shù)據(jù)庫中。 (4)tempdb 系統(tǒng)數(shù)據(jù)庫:保存臨時或中間結果的工作空間,

52、包含了所有的暫存數(shù)據(jù)表與暫存的預存程序。服務器實例關閉時,將永久刪除 tempdb 數(shù)據(jù)庫中的數(shù)據(jù)。每次 SQL Server 2005 啟動時都會重建 tempdb 數(shù)據(jù)庫。(5)resource 系統(tǒng)數(shù)據(jù)庫:SQL Server 2005 中新增加的只讀數(shù)據(jù)庫,包含了 SQL Server 2005中所有系統(tǒng)對象。2.請分別簡述數(shù)據(jù)庫的兩種存儲結構邏輯存儲結構指: 數(shù)據(jù)庫由哪些性質的信息所組成(如表、視圖、存儲過程等) ; 物理存儲結構:數(shù)據(jù)庫文件如何在磁盤上存儲的。 數(shù)據(jù)庫文件由稱為“頁”的單元組成。3刪除數(shù)據(jù)庫備份和還原歷史記錄信息和關閉現(xiàn)有連接的區(qū)別是什么刪除數(shù)據(jù)庫備份和還原歷史記錄

53、信息:會在刪除數(shù)據(jù)的同時,也從 msdb 系統(tǒng)數(shù)據(jù)庫刪除該數(shù)據(jù)庫的備 份和還原歷史記錄(不再能夠恢復);關閉現(xiàn)有連接:在刪除數(shù)據(jù)庫之前,系統(tǒng)會自動將所有與該數(shù)據(jù)庫相連的連接全部關閉。否則,在刪除數(shù)據(jù)庫時還有其他活動的連接,會出現(xiàn)出錯提示信息。 4簡述創(chuàng)建表級完整性約束條件的意義對多個表中相關聯(lián)的數(shù)據(jù)進行操作約束,操作過程中當數(shù)據(jù)沖突時操作將無法執(zhí)行。5簡述索引的概念及優(yōu)越性索引是數(shù)據(jù)庫隨機檢索的常用手段,其作用是將數(shù)據(jù)表中的記錄按照某個順序進行排序,從而可以快速找到需要查找的記錄。索引提供指針以指向存儲在表中指定列的數(shù)據(jù)值,然后根據(jù)指定排序次序排列這些指針。合理地利用索引,將大大提高數(shù)據(jù)庫的檢

54、索速度和數(shù)據(jù)庫的性能。6 數(shù)據(jù)查詢中怎樣實現(xiàn)行和列的選擇基本查詢中用 select_list 進行了結果集中“列”的選擇,條件查詢實現(xiàn)的是“行”的選擇。其中,where 后面的 search_condition 用來限定查詢的范圍和條件,可以是比較(邏輯)運算符表達式、范圍說明、可選值列表、模式匹配、是否為空值。7SQL 查詢語句中 ALL 和 * 選項的作用有何不同ALL 操作對象是行,為包含查詢結果集中的重復記錄;*指代某表的所有列。8簡述排序查詢、分組查詢、篩選查詢、聯(lián)結查詢及嵌套查詢的概念(1)排序查詢:排序查詢主要用于用戶需要將結果按照其中的一個或是多個字段進行排序的情況,在查詢編輯

55、器中輸入 SELECTFROMWHEREORDER BY形式的語數(shù)據(jù)庫原理課程總結及復習題24句,即可實現(xiàn)排序查詢。排序有兩種方式:一種是升序,一種是降序,系統(tǒng)默認為升序。(2)分組查詢:分組查詢主要用于將數(shù)據(jù)記錄按照設置條件分成多個組,可以通過在SELECT 語句后使用 GROUP BY 子句實現(xiàn),在查詢編輯器中輸入 SELECTFROMWHEREGROUP BY形式的語句,即可實現(xiàn)分組查詢。(3)篩選查詢:篩選查詢主要用于用戶需要對查詢和計算后的結果進行進一步篩選的情況,可以通過在 SELECT 語句后使用 GROUP BY 子句配合 HAVING 子句實現(xiàn),在查詢編輯器中輸入 SELEC

56、TFROMWHEREGROUP BYHAVING形式的語句,即可實現(xiàn)篩選查詢。(4)聯(lián)結查詢:聯(lián)結查詢主要用于從多個表中查詢數(shù)據(jù)。聯(lián)結查詢的種類主要有:等值與非等值聯(lián)結查詢、自身聯(lián)結、外連接、符合條件聯(lián)結等(5)嵌套查詢:嵌套查詢主要用于需要先從子查詢中先挑出部分數(shù)據(jù),作為主查詢數(shù)據(jù)的來源或是搜索條件。嵌套查詢的實現(xiàn)可以在查詢編輯器中輸入 SELECTFROMWHERE(SELECTFROMWHERE)形式的語句,即可實現(xiàn)嵌套查詢。9使用視圖的優(yōu)缺點有哪些視圖是一個虛擬的表,表中記錄由一個查詢語句(稱為子查詢)執(zhí)行后所得到的查詢結果構成。 優(yōu)點:(1)簡化用戶操作:分散在多個表中的數(shù)據(jù),通過視

57、圖定義集中在一起; (2)簡化用戶權限管理:通過授予用戶使用視圖的權限,即指定了用戶使用表的特定列的權限,增加了安全性。缺點:通過“沒有定義 with check option 的視圖”修改基表,容易造成基表數(shù)據(jù)不安全。五五 操作題操作題(1)1、Alter database teachingdataAdd file( Name=teachingdata4,Filename=e:teaching managementteachingdata4.ndf, Size=10mb,)2、Alter table stuinfoAdd unique(sname)3、Uptate stuinfo set sid=sid+14、Alter table tc

溫馨提示

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

評論

0/150

提交評論