提供PPT課件,答案,教學大綱,題庫。8小時微課視頻,236個經典實例,100道習題,15個上機實驗,2個課程設計
本書是為高等院校應用型大學部計算機專業或相關專業精心編寫的一本資料庫課程教學用書,它以SQL Server 2012為核心繫統,較完整地論述了資料庫系統的基本概念、基本原理和SQL Server的應用技術。
本書分為3個部分,共12章。第1~3章為第1部分,講述了資料庫的基本理論知識及資料庫設計的相關技術,其內容主要包括資料庫系統概述、數據模型、關係資料庫的基本理論、關係模式的規範化以及資料庫設計思想和方法;第4~11章為第2部分,講述了SQL Server 2012資料庫基礎、資料庫與表管理、SELECT數據查詢、視圖與索引、存儲過程與觸發器及用戶自定義函數、資料庫併發控制、資料庫安全管理及資料庫的備份與恢復等內容。第12章為第3部分,介紹了ADO.NET訪問SQL Server資料庫的簡單應用。
資料庫原理及應用
課程編號: 1311090
學時/學分:56/3.5
1本課程的性質及適用專業
本課程是一門專業核心課,適用於計算機科學與技術、軟體工程等專業。
2 對先修課程的要求
3 課程支撐的畢業要求及具體指標點
支持畢業要求1.2:掌握計算機應用系統基礎知識和基本工作原理。具體指標為:了解數據模型的類型、關係型資料庫的系統結構等相關概念。掌握關係模型的規範化及關係分解理論,掌握資料庫設計的相關理論及方法。
支持畢業要求3.1:掌握程序設計理論與方法,具備軟體開發技能。具體指標為:掌握SQL Server資料庫的創建、數據的管理,掌握T-SQL數據查詢語句、游標的使用,視圖和索引的創建和使用,存儲過程、觸發器和用戶定義函數的創建及引用。掌握資料庫的安全管理和資料庫的備份與恢復。
支持畢業要求3.2:具備在他人指導下進行系統設計和開發能力。具體指標為:掌握對實際問題需求分析的步驟和方法,掌握系統設計的步驟和方法。掌握一種編程語言,如C++、C#、JAVA等,並能夠利用一種語言進行程序設計。
支持畢業要求4.2:在他人指導下,根據系統需求規格,進行計算機應用系統的組成、模塊和過程的設計,且有能力對結果進行測試與評估。具體指標為:根據問題的需求進行環境設計,具有系統模塊和過程設計的能力,具有進行單元測試、集成測試的能力。掌握對系統評價的方法。
4 本課程教學內容對畢業要求及指標點的支撐
4.1 理論教學安排
章節或知識模塊支持畢業要求的細化指標教學內容學時分配學生任務第一章資料庫系統概述了解資料庫系統的基本概念、資料庫模型的概念,深刻理解資料庫三級結構和兩級映像的體系結構。1.
數據管理技術發展的三個階段;2.
DB、DBMS、DBS的概念;3.
數據模型;4.
資料庫的體系結構三級模式兩級映射;4.
分散式資料庫簡介。2
作業要求:掌握數據系統的專業術語。自學要求:自學資料庫系統的組成,新型資料庫。討論:討論資料庫的應用領域。第二章關係資料庫的基本理論理解關係型資料庫規範化理論,掌握關係模型分解的理論和方法。1.
關係代數;2.
關係的範式及規範化;3.
關係模式的分解。4
作業要求:掌握規範化理論和關係模式3NF
分解方法。自學要求:函數依賴的概念、無損分解與函數依賴分解。討論:討論函數依賴在關係規範化中的作用。第三章資料庫設計了解資料庫設計的基本概念和專業術語,熟悉數據設計的基本步驟和方法。
1.
資料庫設計概述;2.
需求分析;3.
概念結構設計;4.
邏輯結構設計;5.
物理結構設計;6.
資料庫實施、運行及維護。6
作業要求:掌握資料庫設計的方法及步驟。自學要求:自學數據流圖、數據字典及ER
圖的概念。討論:討論局部ER
模型合併為全局ER
模型時要解決的衝突。第四章SQL Server
系統概述了解SQL Server
所需環境、主要系統資料庫,掌握T-SQL
流程式控制制語句,了解SQL Server
存儲機制。1. SQL Server
系統簡介;2. Transact-SQL
簡介;3. Transact-SQL
流程式控制制語句;4. SQL Server
存儲機制。2
作業要求:掌握T-SQL
數據類型,利用T-SQL
流程式控制制語句編程。自學要求:T-SQL
數據類型、T-SQL
控制流程語句。討論:SQL Server
所需環境等。第五章資料庫與數據表管理了解資料庫文件類型;熟悉創建資料庫和數據表的基本語句格式;掌握成批數據操作的方法。1. SQL Server
資料庫概述;2.SQL Server
資料庫創建和維護;3. SQL Server
數據表的創建與管理;4.
利用INSERT
、DELET
和UPDATE
對數據表中成批數據操作2
作業要求:在SQL Server
環境中創建資料庫和數據表,對數據表中數據進行操作。自學要求:SQL Server
資料庫和數據表的操作命令、語句格式。討論:多表關聯關係與數據約束第六章數據查詢掌握數據查詢的基本語句、多表查詢的連接語句、自查詢語句、聯合查詢語句的格式、應用。1. SELECT
查詢語句的結構;2.
多表查詢;3.
利用游標處理查詢結果。4
作業要求:運用各種類型查詢語句進行實際問題的數據查詢。自學要求:基本查詢語句的語句格式。討論:帶EXISTS
語句與一般子查詢語句的區別。第七章視圖與索引了解視圖與索引的基本概念,理解使用視圖和索引的意義,掌握創建視圖和索引的方法。1.
視圖的創建和使用;2.
索引的創建和使用。4
作業要求:根據實際問題創建、使用視圖和索引。自學要求:視圖和索引的概念,創建視圖和索引的語句格式。討論:利用視圖能對資料庫進行哪些操作?為什麼要使用索引?第八章存儲過程、觸發器和用戶定義函數理解掌握存儲過程、觸發器和用戶定義函數的意義及創建和調用方法。1.
存儲過程的創建、調用和管理;2.
觸發器的創建、調用和管理;3.
用戶定義函數的創建、調用和管理。4
作業要求:創建、調用和管理存儲過程、觸發器和用戶定義函數。自學要求:存儲過程、觸發器和用戶定義函數的語句格式。討論:帶輸出參數存儲過程的調用和觸發器中如何調用存儲過程?第九章資料庫併發控制理解事務的概念,了解併發操作引起的問題,掌握併發數據處理和管理的方法。1.
事務的定義、提交;2.
併發事務訪問管理;3.
封鎖機制。2
作業要求:定義、提交和回滾事務。自學要求:事務的概念、定義事務的語句格式。討論:為什麼要引入封鎖機制?第十章資料庫安全管理掌握身份驗證的方法、登錄名、資料庫用戶的創建與管理,角色的創建與管理。
1.
身份驗證模式的概念及設置;2.
登錄名和資料庫用戶的創建及管理;3.
角色的創建與管理;4.
許可權管理。4
作業要求:創建與管理登錄名、資料庫用戶和角色。自學要求:身份驗證模式,登錄名、資料庫用戶和角色創建的語句格式。討論:登錄名、資料庫用戶、角色、許可權之間有什麼關係?第十一章資料庫備份與恢復了解資料庫備份與恢復的重要性,掌握資料庫備份與恢復的方法。
1.
資料庫備份與回復的概念;2.
分離和附加資料庫;3.
資料庫的備份;4.
資料庫的恢復。4
作業要求:創建備份設備、進行資料庫的完全備份、差異備份、事務日誌備份,資料庫恢復。自學要求:利用圖形界面方式備份資料庫,再進行資料庫恢復。討論:選擇備份方式與資料庫恢復方式有什麼關係?第十二章使用ADO.NET
訪問SQL Server
掌握用高級語言連接SQL Server
的方法,掌握用該機語言調用SQL
語句和存儲過程的方法。1.
資料庫訪問技術ADO.NET
;2.
資料庫的連接;3.
存儲過程的調用;4.
事務的運用;5.
簡單系統的編寫。2
作業要求:高級語言訪問資料庫,編寫數據管理界面,調用存儲過程。自學要求:資料庫連接,登錄界面編寫,簡單系統設計。討論:系統設計中如何使用存儲過程、觸發器及用戶定義函數?
4.2 實踐教學安排
序號項目名稱支持畢業要求的細化指標學時分配類型每組人數學生任務
1
資料庫定義實驗1.
了解並掌握SQL Server Management Studio
界面及菜單功能、創建資料庫、數據表;2.
了解並掌握利用SQL
語句創建資料庫及數據表、修改表結構的方法。2
設計型11.
用SQL Server Management Studio
創建資料庫、數據表、修改表結構;1.
用SQL
語言創建資料庫、數據表、修改表結構;3.
向數據表輸入相關數據。4.
撰寫實驗報告。2
簡單查詢和連接查詢實驗1.
掌握SQL
語句查詢的基本格式;2.
掌握SQL
語言進行單表或多表查詢的方法。2
設計型11.
利用T-SQL
語句進行單表查詢;2.
利用T-SQL
語句進行多表連接查詢(內連接、外連接);3.
撰寫實驗報告。3
嵌套查詢和統計查詢實驗1.
了解SQL
嵌套查詢的意義;2.
掌握父查詢和子查詢的執行順序;3.
區別相關子查詢與不相關子查詢;4.
利用統計函數進行組合查詢和統計查詢。2
設計型11.
利用SQL
語言進行單表嵌套查詢;2.
利用SQL
語言進行多表嵌套查詢;3.
利用SQL
語言進行多層嵌套查詢。4.
利用SQL
語言進行組合查詢和統計查詢查詢實驗;5.
撰寫實驗報告。4
游標使用實驗1.
了解游標在資料庫訪問中的重要性;2.
掌握游標的設計、使用方法。2
設計型11.
用SQL
語句定義游標;2.
使用游標修改和刪除數據。3.
撰寫實驗報告。5
視圖、索引與資料庫關係圖實驗1.
了解視圖、索引在資料庫設計中的作用;2.
利用或SQL
語言創建視圖、索引文件。2
設計型11.
利用或SQL
語言創建視圖文件;2.
利用或SQL
語言創建索引文件。3.
撰寫實驗報告。6
存儲過程創建與應用實驗1.
理解存儲過程的概念;2.
掌握存儲過程的創建和調用;3.
掌握存儲過程的查看、修改和刪除。2
設計型11.
創建存儲過程;2.
調用存儲過程;3.
管理存儲過程;4.
撰寫實驗報告7
使用觸發器實現數據完整性實驗1.
了解觸發器的重要性及觸發條件;2.
掌握觸發器的創建和管理方法;3.
掌握調用觸發器的方法。2
設計型11.
創建觸發器的方法;2.
管理觸發器的方法;3.
撰寫實驗報告。8
事務的創建與管理實驗1.
加深對資料庫併發控制、封鎖機制和事務概念的理解;2.
掌握事務的定義、使用方法。2
設計型11.
完成事務創建、管理;2.
使用事務進行資料庫的併發操作;3.
撰寫實驗報告。5 本課程考核方式及成績評定方式
該課程的考核採用綜合考核方式。總成績由平時成績(30%)、階段考試成績(20%)、期末考試成績(50%)構成。平時成績由考勤、平時作業(10%)、實驗報告(10%)和期末考試資格作業(第4章至第12章例題運行結果截圖,10%)構成;階段考試分為兩次,階段I考查第1章至第3章資料庫理論方面的內容,占10%,階段II考查第4章至第9章資料庫技術應用方面的知識,占10%;期末考試考第1章至第12章的全部內容,占50%。
課程強調學生的自主學習能力,針對需要繼續加強對知識布置自主學習任務。並把自主學習知識點納入課程的學習過程中。
6 課程評價與改進
課程考核結束后,任課教師遵循學院教學委員會通過的課程達成度評價機制和評價方法,對本課程的畢業要求達成度進行自我評價。此外,學院的教學委員會將指派專門的教師,依據學生的考試成績和平時成績等資料,對本課程的達成度進行評價,並出具達成度評價報告。教師根據評價結果,改進其教學方法和教學內容,以便更好地支撐學生畢業要求的達成。
7本課程學時分配
序號 | 內容 | 講課 | 習題課 | 實驗 | 小計 | ||
1 | 資料庫系統概述 | 4 | 4 | ||||
2 | 關係資料庫基本理論 | 4 | 4 | ||||
3 | 資料庫設計 | 6 | 6 | ||||
4 | SQL Server 2008概述 | 2 | 2 | ||||
5 | 資料庫與數據表管理 | 2 | 2 | 4 | |||
6 | 數據查詢 | 4 | 6 | 10 | |||
7 | 視圖與索引 | 2 | 2 | 4 | |||
8 | 存儲過程、觸發器和用戶定義函數 | 4 | 4 | 8 | |||
9 | 資料庫併發控制 | 2 | 2 | 4 | |||
10 | 資料庫安全管理 | 4 | 4 | ||||
11 | 資料庫備份與恢復 | 4 | 6 | ||||
12 | 第12章 ADO.NET訪問SQL Server 2008資料庫 | 2 | 2 | ||||
合計 | 40 | 16 | 56 | ||||
序號 | 實驗項目名稱 | 實驗類型 | 課時 | 組別 | 周次 | 節次 | 實驗要求 |
7 | 資料庫定義實驗 | 設計 | 2 | 1 | 7 | 09-10 | 要求分別用SQL Server Management Studio和T-SQL語句進行資料庫和數據表的定義實驗。參照試驗二、三,完成實驗報告。 |
2 | 簡單查詢和連接查詢實驗 | 驗證 | 2 | 1 | 8 | 09-10 | 要求利用T-SQL語句進行單表和多表的簡單查詢和鏈接查詢實驗。參照實驗五,完成實驗報告。 |
3 | 嵌套查詢和統計查詢實驗 | 設計 | 2 | 1 | 9 | 09-10 | 要求利用T-SQL語句進行單表和多表的嵌套查詢實驗。參照實驗五,完成實驗報告。 |
4 | 游標使用實驗 | 設計 | 2 | 1 | 10 | 09-10 | 要求完成游標的定義、使用方法及使用游標修改和刪除數據的方法。參照實驗六,完成實驗報告。 |
5 | 視圖、索引與資料庫關係圖實驗 | 設計 | 2 | 1 | 11 | 09-10 | 要求創建、查看、修改和刪除視圖;創建、刪除索引文件;創建資料庫關係圖。參照試驗七,完成實驗報告。 |
6 | 事務的創建與管理實驗 | 設計 | 2 | 1 | 12 | 09-10 | 要求完成事務創建、管理,使用事務進行資料庫的併發操作。參照實驗十,完成實驗報告。 |
7 | 存儲過程創建與應用實驗 | 設計 | 2 | 1 | 13 | 09-10 | 要求完成SQL Server中存儲過程的創建與管理,並能進行簡單的應用。參照實驗七,完成實驗報告。 |
8 | 使用觸發器實現數據完整性實驗 | 設計 | 2 | 1 | 14 | 09-10 | 要求完成利用SQL Server中創建和管理觸發器,並能進行簡單的應用。參照實驗八,完成試驗報告。 |
資料庫應用實習
課程編號: 5147160
學時/學分:32/2
1本課程的性質及適用專業
本課程是一門專業課,適用於計算機科學與技術和軟體工程專業。
2 對先修課程的要求
建議先修資料庫原理及應用、軟體工程、C#程序設計或Java程序設計等課程。
支持畢業要求1.3:掌握軟體工程的基本理論和方法。具體指標點為:掌握資料庫項目的基本概念和術語;掌握資料庫系統生命周期管理的基本理論和方法;掌握資料庫系統開發計劃制定、需求管理、配置管理、團隊管理、項目跟蹤控制、項目收尾等基本理論和方法。
支持畢業要求3.2:具備在他人指導下進行系統設計和開發能力。課程具體指標為:針對給定一個資料庫應用項目,要求同學和其團隊完成項目實施方案的制定,選擇合適的開發平台,完成資料庫項目開發的實踐。
支持畢業要求4.2:在他人指導下,根據系統需求規格,進行計算機應用系統的組成、模塊和過程的設計,且有能力對結果進行測試與評估。課程具體指標為:根據資料庫應用項目的實際要求,掌握如何使用相關高級語言進行系統設計、指導學學進行界面總體布局和美化,掌握使用高級語言與資料庫進行數據交互功能,指導學生完成「肥伺服器」和「瘦客戶端」的理念。並掌握系統設計的一些技巧。
4.1 理論教學安排
章節或知識模塊支持畢業要求的細化指標教學內容學時分配學生任務第一章基於資料庫應用項目管理概述掌握資料庫項目的基本概念和術語1.
項目和軟體的基本概念;2.
資料庫項目的組成要素;3.
資料庫項目管理的概念和特點;5.
資料庫項目的生命周期與管理過程;6.
資料庫項目管理涉及的相關概念和術語。2
作業要求:掌握資料庫項目管理的概念,能辨別哪些是項目,掌握資料庫項目生命周期和管理過程。自學要求:自己列舉3
個任務活動,辨析哪些是項目,說明原因。討論:討論資料庫項目管理的生命周期,討論資料庫項目管理的重點和主要環節在哪?第二章資料庫項目需求規格說明書1.
掌握資料庫應用項目系統需求分析說明書的格式規範;2.
掌握資料庫應用項目需求分析的方法;3.
掌握數據流圖的設計規範;4.
掌握數據字典的撰寫格式。1.
資料庫應用項目系統需求分析說明書的規範;2.
資料庫應用項目的綜合分析、局部範圍確定;3.
數據流圖的設計規範,數據字典的撰寫規範。4
作業要求:根據具體問題,撰寫項目系統需求分析說明書。自學要求:系統需求分析說明書的撰寫規範。討論:1.
如何確定子項目的範圍?一般遵循哪些原則?2.
項目任務分解中重點關注那些內容?第三章資料庫應用項目的概念設計、邏輯設計1.
掌握資料庫應用項目概念設計的思想、方法;2.
掌握局部概念設計的方法;3.
掌握全局概念設計的方法;4.
掌握將全局ER
模型轉換為關係模式的原則。1.
依據系統需求規格說明書劃分為個子系統;2.
設計局部ER
模型;3.
設計全局ER
模型;4.
設計資料庫應用項目的關係模式。4
作業要求:根據具體問題,設計局部ER
圖,設計全局ER
圖,設計關係模式。自學要求:ER
圖的概念,設計ER
圖的方法、注意事項等知識。討論:1.
將局部ER
模型合併成全局ER
模型時需要解決有幾類衝突?第四章資料庫應用項目程序設計(1)根據系統需求規格說明書的要求,用計算機演算法語言實現解題的步驟。(2)編寫代碼,用程序設計語言編製程序;(3)進行模塊內功能的測試、單元測試。
(1)選擇適合的語言;(2)編寫滿足具有確切功能要求的程序代碼;(3)編寫處理效率高的代碼;(4)設計操作方便,用戶界面友好的程序;(5)程序代碼的要求可讀性好,函數、變數標識符合規範;(5)編寫的程序要求擴充性、維護性好。
2
作業要求:掌握代碼編寫的命名規範,如names -pace
的命名、Class
的命名、局部變數的命名、Static
變數的命名、參數的命名等;代碼編寫格式,如縮進、換行、括弧、初始化、布局、簡單語句、返回語句、if-else
語句等。程序編寫規範,如異常、final
類等。自學要求:利用C#
或JAVA
編程討論:1.
在寫代碼的時候是否應該優化性能?2.
程序代碼編寫的技巧掌握了哪些?第五章資料庫應用項目的系統測試(1)掌握測試方案設計;(2)掌握測試方案文檔編寫方法;(3)掌握測試報告編寫的方法;(4)掌握用戶對測試結果進行的評價。(1)黑盒法和白盒法;(2)大型軟體系統測試的基本步驟:①模塊測試; ②子系統測試; ③系統測試; ④驗收測試。
2
作業要求:1.
理解黑盒、白盒測試原理,並掌握該方法;2.
編寫測試文檔和測試報告。自學要求:自學使用其他的系統測試方法討論:1.
何時用黑盒測試、何時用白盒測試?2.
系統測試的關鍵點是什麼?第六章資料庫應用項目的運行和維護(1)掌握資料庫系統的維護方法;(2)掌握資料庫系統運行過程中硬體常見故障和排除方法;(3)掌握資料庫系統運行過程中軟體常見故障和排除方法。(1)資料庫系統的常用維護方法;(2)掌握資料庫系統運行過程中常見故障和排除方法。2
作業要求:1.
掌握資料庫系統運行過程中常用的維護方法;2.
資料庫系統運行過程中常用故障排除方法。自學要求:資料庫系統運行過程中應注意的問題。討論:1.
資料庫系統完成一個生命周期的條件是什麼?2.
資料庫系統運行過程中如何保證數據的安全性?
4.2 實踐教學安排
序號項目名稱支持畢業要求的細化指標學時分配類型每組人數學生任務1
資料庫應用項目啟動1.
在資料庫項目開發過程中,從項目構思、技術路線、實施計劃等綜合考慮項目開發所帶來的經濟效益、以及對環境、法律、安全等的影響因素。2.
按照標準文檔格式模板,撰寫相關文檔(例如項目建議書)2
驗證型3-5
項目初期,根據用戶要求的內容和技術手段,編寫項目建議書。2
資料庫應用項目需求分析1.
確定系統的目的、範圍、定義和功能時所要做的所有工作;2.
系統分析及軟體建模;3.
系統需求分析的步驟方法。2
設計型3-5
明確項目組織形式,建立項目團隊和人員職責分工,確定項目範圍。撰寫系統需求分析說明書。3
資料庫應用項目概念設計、邏輯設計1.
確定範圍設計局部模型;2.
將局部模型綜合程全局模型;3.
設計優化的邏輯關係模型。2
根據數據流圖,選擇合適的層次,確定自系統的範圍,一次設計局部、全局概念模型,最後優化為應用項目的關係模式。4
資料庫應用項目系統設計1.
掌握一定的編程語言,掌握程序設計的規範,培養程序設計能力;2.
增加團隊合作的意識;3.
界面設計、交互設計及程序開發6
設計型3-5
明確各模塊分工,建立相應的團隊,進行程序設計。5
項目測試與跟蹤掌握測試測試環境的設定;掌握測試進度並能及時跟蹤、及時調整測試環境;掌握測試用例構建5.
系統測試和文檔編寫4
設計型3-5
測試環境一定要與需求規格相符;隨時增加新的測試用例進行跟蹤維護。
5 本課程考核方式及成績評定方式
該課程的考核採用綜合考核方式。總成績分為:項目答辯(40%)、過程成績(45%)、實驗成績(15%:可行性報告5%、項目範圍分析和團隊建立5%、系統設計和系統測試5%)。過程成績主要包括平時考勤(5%)、平時作業成績(5%)以及學習結束后的(35%)。
本課程設置4個實驗。每個實驗提前1周布置給學生,要求學生通過課外進行實驗預習,根據實驗內容,對實驗進行初步分析設計,在課程上分組討論形成文檔。擬制演示文稿(PPT)進行彙報,老師視情參與討論並給出意見,以保證課程實驗的效果。教師在實驗課上監督實驗進行情況。在分組討論中參加,檢查項目的設計構想和方案,對關鍵實驗內容的考核採用現場分組答辯形式,最終實驗成績由每次實驗報告成績以及關鍵實驗答辯成績構成。現場檢查課內實驗,加強學生軟體工程問題的可行性分析、軟體範圍核實、團隊組織建設、軟體開發計劃和項目跟蹤控制等軟體工程相關知識和技能完成實驗設計與實施,並對實驗結構進行分析的能力。
課程強調學生的自主學習能力,針對需要繼續加強對知識布置自主學習任務。並把自主學習知識點納入過程測試和系統答辯。
6 課程評價與改進
7本課程學時分配
序號 | 內容 | 講課 | 習題課 | 實驗 | 小計 |
1 | 基於資料庫應用項目管理概述 | 2 | 2 | 4 | |
2 | 資料庫項目需求規格說明書 | 4 | 2 | 6 | |
3 | 資料庫應用項目的概念設計、邏輯設計 | 4 | 2 | 6 | |
4 | 資料庫應用項目程序設計 | 2 | 6 | 8 | |
5 | 資料庫應用系統設計規範 | 2 | 2 | 4 | |
6 | 資料庫應用項目的運行和維護 | 2 | 2 | 4 | |