第一篇:數據庫教案
任務引入 [4分鐘]
布置任務 [4分鐘] 任務分析 [6分鐘] 任務實施 [35分鐘]
在手機商城中,當用戶注冊時,要填寫用戶注冊表單,那么,我們填寫的數據就要保存在后臺數據庫中,當注冊成功后用戶登
錄時,就可以直接從后臺數據庫的注冊信息進行信息驗證。現在,教師引導 我們就在MOBILE數據庫中創建一個用戶注冊的數據表吧。
任務:
在MOBILE數據庫中創建數據表,并為表中各列設置恰當 的數據類型,設置主鍵。
要完成手機商城數據庫中數據表創建,可按照前面設計階段 的各表結構建立相關數據表,并按照設計階段的分析為表中各列 設置恰當的數據類型以及設置主鍵。
一、使用MySQL界面方式創建手機商城數據庫中的數據表。學生操作 具體見任務書
教師指導
二、使用SQL命令創建數據表。
(商品大類別表)CREATE TABLE class
(復習數據classID INT PRIMARY KEY, 類型 classNAME CHAR(20)NULL);
三、修改表
ALTER TABLE用于更改原有表的結構。例如,可以增加或 刪減列,創建或取消索引,更改原有列的類型,重新命名列或表,還可以更改表的評注和表的類型。
語法格式:
ALTER [IGNORE] TABLE tbl_name
alter_specification [, alter_specification]...相關知識 [13分鐘] alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
/*添加列*/
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
/*修改默認值*/
| CHANGE [COLUMN] old_col_name column_definition
/*對列重命名*/
[FIRST|AFTER col_name]
| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
/*修改列類型*/
| DROP [COLUMN] col_name /*刪除列*/
| RENAME [TO] new_tbl_name
/*重命名該表*/
| ORDER BY col_name
/*排序*/
| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name] /*將字符集轉換為二進制*/
|
[DEFAULT]
CHARACTER
SET
charset_name [COLLATE collation_name]
/*修改默認字符集*/
| table_options
| 列或表中索引項的增、刪、改
四、復制表 語法格式:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[()LIKE old_tbl_name [ ] ]
| [AS(select_statement)];說明:
學生練習
學生練習[25分鐘] 小結 [3分鐘]
使用LIKE關鍵字創建一個與old_table_name表相同結構的新表,列名、數據類型、空指定和索引也將復制,但是表的內容不會復制,因此創建的新表是一個空表。使用AS關鍵字可以復制表的內容,但索引和完整性約束是不會復制的。select_statement表示一個表達式,例如,可以是一條SELECT語句。
完善表的設計,并輸入記錄數據。
本次課我們學習了創建數據表的另一種方法,以及表的修改和復制等方法,同學們要在課后多加練習。
第二篇:數據庫教案
任務引入 [4分鐘]
請同學們回憶在設計關系時定義了哪些主鍵? 引導學生思考:
學生瀏覽相關資料
有的關系中的某些字段是需要參考另外一個關系中的主鍵,布置任務 [4分鐘] 任務實施 [45分鐘]
相關知識 [34分鐘]
怎樣在MySQL中實現這些?
任務:正確設置相關表的主鍵、外鍵等約束,部分實現表的數據完整性。
實施步驟:
1.教師將學生分組,每個小組經商討后,進一步明確需在表中實現的數據完整性。
2.小組成員先嘗試實現主鍵約束;再嘗試實現外鍵約束、UNQUE約束、CHECK約束、默認值等。3.學生訪問參考網址,自行搜索所需資料:
http://www.tmdps.cn http://www.tmdps.cn ……
4.在實現過程中,教師提示引導同學們參考教材,最后整理設計結果并形成文件,上交到指定位置。相關知識
二、數據的完整性
數據庫完整性就是確保數據庫中數據的一致性和正確性。MySQL通過各種約束、默認值、規則等數據庫對象來保證數據庫的完整性。
1.約束
(1)PRIMARY KEY約束
表的一列或多列稱為表的主鍵,通過它可強制表的實體完整性。
教師引導
學生分組
學生討論
主鍵是在創建表時進行創建的,添加到表中還沒有創建主鍵 約束的數據表中,一個表只能有一個PRIMARY KEY約束。如 果已經創建了一個PRIMARY KEY約束,則可以對其進行修改或刪除。在一個表中,不能有兩行包含相同的主鍵值。不能在主鍵內的任何列中輸入NULL值。
(2)FOREIGN KEY約束
FOREIGN KEY約束標識表之間的關系,用于強制參照完整性,為表中一列或者多列數據提供參照完整性。
FOREIGN KEY作為表定義的一部分在創建表時創建。如果FOREIGN KEY約束與另一個表(或同一表)已有的PRIMARY KEY約束或UNQUE約束相關聯,則可向現有表添加FOREIGN KEY約束。一個表可以有多個FOREIGN KEY約束。可以對已有的FOREIGN KEY約束進行修改或刪除。
(3)UNQUE約束
實施實體完整性。確保在非主鍵列中不輸入重復的值。想要強制一列或多列組合的唯一性時使用該約束而不是PRIMARY KEY約束,可以對一個表聲明多個UNIQUE約束,且允許NULL值。
(4)CHECK約束
CHECK約束通過限制用戶輸入的值來加強域完整性。它指定應用于列中輸入的所有值的布樂搜索條件,拒絕所有不取值為TRUE的值。可以為每列指定多個CHECK約束。
(5)列約束和表約束
約束可以是列約束和表約束。列約束被定為列定義的一部分,并且僅適用于那個列,表約束的聲明與列的定義無關,可以適用于表中一個以上的列。當一個約束中必須包含一個以上的列時,必須使用表約束。
2.默認值
在設計表結構時可根據需要為某列設置默認值,也可以創建默認值對象并綁定到某一列。
小結 [3分鐘]
本次課我們了解了B2C網站應該具有的會員在線訂購功能及流程,并且設計了結構合理的數據表,存儲相關信息。
第三篇:數據庫原理-教案
第一章 緒論
內容概述
闡述數據庫的基本概念,介紹數據管理技術的進展情況、數據庫技術產生和發展的背景,數據模型的基本概念、組成要素和主要的數據模型,概念模型的基本概念及ER方法,數據庫系統的3級模式結構以及數據庫系統的組成。
本章目標
本章講解的數據庫基本概念和基本知識是學習后續各個章節的基礎。學習本章的目的在于了解基本知識,掌握基本概念,為以后的學習打好扎實的基礎。
重點和難點
重點:牢固掌握概念模型的基本概念及其主要建模方法ER方法;掌握關系數據模型的相關概念、數據庫系統三級模式和兩層映像的體系結構、數據庫系統的邏輯獨立性和物理獨立性等;對于如何通過ER方法描述現實世界的概念模型要做到能夠舉一反三的程度。
難點:本章的難點是需要掌握數據庫領域大量的基本概念。有些概念一開始接觸會感到比較抽象,但不要緊,隨著學習的逐漸推進,在后續章節中,這些抽象的概念會逐漸變得清晰具體起來。此外,數據模型及數據庫系統的體系結構也是本章的難點。
第二章 關系數據庫
內容概述
系統地講解關系數據庫的重要概念,并著重對關系模型進行講解。關系模型包括關系數據結構、關系操作集合、以及關系完整性約束三個組成部分。講解關系代數、元組關系演算和域關系演算。從具體到抽象,先講解實際的語言ALPHA(元組關系演算語言)和QBE(域關系演算語言),然后講解抽象的元組關系演算。本章目標
掌握關系模型的三個組成部分及各部分所包括的主要內容;牢固掌握關系數據結構及其定義;關系的三類完整性約束的概念。為學習后面關系數據庫系統打好基礎。
重點和難點
重點:掌握關系數據結構及其定義;關系的三類完整性約束的概念。需要舉一反三的是:關系代數(包括抽象的語言及具體的語言);關系代數中的各種運算(包括并、交、差、選擇、投影、連接、除、及廣義笛卡爾積等)、元組關系演算語言ALPHA及域關系演算語言QBE等,能夠使用這些語言完成各種數據操縱。
難點:由于關系代數較為抽象,因此在學習的過程中一定要結合具體的實例進行學習。同時,要注意把握由具體語言到抽象語言的原則,即通過對具體語言如ALPHA和QBE的學習過渡到對抽象的關系演算的把握。
實驗內容
實驗1 學習安裝某一個數據庫管理系統,通過對某個商用數據庫管理系統的安裝使用,初步了解DBMS的工作環境和系統構架,熟悉對DBMS的安裝,為后面的實驗做準備。
第三章 關系數據庫標準語言SQL
內容概述
詳細介紹關系數據庫語言SQL。SQL是關系數據庫的標準語言。它內容十分豐富,功能非常強大。因為關系數據庫系統的主要功能是通過SQL來實現的,因此講解SQL的同時要進一步講述關系數據庫的基本概念。
本章目標 牢固掌握SQL,達到舉一反三的掌握SQL的功能。同時通過實踐,體會面向過程的語言和SQL的區別和優點。體會關系數據庫系統為數據庫應用系統的開發提供良好環境,減輕用戶負擔,提高用戶生產率的原因。
重點和難點
重點:關系模型和關系數據庫是《數據庫系統概論》課程的重點,第3章又是重點中的重點。要熟練正確的使用SQL完成對數據庫的查詢、插入、刪除、更新操作。在使用具體的SQL時,能有意識地和關系代數、關系演算等語言進行比較,了解他們各自的特點。
難點:用SQL語言正確完成復雜查詢,掌握SQL語言強大的查詢功能。因此在學習過程中一定要多練習,要在安裝好的數據庫系統上進行實際操作,檢查你的答案,你查詢的結果是否正確。只有通過大量練習才能真正達到舉一反三的熟練程度。
實驗內容
實驗2 在安裝好的數據庫系統下創建數據庫、創建表、創建索引;使用SQL對數據庫進行各類查詢操作(單表查詢,連接查詢,嵌套查詢,集合查詢)和更新操作(插入數據,修改數據,刪除數據)。練習數據定義操作,包括基本表的創建、修改及刪除;索引的創建和刪除;視圖的創建和刪除。對視圖的查詢,更新(注意更新的條件)。完成書后作業的SQL練習
第四章 數據庫安全性
內容概述
介紹計算機以及信息安全技術標準的進展。詳細講解數據庫安全性問題和實現技術。RDBMS實現數據庫系統安全性的技術和方法有多種,本章講解最重要的存取控制技術、視圖技術和審計技術。講解存取控制機制中用戶權限的授權與回收,合法權限檢查。數據庫角色的概念和定義等。本章目標
掌握什么是數據庫的安全性問題,牢固掌握數據庫管理系統實現數據庫安全性控制的常用方法和技術。
重點和難點
重點:使用SQL中的GRANT 語句和 REVOKE 語句來實現數據庫的實現自主存取控制功能。使用SQL中CREATE ROLE語句創建角色,用GRANT 語句給角色授權。掌握視圖機制在數據庫安全保護中的作用。
難點:強制存取控制(MAC)機制中確定主體能否存取客體的存取規則,同學們要理解并掌握存取規則為什么要這樣規定。
實驗內容
實驗3 在安裝好的數據庫系統下對已經建立的數據庫創建用戶、角色、視圖;使用SQL對數據進行安全性控制,包括:授權和權力回收。操作完成后看看已授權的用戶是否真正具有授予的數據操作的權力了;權力收回操作之后的用戶是否確實喪失了收回的數據操作的權力。本實驗可以分小組完成。例如,用戶A登錄、建表、建視圖等,授權一些數據操作權限用戶B,然后用戶B登錄,檢查是否具有授予的數據操作權限。也可以一個人建2個用戶來完成。
第五章 數據庫完整性
內容概述
詳細講解數據庫的完整性概念。包括,什么是數據庫的完整性,數據庫的完整性概念與數據庫的安全性概念的區別和聯系,RDBMS的數據庫完整性實現機制,包括實體完整性、參照完整性和用戶自己定義的完整性約束的定義機制、完整性檢查機制和違背完整性約束條件時RDBMS采取的預防措施。觸發器的概念和在數據庫完整性檢查中的應用。本章目標
掌握什么是數據庫的完整性,掌握用SQL語言定義關系模式的完整性約束條件。
重點和難點
重點:牢固掌握DBMS完整性控制機制的三個方面,即完整性約束條件的定義、完整性約束條件的檢查和違約反應。需要舉一反三的:用SQL語言定義關系模式的完整性約束條件。包括定義每個模式的主碼;定義參照完整性;定義與應用有關的完整性。
難點:RDBMS如何實現完整性的策略,即當操作違反實體完整性、參照完整性和用戶定義的完整性約束條件時,RDBMS如何進行處理,以確保數據的正確與有效。其中比較復雜的是參照完整性的實現機制。
實驗內容
實驗4 在安裝好的數據庫系統下對已經建立的數據庫使用SQL對數據進行完整性控制(三類完整性、CHECK短語、CONSTRAIN子句、觸發器)。進行違約操作,用實驗證實,當操作違反了完整性約束條件時,系統是如何進行違約處理的
第六章 關系數據理論
內容概述
詳細講解關系數據理論,主要是關系數據庫規范化理論。包括關系數據庫邏輯設計可能出現的問題,數據依賴的基本概念(包括,函數依賴、平凡函數依賴、非平凡的函數依賴、部分函數依賴、完全函數依賴、傳遞函數依賴的概念;碼、候選碼、外碼的概念;多值依賴的概念),范式的概念、1NF、2NF、3NF、BCNF、4NF的概念和判定方法。數據依賴的Armstrong公理系統。本章內容分為基本要求部分(《概論》6.1-6.3)和高級部分(《概論》6.4)。前者是計算機大學本科學生應該掌握的內容。后者是研究生應該學習掌握的內容。本章目標
關系數據理論既是關系數據庫的重要理論基礎也是數據庫邏輯設計的理論指南和有力工具。要掌握規范化理論和優化數據庫模式設計的方法。
重點和難點
重點:了解什么是一個“不好”的數據庫模式。什么是模式的插入異常和刪除異常。規范化理論的重要意義。牢固掌握數據依賴的基本概念,范式的概念,從1NF到4NF的定義,規范化的含義和作用。需要舉一反三的:四個范式的理解與應用,各個級別范式中存在的問題(插入異常、刪除異常、數據冗余)和解決方法。
難點:能夠根據應用語義,完整地寫出關系模式的數據依賴集合,并能根據數據依賴分析某一個關系模式屬于第幾范式。各個級別范式的關系及其證明。
本章內容的理論性較強。要通過具體例子和習題練習理解和掌握理論知識
第七章 數據庫設計
內容概述
講解數據庫設計方法和技術。數據庫設計的特點,數據庫設計的基本步驟,數據庫設計過程中數據字典的內容,數據庫設計各個階段的設計目標、具體設計內容、設計描述、設計方法等。本章內容的實踐性較強,教師可以少講,讓學生多讀書并進行實踐。
本章目標
了解數據庫設計的重要性和數據庫設計在信息系統開發和建設中的核心地位。掌握數據庫設計方法和步驟,使學生具有設計數據庫模式以及開發數據庫應用系統的基本能力,能在實際工作中運用這些知識、技術和方法,設計符合應用需求的數據庫及其應用系統。重點和難點
重點:掌握數據庫設計步驟和數據庫設計過程中的各級模式設計方法。特別是數據庫概念結構的設計和邏輯結構的設計,這是數據庫設計過程中最重要的兩個環節。牢固掌握用E-R圖來表示概念模型的方法,掌握E-R圖的設計,E-R圖向關系模型的轉換。
難點: 技術上的難點是E-R圖的設計和數據模型的優化,包括對現實世界進行抽象的能力,提取實體、屬性、實體型之間的聯系,正確劃分實體與屬性的能力。如何把第6章關系數據理論與本章結合,用關系數據理論指導數據庫的邏輯設計。真正的難點是理論與實際的結合。同學們一般缺乏實際經驗,缺乏對實際問題解決的能力。特別是缺乏應用領域的知識。而數據庫設計需要設計人員對應用環境、專業業務有具體深入的了解,這樣才能設計出符合具體領域要求的數據庫及其應用系統。要在完成本章習題的基礎上認真完成大作業。體會這些要點,從而真正掌握本章講解的知識、方法和技術。
課程大作業 《數據庫設計與應用開發》
在某個RDBMS產品上,選擇合適的應用系統開發工具為某個部門或單位開發一個數據庫應用系統。通過實踐,掌握本章介紹的數據庫設計方法,同時培養團隊合作精神。要求5~6位同學組成一個開發小組,每位同學承擔不同角色(例如:項目管理員、DBA、系統分析員、系統設計員、系統開發員、系統測試員)。具體要求:
* 給出數據庫設計各個階段的詳細設計報告;
* 寫出系統的主要功能和使用說明;
* 提交運行的系統;
* 寫出收獲和體會,包括已解決和尚未解決的問題,進一步完善的設想與建議;
每個小組進行60分鐘的報告和答辯,講解設計方案,演示系統運行,匯報分工與合作情況
第八章 數據庫編程 內容概述
在數據庫應用系統的開發中常常使用編程方法對數據庫進行操縱。本章講解這些編程技術涉及的概念和使用的方法。主要包括嵌入式SQL、游標的概念;SQL的過程化擴展PL/SQL和存儲過程;使用ODBC設計開發數據庫應用程序的方法。
因為JDBC編程、OLEDB編程與ODBC編程的思路基本相同,限于篇幅本章就不講解JDBC和OLEDB編程,學生可以通過上機實驗了解這些技術。本章內容的實踐性較強,教師可以少講,讓學生多讀書并進行實踐。
本章目標
掌握開發數據庫應用系統的各種編程方法,具有正確選擇不同的方法和技術開發應用程序的能力。
重點和難點
重點:了解SQL編程技術可以有效克服SQL實現復雜應用方面的不足,提高應用系統和RDBMS間的互操作性。掌握嵌入SQL中游標的概念和使用方法;掌握PL/SQL和存儲過程的基本概念,基本結構,語句語法和用法。了解使用ODBC開發應用系統的體系結構,掌握ODBC API和ODBC的應用程序的工作流程。
難點:理論聯系實際,能夠在實際安裝的RDBMS上通過編程的方式開發應用程序,完成對數據庫的各種操作。能夠使用ODBC來進行數據庫應用程序的設計,使設計的應用系統可移植性好,并且能同時訪問不同的數據庫,共享數據資源。
實驗內容
《數據庫系統概論》第4版給出了4個實驗,教師可以根據情況選擇其中部分實驗讓學生完成。具體實驗要求請參見教科書。實驗
5通過嵌入式SQL訪問數據庫 實驗6
使用PL/SQL編寫存儲過程訪問數據庫 實驗7
通過ODBC訪問數據庫
實驗8
通過JDBC訪問數據庫(注:因為JDBC編程與ODBC編程的思路基本相同,限于篇幅本章沒有講解JDBC,同學可以自學,也可以參考中國人民大學 數據庫系統概論精品課程教學網站:http://www.tmdps.cn/ 中的課程實驗)。
第九章 關系查詢處理和查詢優化
內容概述
通過實例講解關系數據庫查詢優化的重要性和可能性。講解RDBMS的查詢處理步驟,即查詢分析、查詢檢查、查詢優化和查詢執行;查詢優化的基本概念,查詢優化包括代數優化和物理優化;代數優化是指關系代數表達式的優化;物理優化則是指存取路徑和底層操作算法的選擇,所以先講解實現查詢操作的主要算法,主要是選擇操作和連接操作的主要算法思想,然后講解關系代數表達式等價變換規則,關系代數表達式的優化,物理優化方法(基于啟發式規則的存取路徑選擇優化,操作算法的執行代價估算方法,基于代價的優化方法)。
本章目標
本章并不要求學生掌握RDBMS查詢處理和查詢優化的內部實現技術,因此沒有詳細講解技術細節。
本章的目的是希望學生了解RDBMS查詢處理的基本步驟,查詢優化的概念、基本方法和技術,為數據庫應用開發中利用查詢優化技術提高查詢效率和系統性能打下基礎。
重點和難點
重點:了解關系數據庫查詢優化的重要性。掌握查詢處理各個步驟的主要功能。能夠把SQL語句轉換成查詢樹,對查詢樹進行代數優化,轉換成優化的查詢樹。掌握物理優化的基本方法。難點:能運用本章學習的查詢優化知識,對于比較復雜的查詢,尤其是涉及連接和嵌套的查詢,寫出適合RDBMS自動優化的SQL語句。對于RDBMS不能優化的查詢需要重寫查詢語句,進行手工調整以優化性能。不要把優化的任務全部放在RDBMS上。
實驗內容
實驗9 查詢優化 通過本章實驗,了解你安裝使用的RDBMS的查詢優化方法和查詢計劃表示,能夠利用它分析查詢語句的實際執行方案和查詢代價,進而通過建立索引或者修改SQL語句來降低查詢代價,達到優化系統性能的目標。
具體實驗內容: 對單表查詢
例如以下的查詢(可以自己給出查詢語句)select * from student
where age>20 ; 2.連接查詢,普通的兩表連接查詢或多表連接查詢
3.嵌套查詢,自己寫幾個帶有子查詢的例子,主要考慮帶有IN和EXISTS謂詞的子查詢,包括相關子查詢和不相關子查詢。也可以使用《數據庫系統概論》書上列舉的例子。
對以上各種查詢,通過建立索引或者刪除索引(單表查詢語句)、修改連接順序(連接查詢語句)、重寫SQL語句即查詢重寫(嵌套查詢);比較不同查詢計劃執行的性能差異,達到降低查詢代價,優化性能的目標。
第十章 數據庫恢復技術
內容概述
事務處理技術主要包括數據庫恢復技術和并發控制技術。因為事務是數據庫恢復和并發控制的基本單位,所以首先講解事務的基本概念和事務的ACID性質。
本章講解數據庫恢復技術。包括數據庫運行中可能發生的故障類型,數據庫恢復中最經常使用的技術—數據轉儲和登錄日志文件。講解日志文件的內容及作用,登記日志文件所要遵循的原則,針對事務故障、系統故障和介質故障等不同故障的恢復策略和恢復方法。具有檢查點的恢復技術。數據庫鏡像功能。
本章目標
掌握事務的基本概念和事務的ACID性質。了解數據庫恢復技術的重要性,針對不同的故障類型,掌握恢復數據庫的策略和方法。
重點和難點
重點:牢固掌握事務的基本概念和事務的ACID性質。要掌握數據庫故障恢復的策略和方法。數據庫恢復的基本原理是數據備份,它貌似簡單,實際卻很復雜。數據庫的事務管理策略(不僅有數據庫恢復策略,還有并發控制策略)和DBMS緩沖區管理策略、事務一致性級別密切相關,同學們要在學習完這些知識后把這些問題聯系起來,提升對這些技術的理解和掌握。
難點:掌握日志文件的使用,系統故障、介質故障的恢復方法。對于剛剛學習數據庫的學生來講并不體會數據庫故障恢復的復雜性和重要性。在實際工作中,則必須正確了解所用的DBMS產品提供的恢復技術和恢復方法,并且能夠根據這些機制正確制定系統的恢復策略,以保證數據庫系統7*24小時正確運行。保證數據庫系統在遇到故障時能及時恢復正常運行,提高抗故障抗災難的能力。
實驗內容
在安裝好的數據庫系統下對已經建立的數據庫人為地制造事務內部故障和系統故障,檢查系統是否進行了恢復。
第十一章 并發控制
內容概述 數據庫管理系統必須提供并發控制機制來協調并發用戶的并發操作以保證并發事務的隔離性和一致性,保證數據庫的一致性。本章討論數據庫并發控制的基本概念和實現技術。包括封鎖技術、封鎖協議、活鎖和死鎖的概念、并發調度的可串行性、沖突可串行化調度、兩段鎖協議、封鎖的粒度、意向鎖。
本章目標
了解的數據庫并發控制技術的必要性和重要性。牢固掌握并發控制的基本概念。
重點和難點
重點:掌握并發操作產生的數據不一致性(丟失修改、不可重復讀、讀“臟數據”)的確切含義。封鎖協議與數據一致性的關系;并發調度的可串行性概念。
難點:兩段鎖協議與串行性的關系、與死鎖的關系。具有意向鎖的多粒度封鎖方法的封鎖過程。
本章內容有一定的深度和難度,可以通過對實例的學習和習題的練習來正確理解和掌握基本概念
第四篇:網絡數據庫教案
《網絡數據庫》教案
第一講
課題:
WEB服務器的安裝與配置
(一)教學目的:
通過本次課題,使學生掌握WEB服務器的安裝與配置;分別在不同操作系統平臺下正確安裝WEB服務器,了解WEB服務器的基本配置方法。
教學內容:
相對于PHP,安裝IIS或者PWS是很容易的。IIS(WinNT平臺下)和PWS(Win9X平臺下)屬同一事物,是ASP的開發平臺、運行后臺,也是服務器的運行軟件。關于IIS的安裝,在ASP教程的前部分有簡要介紹。
首先,強烈推薦Windows2000服務器版。在安裝系統的時候,默認的設置中,Win2000服務器版已經安裝了IIS。最近推出的Win2003服務器版,沒有想像中的那么好,因為服務器追求的是速度。在我用過的5種系統中:Win98、Win2000專業版、Win2000服務器版、WinXP、Win2003服務器版,Win2000服務器版運行速度是最快的,IIS響應時間非常短;WinXP最慢。
安裝IIS或PWS之后,最重要的就是要設置虛擬目錄。如果沒有虛擬目錄,網頁將無法訪問。
Win2000專業版安裝IIS很順利,WinXP用戶安裝IIS比較麻煩。本文將分5個部分來詳細介紹:
1.Win2000如何安裝IIS? 2.WinXP如何安裝IIS?
3.IIS如何設置虛擬目錄、如何卸載IIS? 4.如何設置默認文檔?
5.Win98如何安裝PWS,PWS如何設置虛擬目錄?
注意:如果IIS在使用當中遇到問題,請點擊這里查看專題。其實最好的解決辦法就是修復或者重裝系統,因為系統的dll動態鏈接文件,或其它驅動程序,往往會被破壞。
1.Win2000如何安裝IIS?
Win2000的IIS是5.0版,是ASP的開發平臺。安裝方法是,插入Win2000或WinXp安裝盤,點擊“開始→設置→控制面板→添加/刪除程序→添加/刪除Windows組件”,然后出現下圖,把第一項IIS打上勾就可以了:
口、理解虛擬目錄與發布目錄的關系。教學內容:
一 如何使用IIS?(設置虛擬目錄)你需要建立虛擬目錄,特別注意:Win2000專業 比如我的計算機名叫“zic”,我的D盤有“我的作品”這個文件夾,給它命名為zp,設虛擬目錄后就可用http://zic/zp來訪問它。如果不知道你的計算機名,可以在桌面上“我的電腦”點右鍵→屬性,計算機名也可以用本地IP 127.0.0.1或localhost代替。設虛擬目錄的方法是:打開控制面板→管理工具,選擇“Internet 服務管理器”,展開后在“默認 Web 站點”(或默認網站)點鼠標右鍵,選擇“新建→虛擬目錄”,別名寫zp,目錄找到D:我的作品,把“執行、寫入、瀏覽”等都打上勾。
關于中文,要注意的是,在資源管理器里,你的主頁根目錄可以用中文(例如“D:我的作品”),但是根目錄的內容或者往下一級,也就是你的主頁文件夾、文件名,都不可以用中文,否則無法顯示。然后你就可以用http://zic/zp或者http://127.0.0.1/zp或者http://localhost/zp來訪問你的主頁了。下面我們開始進行測試:在“D:我的作品”下建立一個webshu.txt文件,然后改名為webshu.asp,寫入一段程序。
例如我的計算機名是zic,用這三種方式在本地訪問這個文件,運行結果如:
127.0.0.1/zp/webshu.asp zic/zp/webshu.asp
localhost/zp/webshu.asp 127.0.0.1/zp/webshu.asp zic/zp/webshu.asp localhost/zp/webshu.asp 二 如何設置默認文檔?
建議你把文件夾的默認文檔設為index.htm,以后瀏覽這個文件夾就方便了。例如D:我的作品index.htm這個文件只要用http://zic/zp這可訪問,當然http://zic/zp/index.htm也同樣。方法是:建立虛擬目錄后,展開“默認 Web 站點”,可看到剛建立的zp,在zp上點鼠標右鍵→屬性,選擇“文檔”,讓“啟用默認文檔”打上勾,把它原有的3項刪除,你添加上index.htm就可以了。·關于默認文檔,你可以添加多個默認文檔,越靠上的越優先。例如:
index.htm
4庫的日志信息。每個數據庫都必須至少有一個事務日志文件。
第四講
課題:
SQL命令
(二)教學目的:
通過本次課程,使學生可以熟練使用SQL數據定義語言完成數據庫的建立與刪除、數據表的建立與刪除、索引的建立與刪除、數據視圖的建立與刪除。教學內容:
1、數據庫的創建
【例1】用T-SQL語句創建[教學成績管理數據庫] create database 教學成績管理數據庫 on(name = 教學成績管理, filename ='e:教學成績.mdf', size = 3, filegrowth = 10%)log on(name = 教學成績管理_log, filename ='e:教學成績_log.ldf', size = 5, filegrowth = 10%)
【例2】用簡便方法創建test數據庫
Create Database test
2、數據庫的修改
【例3】在[教學成績管理數據庫]中增加數據文件[教學管理_dat]。
alter database 教學成績管理數據庫 add file(name = 教學管理_dat, filename='e:sql教學管理_dat.ndf', size=5mb, filegrowth=1mb)【例4】修改[教學成績管理數據庫]次要數據文件[教學管理_dat]的初始大小為10MB。
alter database 教學成績管理數據庫
-modify file(name = 教學管理_dat, size=10mb)【例5】刪除[教學成績管理數據庫]中數據文件[教學管理_dat]。
alter database 教學成績管理數據庫 remove file 教學管理_dat
3、數據庫的刪除 【例6】刪除[演示]數據庫.Drop Database演示
第五講
課題:
利用HTML標記語言編制數據采集網頁
(一)教學目的:
通過本次課程,使學生可以掌握HTML標記語言基本使用方法。教學內容:
一 HTML標記介紹:(1)文件結構標記
HTML文檔結構如下所示:
第五篇:數據庫原理實驗教案
《數據庫原理》課程實驗
實驗1 創建數據庫和數據表
一、實驗目的
熟悉SQL Server Management Studio界面;掌握通過圖形化向導和執行Transact-SQL語句創建數據庫的方法。
二、實驗環境
Windows XP操作系統,SQL Server 2005軟件。
三、實驗課時
2課時。
四、實驗內容
SQL Server中的一個數據庫必須至少包含一個數據文件和一個事務日志文件,所以創建數據庫就是建立主數據文件和日志文件。
在SQL Server 2005中創建數據庫的方法主要有兩種:一是在SQL Server Management Studio窗口中使用可視化界面,通過方便的圖形化向導創建,二是通過執行Transact-SQL語句創建。
(一)向導方式創建
1、從“開始”菜單選擇“所有程序”→“Microsoft SQL Server 2005”,打開“SQL Server Management Studio”窗口,使用Windows或SQL Server身份驗證建立連接。
2、在“對象資源管理器”窗格中展開服務器,選擇“數據庫”節點右擊,從彈出的快捷菜單中選擇“新建數據庫”命令,打開“新建數據庫”窗口。
3、該窗口中有3個頁,分別是“常規”、“選項”和“文件組”,完成這3個頁的內容即可完成數據庫的創建。這里,我們僅設置“常規”的相應內容,其他2個頁的內容按照默認設置即可。
(1)“數據庫名稱”文本框中輸入數據庫的名稱,如“sample_st”,再輸入該數據庫的所有者,這里使用默認值即可。(也可以通過單擊文本框右邊的“瀏覽”按鈕選擇所有者。
(2)“數據庫文件”列表中包括兩行,一個是數據文件,一個是日志文件。通過單擊下面相應的按鈕可以添加或刪除相應的數據文件。
? 邏輯名稱:指定該文件的文件名。
? 文件類型:用于區別當前文件是數據文件還是日志文件。? 文件組:顯示當前數據庫文件所屬的文件組。
? 初始大小:指定該文件的初始容量。在SQL Server 2005中數據文件的默認值為3MB,日志文件的默認值為1MB。? 自動增長:用于設置在文件容量不夠用時,文件根據何種增長方式自動增長。
? 路徑:指定存放在文件的目錄。默認情況下,SQL Server 2005將存放路徑設置為其安裝目錄下的data子目錄,單擊該列中的按鈕可以在打開的“定位文件夾”對話框中更改數據庫的存儲路徑。
完成上述操作后,單擊“確定”按鈕關閉“新建數據庫”窗口,即完成了數據庫的創建,可以在“對象資源管理器”窗格中看到新建的數據庫。
(二)語言方式創建
SQL Server 2005使用的Transact-SQL語言是標準SQL的增強版本,使用它提供的Create Database語句同樣可以完成對數據庫的建立(參考內容見附錄)。
1、單擊“新建查詢”按鈕,創建一個查詢輸入窗口將附錄中的語句復制到該窗口。選擇創建數據庫的命令,單擊工具欄中的“分析”按鈕,可以檢查語法錯誤;單擊“執行”按鈕即可執行語句,在查詢窗口內的“查詢”窗格中可以看到“命令已成功完成”的提示消息。在“對象資源管理器”窗格中刷新,即可看到新建的數據庫。
2、繼續執行Create Database之后的語句,在“sample_st”數據庫中用Create Table命令依次建立Student、Course和SC這三個數據表,利用Insert命令為各數據表添加數據。(參考內容見教材P84)
(三)知識鞏固
仿照附錄內容,用SQL-DDL語言創建“產品訂購”數據庫,包含四個數據表S、P、J和SPJ,表結構及內容見教材P122。
實驗2 數據庫的簡單查詢
一、實驗目的
掌握單表查詢中各個子句(Select、From、Where、Group、Having、Order)的用法,特別要掌握比較運算符和邏輯運算符的使用。
二、實驗環境
Windows XP操作系統,SQL Server 2005軟件。
三、實驗課時
2課時。
四、實驗內容
在已建立的數據庫和數據表的基礎上,用Select語句完成下列查詢操作。
1、查詢全體學生的學號和姓名。
select sn,sno from s
2、查詢全體學生的所有基本信息(僅針對Student表)。
select * from s
3、對SC表查詢全體學生的選課記錄,在顯示結果中為“Grade”列增加5分。select score+5 from sc
4、查詢全體學生的學號和姓名,將原來的英文列名設置中文別名。select sn as 姓名,sno as 學號 from s
5、顯示所有選課學生的學號,去掉重復結果。
select distinct sno from sc
6、查詢成績在80分以上的學生選課記錄
select * from sc where score>80
7、查詢經濟系所有學生的學號和姓名。
select sn,sno from s where dept='經濟系'
8、查詢成績在80~90分的學生選課記錄。
select * from sc where score between 80 and 90
9、查詢年齡不在22~25的學生記錄。
select * from s where age not between 22 and 25
10、查詢所有姓“劉”的學生記錄。
select * from s where sn like'劉%'
11、查詢無考試成績(成績為空值)的學號、課程號。5
select sno ,cno from sc where score is null
12、查詢考試成績非空值的學號、課程號。
select sno ,cno from sc where score is null
13、查詢數學系年齡小于20歲的學生記錄。
select * from s where dept ='數學系'and age <28
14、查詢選修了“101”或“102”課程的選課記錄。select * from c where cno ='101' or cno ='102'
15、查詢學生總人數。
select count(sno)from s
16、查詢選修了課程的學生人數。
select count(distinct sno)from sc
17、查詢選修了“101”課程的學生的平均成績。
select AVG(score)from sc
where cno='101'
18、查詢學號為“01003”的學生的考試總成績。
select sum(score)from sc
where sno=01003
19、查詢“101”課程的最高分和最低分。
select max(score),MIN(score)from sc
where cno='101'
20、查詢每門課程的選課人數。
select cno,COUNT(sno)from sc
group by cno
21、查詢每個學生的學號、選課數、平均成績和總成績。
select sno,COUNT(cno)/*,AVG(score),sum(score)*/ from sc group by sno
22、查詢選課數超過2的學生學號及其選課數。
select sno,COUNT(cno)from sc
group by sno
having COUNT(*)>2
23、查詢所有學生信息,查詢結果按年齡降序排列。(針對Student表操作)
select * from s order by AGE desc
24、查詢所有學生信息,查詢結果按系名升序,同系學生按年齡降序排列。
select * from s order by dept,AGE desc
25、查詢選課數超過2的學生學號及其選課數,查詢結果按選課數降序排列。
select sno,COUNT(cno)from sc group by sno having COUNT(*)>2 order by count(cno)desc
實驗3 數據庫的多表查詢
一、實驗目的
繼續熟練SQL-SELECT語句的使用;理解多表查詢的概念;掌握多表連接查詢中各個子句的用法,特別要比較內連接和外連接的結果。掌握非相關子查詢、相關子查詢的用法,理解它們的執行過程;學會在SQL Server中用Exists實現交運算,用Not Exists實現差運算。
二、實驗環境
Windows XP操作系統,SQL Server 2005軟件。
三、實驗課時
2課時。
四、實驗內容
(一)、在已建立的數據庫和數據表的基礎上,用Select語句的連接查詢完成下列操作。
1、查詢每個學生的基本信息及其選課情況。
2、查詢選修“101”課程的學生學號、姓名和成績。
3、查詢與“李平”在同一個系學習的學生記錄。
4、查詢與“李平”年齡相同的學生記錄。
5、查詢選修課程名為“數據庫原理”的選課記錄。
6、查詢選修課程名為“數據庫原理”的學生記錄。
7、查詢選修“101”課程且成績≥90的學號、姓名和成績。
8、查詢“李平”的所有選課記錄。
9、查詢數學系學生選修的課程號,要求結果中去掉重復記錄。
10、查詢計算機系選修課程數≥2的學號、姓名及平均成績,查詢結果按平均成績降序。
11、查詢每個學生的學號、選修課程號、課程名及成績。
12、查詢所有學生的選修情況(包括選課和未選課的學生),要求顯示學號、姓名、課程號和成績。
(二)、在已建立的數據庫和數據表的基礎上,用Select語句的嵌套查詢完成下列操作。
1、查詢選修“101”課程且成績≥90的學號、姓名。
2、查詢“李平”的所有選課記錄。
3、查詢與“李平”在同一個系學習的學生記錄。
4、查詢與“李平”年齡相同的學生記錄。
5、查詢選修課程名為“數據庫原理”的選課記錄,輸出結果包括學號和成績。
6、查詢選修課程名為“數據庫原理”的學生記錄,輸出結果包括學號、姓名和所在系。
7、查詢學號為“01003”學生的選修課程號和課程名。
8、查詢沒有選修“101”課程的學生學號和姓名。
9、查詢選修“101”課程或“102”課程的學生姓名。
10、查詢選修“101”課程和“102”課程的學生學號。
11、查詢選修“101”課程但沒選修“102”課程的學生學號。
12、查詢沒有選修任何課程的學生記錄,輸出結果包括學號、姓名和所在系。
13、查詢數學系學生選修的課程號,要求結果中去掉重復記錄。
14、查詢選修課程至少包含“01003”選修課程的學生學號。實驗4 數據庫更新、視圖定義及使用
一、實驗目的
掌握Insert、Update、Delete語句的使用;對于Insert語句,要求理解默認值約束、空值約束在插入記錄時所起的作用。理解視圖的概念,掌握Create View、Drop View語句的使用;掌握基于視圖的查詢語句的使用。
二、實驗環境
Windows XP操作系統,SQL Server 2005軟件。
三、實驗課時
2課時。
四、實驗內容
(一)、在已建立的數據庫和數據表的基礎上,向數據庫中添加一個臨時表ST,其結構比Student表結構多一個score字段。用Insert語句向臨時表輸入數據,輸入有誤時用Update語句進行修改。再用三個更新語句完成下列操作。
1、向Student表添加若干新記錄,內容自定。(觀察已定義的表的約束情況)
2、向SC表添加新記錄,內容自定,不低于10條(注意不能違反參照完整性)。
3、為臨時表ST添加記錄。
4、把Student表的所有行一次性地加到臨時表ST中。
5、在ST表中把所有學生的成績加2分。
6、在ST表中把所有學生的年齡增加1。
7、在ST表中把“李平”的所在系改為“計算機”。
8、在ST表中將選修課程“數據庫原理”的學生成績加2分。
9、在SC表中刪除所有成績為空值的選修記錄。
10、刪除計算機系選修成績不及格的選課記錄。
(二)、在已建立的數據庫和數據表的基礎上,完成下列操作。
1、建立數學系學生的視圖MAST。
2、建立計算機系選修課程名為“數據庫原理”的學生視圖,視圖名:CSTVIEW,該視圖中應包括屬性列:學號、姓名、成績。
3、創建一個名為STSUMVIEW的視圖,包括所有學生的學號和總成績。
4、建立學生選課視圖SCVIEW,包括所有學生的學號、姓名、課程號、課程名和成績。
5、通過MAST視圖查詢學生基本信息。
6、通過SCVIEW查詢成績大于90分的學生的學號和成績。
7、查詢計算機系選修課程名為“數據庫原理”并且成績大于85分的學生的學號和成績。
8、通過MAST視圖將學號為“01008”學生的年齡修改為21歲。
9、通過MAST視圖將學號為“01009”學生所在系改為“經濟”,是否能成功執行?若不能成功請說明理由;若修改成功,請再次通過MAST視圖查詢學生基本信息,是否能查詢到該生?若不能查詢請說明理由。
10、通過SCVIEW視圖將學號為“01004”學生的總成績修改為380分,是否能成功執行?若不能成功請說明理由。
實驗5 數據庫的安全與保護
一、實驗目的
理解SQL Server的用戶與權限管理機制,掌握用對象資源管理器創建服務器登錄帳號,并同時建立用戶。掌握如何為給定的用戶分配權限。
二、實驗環境
Windows XP操作系統,SQL Server 2005軟件。
三、實驗課時
2課時。
四、實驗內容
用戶與權限管理
(1)打開“SQL Server Management Studio”窗口,使用對象資源管理器創建兩個服務器登錄帳號Test1和Test2,并在“sample_st”數據庫中創建兩個對應的同名用戶。設置Test1用戶和Test2用戶的默認架構為guest。
(2)使用Test1身份登錄,并為Test2分配創建數據表的權限;用Test2身份登錄來驗證權限分配成功。
(3)使用Test1身份登錄,收回剛剛分配給Test2的創建數據表的權限;用Test2身份登錄來驗證權限回收成功。
五、實驗步驟
1、使用對象資源管理器創建兩個服務器登錄帳號。以系統管理員身份登錄SQL Server。打開“SQL Server Management Studio”窗口,在對象資源管理器列表中,打開展開“安全性”文件夾,選擇“登錄名”圖標,單擊鼠標右鍵,在彈出的菜單中選擇“新建登錄名”。在打開的對話框中依次建立Test1和Test2,選擇“SQL Server身份驗證”,同時還要輸入密碼,默認數據庫為“sample_st”。
(2)在“用戶映射”中列出了當前登錄帳號可以選擇訪問的數據庫如“sample_st”,在其左側的復選框中打勾,表示當前登錄帳號可以訪問對應的數據庫,默認用戶名與登錄帳號相同。
(3)單擊“確定”按鈕完成創建。
2、創建新的數據庫用戶。
在對象資源管理器中選中要訪問操作的數據庫,展開“安全性”文件夾,在“用戶”文件夾中查找是否已建立與登錄名Test1和Test2同名的數據庫用戶,若已建立,則在屬性中修改其默認架構為guest;否則右擊鼠標在菜單中選擇“新建用戶”選項,出現“數據庫用戶-新建”對話框,建立相應的用戶。最后,在sample_st數據庫的“安全性?架構?guest?屬性?權限”中,為test1和test2用戶分配相應權限。
3、用Grant、Revoke命令實現對用戶的授權和收權。
4、用Create命令創建數據表驗證授權和收權是否成功。
5、以系統管理員身份登錄SQL Server。使用:“GRANT SELECT ON SC TO Test1 WITH GRANT OPTION”命令,再分別以Test1和Test2身份登錄,進行授權及查詢數據表,驗證“WITH GRANT OPTION”能否成功執行。
6、以系統管理員身份使用“REVOKE”命令回收上述授權。
實驗6 數據庫的完整性
一、實驗目的
通過實驗掌握數據庫完整性概念,掌握利用SQL Server 2005實現數據庫完整性的基本方法和步驟。
二、實驗環境
Windows XP操作系統,SQL Server 2005軟件。
三、實驗課時
2課時。
四、實驗內容
1、建立關系模式。
完成教材P164第6題,用SQL語言定義“職工”和“部門”兩個關系模式: 職工(職工號,姓名,年齡,職務,工資,部門號),職工號為主碼 部門(部門號,名稱,經理名,電話), 部門號為主碼 要求在模式中完成以下完整性約束條件的定義:(1)定義每個模式的主碼;(2)定義參照完整性;
(3)定義職工年齡不得超過60歲;(4)定義部門名稱必須取值唯一。
2、驗證完整性約束。
使用Insert Values語句向兩個表中各插入5~10條記錄,對下列內容進行驗證。(1)驗證主鍵約束:“職工”和“部門”兩個表中是否能接受主碼值相同的記錄,通過實例驗證。
(2)驗證唯一約束:“部門”表中是否能接受名稱相同的兩個不同記錄?為什么?
(3)驗證檢查約束:“職工”表中能否接受年齡不滿足條件的記錄?為什么?
(4)驗證參照完整性:若“部門”表中不存在部門號為“008”的記錄,是否能在“職工”表中插入部門號為“008”的職工記錄?若刪除“001”部門的所有信息,正確的操作步驟是什么?
實驗7 數據庫設計實驗
一、實驗目的
通過實驗掌握數據庫設計的基本方法和步驟。
二、實驗環境
Windows XP操作系統,SQL Server 2005軟件。
三、實驗課時
2課時。
四、實驗內容
1、選定實驗題目,為某個單位或部門設計數據庫應用系統,比如:學生成績管理、機房上機管理、職工檔案管理、商品庫存管理、圖書管理、工資管理等。
2、根據選定的題目進行需求分析,重點分析數據需求和功能需求。
3、概念結構設計:畫出E-R圖。
4、邏輯結構設計:設計數據庫和數據表的具體結構,指出各表的屬性名稱、數據類型;說明各表的主碼及表之間的關聯情況;說明本設計是否已達到3NF要求。
5、簡要評價系統設計的優點和不足。
五、實驗要求
1、提交設計報告,涵蓋實驗內容的全部信息,不低于1000字。
2、提交建立應用系統數據庫的代碼,所有數據表中的記錄總數不低于50條。(請參照實驗2的附錄建立數據庫)
實驗8 存儲過程實驗
一、實驗目的
通過實驗熟悉使用存儲過程進行數據庫應用程序設計的方法
二、實驗環境
Windows XP操作系統,SQL Server 2005軟件。
三、實驗課時
2課時。
四、實驗內容
對sample_st數據庫,編寫存儲過程,完成下面功能
1、統計任意一門課程的平均成績
2、統計所有課程的平均成績
3、統計任意一門課程的成績分布情況,即按照分數段統計人數(即<60、60-69、70-79、80-89、90以上)