作品名稱:數(shù)據(jù)庫原理
學校名稱:大連海洋大學
參賽隊伍:海大一號
參賽老師:李然
《數(shù)據(jù)庫原理》教學大綱
課程英文名稱: Database Theory
課程編碼:H23100 學時、學分: 40、2.5
課程類別:學科基礎(chǔ)課 適 用 專 業(yè):計算機科學與技術(shù)
教學大綱說明
一、課程的性質(zhì)、教學目的與任務(wù)
數(shù)據(jù)庫技術(shù)是近年來計算機科學技術(shù)中發(fā)展最快的領(lǐng)域之一,它已成為計算機信息系統(tǒng)的核心技術(shù)和重要基礎(chǔ)。這是計算機在信息管理領(lǐng)域中得到廣泛應(yīng)用的必然結(jié)果,也是今后若干年內(nèi)計算機數(shù)據(jù)處理活動的主要內(nèi)容和研究課題,數(shù)據(jù)庫系統(tǒng)也將日益廣泛地得到應(yīng)用。它的設(shè)計、實現(xiàn)和應(yīng)用不僅僅是一個實踐問題,同時也是一個理論問題。
《數(shù)據(jù)庫原理》課程是高等院校計算機科學與技術(shù)專業(yè)一門理論性較強的專業(yè)課。本課程系統(tǒng)、完整地講述數(shù)據(jù)庫技術(shù)從原理到應(yīng)用實踐的主要內(nèi)容。主要任務(wù)是:通過課堂教學與實驗環(huán)節(jié)的指導(dǎo),使學生較全面地掌握數(shù)據(jù)庫系統(tǒng)的基本概念和基本原理;深入理解關(guān)系數(shù)據(jù)模型、關(guān)系數(shù)據(jù)理論和關(guān)系數(shù)據(jù)庫系統(tǒng);掌握關(guān)系數(shù)據(jù)庫標準語言SQL;掌握數(shù)據(jù)庫設(shè)計方法。
二、課程教學的基本要求
數(shù)據(jù)庫原理課是高等院校計算機科學與技術(shù)專業(yè)中理論與實踐緊密結(jié)合的專業(yè)基礎(chǔ)課。本課教學中運用問題教學法、發(fā)現(xiàn)式教學法、討論式教學法、自學式教學法等多種方式組織教學。采用多媒體、互聯(lián)網(wǎng)及CAI等先進教學手段,加大課堂講授的信息量,提高效率。在討論式教學及自學式教學中,引導(dǎo)學生根據(jù)案例分析, 將數(shù)據(jù)建模的理論及與實踐相結(jié)合,激發(fā)了學生學習的積極性, 提高學生的數(shù)據(jù)建模能力。
通過本課程學習,使學生系統(tǒng)地掌握數(shù)據(jù)庫系統(tǒng)的基本原理和基本技術(shù)。要求在掌握數(shù)據(jù)庫系統(tǒng)基本概念的基礎(chǔ)上,能熟練使用SQL語言在某一個數(shù)據(jù)庫管理系統(tǒng)上進行數(shù)據(jù)庫操作;掌握數(shù)據(jù)庫設(shè)計方法和步驟,具有設(shè)計數(shù)據(jù)庫模式以及開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的基本能力。
三、課程教學對學生知識和能力培養(yǎng)的要求
1.知識要求:
(1) 理解數(shù)據(jù)庫的基本概念和數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)原理;
(2) 掌握關(guān)系數(shù)據(jù)模型的概念;
(3) 掌握關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)化查詢語言SQL;
(4) 掌握規(guī)范化理論;
(5) 掌握關(guān)系數(shù)據(jù)庫的設(shè)計方法;
(6) 掌握關(guān)系數(shù)據(jù)庫的完整性控制安全性控制;
(7) 了解數(shù)據(jù)庫恢復(fù)技術(shù)、并發(fā)控制機制、查詢優(yōu)化的原理。
2.能力要求:
(1) 具有設(shè)計數(shù)據(jù)庫模式以及開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的基本能力。
(2) 具有一定的操作數(shù)據(jù)庫管理系統(tǒng)的能力。
四、本課程與相關(guān)課程的關(guān)系
本課程的先修課程為:《操作系統(tǒng)》、《數(shù)據(jù)結(jié)構(gòu)》、《離散數(shù)學》。
后續(xù)課程為:《ORACLE數(shù)據(jù)庫》、《軟件工程與建模技術(shù)》。
一、理論教學部分
第一章 緒論
主要內(nèi)容:闡述數(shù)據(jù)庫的基本概念;介紹數(shù)據(jù)管理技術(shù)的進展情況、數(shù)據(jù)庫技術(shù)產(chǎn)生和發(fā)展的背景;數(shù)據(jù)模型的基本概念、組成要素和主要的數(shù)據(jù)模型;概念模型的基本概念及E-R方法;數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)以及數(shù)據(jù)庫系統(tǒng)的組成。
重點:牢固掌握概念模型的基本概念及其主要建模方法E-R方法;掌握關(guān)系數(shù)據(jù)模型的相關(guān)概念、數(shù)據(jù)庫系統(tǒng)三級模式和兩層映像的體系結(jié)構(gòu)、數(shù)據(jù)庫系統(tǒng)的邏輯獨立性和物理獨立性等。
難點:本章的難點是需要掌握數(shù)據(jù)庫領(lǐng)域大量的基本概念。此外,數(shù)據(jù)模型及數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)也是本章的難點。
教學目標:本章講解的數(shù)據(jù)庫基本概念和基本知識是學習后續(xù)各個章節(jié)的基礎(chǔ)。學習本章的目的在于掌握基本概念,了解基本知識,為以后的學習打好扎實的基礎(chǔ)。培養(yǎng)學生的自學能力、數(shù)據(jù)建模能力、信息獲取與表達能力。
第二章 關(guān)系數(shù)據(jù)庫
主要內(nèi)容:系統(tǒng)地講解關(guān)系數(shù)據(jù)庫的重要概念,并著重對關(guān)系模型進行講解。講解關(guān)系代數(shù)、元組關(guān)系演算。
重點:掌握關(guān)系數(shù)據(jù)結(jié)構(gòu)及其定義;關(guān)系的三類完整性約束的概念。需要舉一反三的是:關(guān)系代數(shù)(包括抽象的語言及具體的語言);關(guān)系代數(shù)中的各種運算(包括并、交、差、選擇、投影、連接、除、及廣義笛卡爾積等)、元組關(guān)系演算語言ALPHA及域關(guān)系演算語言QBE等,能夠使用這些語言完成各種數(shù)據(jù)操縱。
難點:由于關(guān)系代數(shù)較為抽象,因此在學習的過程中一定要結(jié)合具體的實例進行學習。同時,要注意把握由具體語言到抽象語言的原則,即通過對具體語言如ALPHA的學習過渡到對抽象的關(guān)系演算的把握。
教學目標: 掌握關(guān)系模型的三個組成部分及各部分所包括的主要內(nèi)容;牢固掌握關(guān)系數(shù)據(jù)結(jié)構(gòu)及其定義;關(guān)系的三類完整性約束的概念。為學習后面關(guān)系數(shù)據(jù)庫系統(tǒng)打好基礎(chǔ)。
第三章 關(guān)系數(shù)據(jù)庫標準語言SQL
主要內(nèi)容:詳細介紹關(guān)系數(shù)據(jù)庫語言SQL。因為關(guān)系數(shù)據(jù)庫系統(tǒng)的主要功能是通過SQL來實現(xiàn)的,因此講解SQL的同時要進一步講述關(guān)系數(shù)據(jù)庫的基本概念。
重點:熟練正確的使用SQL完成對數(shù)據(jù)庫的查詢、插入、刪除、更新操作。在使用具體的SQL時,能有意識地和關(guān)系代數(shù)、關(guān)系演算等語言進行比較,了解他們各自的特點。
難點:用SQL語言正確完成復(fù)雜查詢,掌握SQL語言強大的查詢功能。因此在學習過程中一定要多練習,要在安裝好的數(shù)據(jù)庫系統(tǒng)上進行實際操作,通過大量練習才能真正達到舉一反三的熟練程度。
教學目標:牢固掌握SQL,達到舉一反三的掌握SQL的功能。同時通過實踐,體會面向過程的語言和SQL的區(qū)別和優(yōu)點。體會關(guān)系數(shù)據(jù)庫系統(tǒng)為數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)提供良好環(huán)境,減輕用戶負擔,提高用戶生產(chǎn)率的原因。
第四章 數(shù)據(jù)庫安全性
主要內(nèi)容:介紹計算機以及信息安全技術(shù)標準的進展。詳細講解數(shù)據(jù)庫安全性問題和實現(xiàn)技術(shù)。RDBMS實現(xiàn)數(shù)據(jù)庫系統(tǒng)安全性的技術(shù)和方法有多種,本章講解最重要的存取控制技術(shù)、視圖技術(shù)和審計技術(shù)。
重點:使用SQL中的GRANT 語句和 REVOKE 語句來實現(xiàn)數(shù)據(jù)庫的實現(xiàn)自主存取控制功能。使用SQL中CREATE? ROLE語句創(chuàng)建角色,用GRANT 語句給角色授權(quán)。掌握視圖機制在數(shù)據(jù)庫安全保護中的作用。
難點:強制存取控制(MAC)機制中確定主體能否存取客體的存取規(guī)則,理解并掌握存取規(guī)則為什么要這樣規(guī)定。
教學目標: 介紹計算機以及信息安全技術(shù)標準的進展。詳細講解數(shù)據(jù)庫安全性問題和實現(xiàn)技術(shù)。RDBMS實現(xiàn)數(shù)據(jù)庫系統(tǒng)安全性的技術(shù)和方法有多種,本章講解最重要的存取控制技術(shù)、視圖技術(shù)和審計技術(shù)。講解存取控制機制中用戶權(quán)限的授權(quán)與回收,合法權(quán)限檢查。數(shù)據(jù)庫角色的概念和定義等。
第五章 數(shù)據(jù)庫完整性
主要內(nèi)容:詳細講解數(shù)據(jù)庫的完整性概念。包括什么是數(shù)據(jù)庫的完整性;數(shù)據(jù)庫的完整性概念與數(shù)據(jù)庫的安全性概念的區(qū)別和聯(lián)系;RDBMS的數(shù)據(jù)庫完整性實現(xiàn)機制。觸發(fā)器的概念和在數(shù)據(jù)庫完整性檢查中的應(yīng)用。
重點:牢固掌握DBMS完整性控制機制的三個方面,即完整性約束條件的定義、完整性約束條件的檢查和違約反應(yīng)。
難點:RDBMS如何實現(xiàn)完整性的策略,即當操作違反實體完整性、參照完整性和用戶定義的完整性約束條件時,RDBMS如何進行處理,以確保數(shù)據(jù)的正確與有效。其中比較復(fù)雜的是參照完整性的實現(xiàn)機制。
教學目標:掌握什么是數(shù)據(jù)庫的完整性,掌握用SQL語言定義關(guān)系模式的完整性約束條件。了解觸發(fā)器的概念和在數(shù)據(jù)庫完整性檢查中的應(yīng)用。培養(yǎng)學生的自學能力、信息獲取與表達能力、系統(tǒng)級的認知能力和理論與實踐能力。
第六章 關(guān)系數(shù)據(jù)理論
主要內(nèi)容:詳細講解關(guān)系數(shù)據(jù)理論,主要是關(guān)系數(shù)據(jù)庫規(guī)范化理論。包括關(guān)系數(shù)據(jù)庫邏輯設(shè)計可能出現(xiàn)的問題;數(shù)據(jù)依賴的基本概念;范式的概念和判定方法。
重點:了解什么是一個“不好”的數(shù)據(jù)庫模式。什么是模式的插入異常和刪除異常。規(guī)范化理論的重要意義。牢固掌握數(shù)據(jù)依賴的基本概念,范式的概念,從1NF到4NF的定義。
難點:能夠根據(jù)應(yīng)用語義,完整地寫出關(guān)系模式的數(shù)據(jù)依賴集合,并能根據(jù)數(shù)據(jù)依賴分析某一個關(guān)系模式屬于第幾范式。
教學目標:關(guān)系數(shù)據(jù)理論既是關(guān)系數(shù)據(jù)庫的重要理論基礎(chǔ)也是數(shù)據(jù)庫邏輯設(shè)計的理論指南和有力工具。要掌握規(guī)范化理論和優(yōu)化數(shù)據(jù)庫模式設(shè)計的方法。培養(yǎng)學生的自學能力、信息獲取與表達能力。
第七章 數(shù)據(jù)庫設(shè)計
主要內(nèi)容:講解數(shù)據(jù)庫設(shè)計方法和技術(shù)。數(shù)據(jù)庫設(shè)計的特點;數(shù)據(jù)庫設(shè)計的基本步驟;數(shù)據(jù)庫設(shè)計過程中數(shù)據(jù)字典的內(nèi)容;數(shù)據(jù)庫設(shè)計各個階段的設(shè)計目標、具體設(shè)計內(nèi)容、設(shè)計描述、設(shè)計方法等。本章內(nèi)容的實踐性較強。
重點:掌握數(shù)據(jù)庫設(shè)計步驟和數(shù)據(jù)庫設(shè)計過程中的各級模式設(shè)計方法。特別是數(shù)據(jù)庫概念結(jié)構(gòu)的設(shè)計和邏輯結(jié)構(gòu)的設(shè)計,這是數(shù)據(jù)庫設(shè)計過程中最重要的兩個環(huán)節(jié)。牢固掌握用E-R圖來表示概念模型的方法,掌握E-R圖的設(shè)計,E-R圖向關(guān)系模型的轉(zhuǎn)換。
難點: 技術(shù)上的難點是E-R圖的設(shè)計和數(shù)據(jù)模型的優(yōu)化,包括對現(xiàn)實世界進行抽象的能力,提取實體、屬性、實體型之間的聯(lián)系,正確劃分實體與屬性的能力。真正的難點是理論與實際的結(jié)合。
教學目標 :掌握數(shù)據(jù)庫設(shè)計方法和步驟,了解數(shù)據(jù)庫設(shè)計的重要性和數(shù)據(jù)庫設(shè)計在信息系統(tǒng)開發(fā)和建設(shè)中的核心地位。具有設(shè)計數(shù)據(jù)庫模式以及開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的基本能力,能在實際工作中運用這些知識、技術(shù)和方法,設(shè)計符合應(yīng)用需求的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。培養(yǎng)學生的數(shù)據(jù)建模能力,系統(tǒng)級的認知能力和理論與實踐能力,掌握自底向上和自頂向下的問題分析方法,既能把握系統(tǒng)各層次的細節(jié),又能認識系統(tǒng)總體;既掌握本學科的基礎(chǔ)理論知識,又能利用理論指導(dǎo)實踐。創(chuàng)新實驗?zāi)芰Α⒖萍奸_發(fā)能力。
第八章 關(guān)系系統(tǒng)及其查詢優(yōu)化
主要內(nèi)容:通過實例講解關(guān)系數(shù)據(jù)庫查詢優(yōu)化的重要性和可能性。講解RDBMS的查詢處理步驟;查詢優(yōu)化的基本概念。
重點:了解關(guān)系數(shù)據(jù)庫查詢優(yōu)化的重要性。掌握查詢處理各個步驟的主要功能。能夠把SQL語句轉(zhuǎn)換成查詢樹,對查詢樹進行代數(shù)優(yōu)化,轉(zhuǎn)換成優(yōu)化的查詢樹。掌握物理優(yōu)化的基本方法。
難點:能運用本章學習的查詢優(yōu)化知識,對于比較復(fù)雜的查詢,尤其是涉及連接和嵌套的查詢,寫出適合RDBMS自動優(yōu)化的SQL語句。對于RDBMS不能優(yōu)化的查詢需要重寫查詢語句,進行手工調(diào)整以優(yōu)化性能。
教學目標:掌握查詢處理各個步驟的主要功能、代數(shù)優(yōu)化、物理優(yōu)化的基本方法。了解關(guān)系數(shù)據(jù)庫查詢優(yōu)化的重要性。為數(shù)據(jù)庫應(yīng)用開發(fā)中利用查詢優(yōu)化技術(shù)提高查詢效率和系統(tǒng)性能打下基礎(chǔ)。培養(yǎng)學生的自學能力、信息獲取與表達能力、系統(tǒng)級的認知能力和理論與實踐能力。
第九章 數(shù)據(jù)庫恢復(fù)技術(shù)
主要內(nèi)容:講解事務(wù)的基本概念和事務(wù)的ACID性質(zhì);數(shù)據(jù)庫恢復(fù)技術(shù)。包括數(shù)據(jù)庫運行中可能發(fā)生的故障類型;數(shù)據(jù)庫恢復(fù)中最經(jīng)常使用的技術(shù)—數(shù)據(jù)轉(zhuǎn)儲和登錄日志文件。講解日志文件的內(nèi)容及作用,登記日志文件所要遵循的原則。針對事務(wù)故障、系統(tǒng)故障和介質(zhì)故障等不同故障的恢復(fù)策略和恢復(fù)方法。具有檢查點的恢復(fù)技術(shù)。數(shù)據(jù)庫鏡像功能。
重點:牢固掌握事務(wù)的基本概念和事務(wù)的ACID性質(zhì)。要掌握數(shù)據(jù)庫故障恢復(fù)的策略和方法。
難點:掌握日志文件的使用,系統(tǒng)故障、介質(zhì)故障的恢復(fù)方法。在實際工作中,則必須正確了解所用的DBMS產(chǎn)品提供的恢復(fù)技術(shù)和恢復(fù)方法,并且能夠根據(jù)這些機制正確制定系統(tǒng)的恢復(fù)策略,保證數(shù)據(jù)庫系統(tǒng)在遇到故障時能及時恢復(fù)正常運行,提高抗故障抗災(zāi)難的能力。
教學目標:掌握事務(wù)的基本概念和事務(wù)的ACID性質(zhì)。了解數(shù)據(jù)庫恢復(fù)技術(shù)的重要性,針對不同的故障類型,掌握恢復(fù)數(shù)據(jù)庫的策略和方法。 培養(yǎng)學生的自學能力、信息獲取與表達能力、系統(tǒng)級的認知能力和理論與實踐能力。
第十章 并發(fā)控制
主要內(nèi)容:本章討論數(shù)據(jù)庫并發(fā)控制的基本概念和實現(xiàn)技術(shù)。包括封鎖技術(shù)、封鎖協(xié)議、活鎖和死鎖的概念、并發(fā)調(diào)度的可串行性、沖突可串行化調(diào)度、兩段鎖協(xié)議、封鎖的粒度、意向鎖。
重點:掌握并發(fā)操作產(chǎn)生的數(shù)據(jù)不一致性的確切含義;封鎖協(xié)議與數(shù)據(jù)一致性的關(guān)系;并發(fā)調(diào)度的可串行性概念。
難點:兩段鎖協(xié)議與串行性的關(guān)系、與死鎖的關(guān)系。具有意向鎖的多粒度封鎖方法的封鎖過程。
教學目標:牢固掌握并發(fā)控制的基本概念。了解的數(shù)據(jù)庫并發(fā)控制技術(shù)的必要性和重要性。培養(yǎng)學生的自學能力、信息獲取與表達能力、系統(tǒng)級的認知能力和理論與實踐能力。
二、實驗教學部分
無。
三、教學時數(shù)分配表
序號 | 教學內(nèi)容 | 課時分配 | |||
講授 | 實驗 | 上機 | 小計 | ||
1 | 第一章 緒論 | 2 | 2 | ||
2 | 第二章 關(guān)系數(shù)據(jù)庫 | 4 | 4 | ||
3 | 第三章 關(guān)系數(shù)據(jù)庫標準語言SQL | 8 | 8 | ||
4 | 第四章 數(shù)據(jù)庫安全性 | 2 | 2 | ||
5 | 第五章 數(shù)據(jù)庫完整性 | 2 | 2 | ||
6 | 第六章 關(guān)系數(shù)據(jù)理論 | 4 | 4 | ||
7 | 第七章 數(shù)據(jù)庫設(shè)計 | 8 | 8 | ||
8 | 第八章 關(guān)系系統(tǒng)及其查詢優(yōu)化 | 2 | 2 | ||
9 | 第九章 數(shù)據(jù)庫恢復(fù)技術(shù) | 4 | 4 | ||
10 | 第十章 并發(fā)控制 | 4 | 4 | ||
合計 | 40 | 40 |
四、成績考核與評定方式
成績評定:本課程成績由兩部分構(gòu)成:平時成績(20%)、期末考試成績(80%)。
平時成績:根據(jù)學生課前預(yù)習、上課紀律、出勤情況進行綜合評定給出平時成績。
五、使用教材及主要參考書
1. 《數(shù)據(jù)庫系統(tǒng)概論》,王珊、薩師煊編著,高等教育出版社,2014年9月。
2. 《數(shù)據(jù)庫系統(tǒng)概論學習指導(dǎo)及習題解答》,王珊、朱青編著,高等教育出版社,2015年7月。