课程概况
本课程旨在使学生充分掌握数据库系统的基本概念和基本原理,熟练掌握数据库系统语言、数据库抽象与建模方法和数据库应用程序设计方法,培养学生在信息管理和信息系统方面的抽象、设计、开发、应用和管理能力。同时,数据存储、数据库查询实现、查询优化、事务处理等技术,这些内容也是计算学科学生在专业方面必须掌握的操纵数据库的能力,本课程也将为你详细讲授。
本课程将分为四个部分进行介绍:
一、基本知识与关系模型;
二、数据库语言及其应用;
三、数据建模与数据库设计;
四、数据库管理系统实现技术。
这四部分内容将分为三门课程来开放。本课程《数据库系统(上)》将包括第一部分和第二部分内容。
本课程的特色:(1)本课程是一门理论性为基础、应用性为目标,理论应用相结合的计算机类主干课程;(2)抽象内容的实例化讲解是本课程的特色,通过大量具体示例,来阐释数据库相关的抽象概念和原理;(3)知识学习与案例点评相结合是本课程的特色,本课程包含数据建模和数据库设计相关的内容,重要的是知识的运用,案例点评则成为知识运用能力训练的重要手段; (4)问题导引的知识学习是本课程的特色,深入浅出,图文并茂,案例配合,面向问题地阐释数据库系统的核心内容。本课程将为学生从事大型信息系统软件的设计、开发和应用打下基础,也将为学生今后从事大规模数据的存储、操纵和分析奠定很好的基础。
课程大纲
第1讲-初步认识数据库系统
000-数据库系统课程简要介绍(9分47秒)
100-本讲学习什么(1分40秒)及第1讲教学课件PDF
101-为什么要学习数据库系统(4分41秒)
102-什么是数据库(7分11秒)
103-什么是数据库系统(6分25秒)
104-从用户角度看数据库管理系统(9分39秒)
105-从系统角度看数据库管理系统(9分51秒)
106-数据库系统课程学习什么(9分43秒)
107-回顾本讲学习了什么(1分42秒)
第1讲模拟练习题
【特别讨论】畅想一下你学习数据库系统课程的收获
第1讲测验
第2讲-数据库系统的结构抽象与演变
200-本讲学习什么(1分39秒)及第2讲教学课件PDF
201-数据库系统的标准结构(15分15秒)
202-什么是数据模型(11分41秒)
203-数据库系统的演变之一(15分05秒)
204-数据库系统的演变之二(13分12秒)
205-回顾本讲学习了什么(2分47秒)
第2讲模拟练习题
第2讲测验
第3讲-关系模型之基本概念
300-本讲学习什么(44秒)及第3讲教学课件PDF
301-什么是关系模型(10分50秒)
302-什么是关系(13分26秒)
303-关系有什么特性(7分12秒)
304-候选码与外码(10分16秒)
305-关系模型的完整性(7分50秒)
306-回顾本讲学习了什么(1分03秒)
第3讲模拟练习题
第3讲测验
第4讲 关系模型之关系代数
400-本讲学习什么(1分13秒)及第4讲教学课件PDF
401-什么是关系代数(5分40秒)
402-并相容性的概念(2分03秒)
403-并操作(3分38秒)
404-差操作(3分17秒)
405-广义积操作(5分29秒)
406-选择操作(9分52秒)
407-投影操作及基本操作小结(6分27秒)
408-交操作(3分54秒)
409-theta连接操作及更名操作(12分09秒)
410-自然连接操作(6分59秒)
411-应用关系代数操作训练(14分48秒)
412-除操作(16分24秒)
413-外连接操作(8分53秒)
414-回顾本讲学习了什么(5分43秒)
第4讲模拟练习题
第4讲测验
第5讲 关系模型之关系演算
500-本讲学习什么(1分47秒)及第5讲教学课件PDF
501-什么是关系元组演算(6分44秒)
502-简单运用元组演算公式(9分17秒)
503-存在量词与全称量词(17分17秒)
504-等价变换(8分47秒)
505-四个典型示例(12分39秒)
506-用元组演算实现关系代数操作(4分35秒)
507-什么是域演算(7分58秒)
508-什么是按示例查询-QBE(12分54秒)
509-QBE应用训练(10分52秒)
510-关系演算的安全性(7分06秒)
511-三种关系运算之比较(6分21秒)
512-回顾本讲学习了什么(57秒)
第5讲模拟练习题
第5讲测验
第6讲 SQL语言之概述
600-本讲学习什么(2分38秒)及第6讲教学课件PDF
601-SQL语言概述(8分31秒)
602-利用SQL建立数据库(16分44秒)
603-利用SQL进行基本查询(13分55秒)
604-利用SQL进行多表联合查询(14分11秒)
605-结合SELECT的INSERT语句(7分35秒)
606-结合SELECT的DELETE与UPDATE语句(7分20秒)
607-数据库定义的修正与撤销(4分55秒)
608-用SQL Server进行练习(18分36秒)
609-第6讲回顾本讲学习了什么(2分14秒)
第6讲模拟练习题
第6讲测验
第7讲 SQL语言之复杂查询与视图
708-用SQL表达连接与外连接操作(5分35秒)
709-SQL-SELECT小结(4分28秒)
710-SQL视图(14分17秒)
711-第7讲回顾本讲学习了什么(1分14秒)
第7讲模拟练习题
第7讲测验
700-本讲学习什么(1分25秒)及第7讲教学课件PDF
701-IN子查询(11分47秒)
702-ThetaSome子查询(12分53秒)
703-Exists子查询(11分48秒)
704-结果计算与聚集计算(6分57秒)
705-分组聚集计算与分组过滤(10分38秒)
706-用SQL表达并交差操作(7分20秒)
707-用SQL处理空值(3分53秒)
第8讲 SQL语言与数据库完整性和安全性
800-本讲学习什么(1分04秒)及第8讲教学课件PDF
801-数据库完整性概念及完整性约束规则(8分59秒)
802-数据库完整性分类(4分16秒)
803-SQL表完整性与列完整性(21分11秒)
804-SQL的断言及其应用(4分50秒)
805-SQL的触发器的概念(6分34秒)
806-触发器应用示例之一(7分32秒)
807-触发器应用示例之二(5分29秒)
808-第8讲回顾本讲学习了什么-完整性回顾(1分51秒)
809-数据库安全性的概念(6分06秒)
810-自主安全性机制(10分55秒)
811-两种自主安全性控制(5分22秒)
812-SQL安全性控制(6分44秒)
813-自主安全性控制的问题(3分56秒)
814-强制安全性机制(4分51秒)
815-第8讲回顾本讲学习了什么-安全性回顾(1分56秒)
第8讲模拟练习题
第8讲测验
第9讲 嵌入式SQL语言之基本技巧
900-本讲学习什么(1分47秒)及第9讲教学课件PDF
901-什么是嵌入式SQL语言(10分20秒)
902-程序与数据库连接(6分35秒)
903-为什么需要提交和撤销(7分54秒)
904-嵌入式SQL程序的一个示例(5分50秒)
905-为什么需要游标(5分41秒)
906-游标应用示例(9分13秒)
907-可滚动游标(4分22秒)
908-利用游标进行数据库增删改(3分32秒)
909-利用游标编写的一个程序(3分42秒)
910-异常状态捕获机制(14分26秒)
911-第9讲回顾本讲学习了什么(1分53秒)
第9讲模拟练习题
第9讲测验
第10讲 嵌入式SQL语言之动态SQL
A00-本讲学习什么(1分15秒)及第10讲教学课件PDF
A01-动态SQL的概念和作用(7分37秒)
A02-动态SQL构造示例之一(15分41秒)
A03-动态SQL构造示例之二(16分17秒)
A04-动态SQL的两种执行方式(5分44秒)
A05-数据字典及其作用(14分05秒)
A06-SQLDA与数据字典的应用(5分33秒)
A07-什么是ODBC(10分21秒)
A08-什么是JDBC(9分31秒)
A09-ODBC-JDBC-嵌入式之比较(10分22秒)
A10-第10讲回顾本讲学习了什么(2分22秒)
第10讲模拟练习题
第10讲测验
预备知识
应学习过相关的先修课程《离散数学》《数据结构》《操作系统》等。与先修课程的关系如下图示意。
证书或学分
本课程总计100分,将组织三次测验,一次在第2讲结束后(15题15分),一次在第5讲结束后(25题25分)和一次在第8讲结束后(25题25分),最后组织期末考试(25题25分,在第10讲结束后)。课堂交流讨论分10分,参与讨论达到一定次数即可获得。所有测验题和考试题均为客观题。
设置“合格”(达到60分)、"优秀"(达到80分)两档课程标准,由任课教师签发课程结业证书,其中成绩“优秀”者将颁发优秀证书。
参考资料
–1. Database System Concepts(数据库系统概念,有中译本), 6th Edition, 机械工业出版社,2012.
2. Database System Implementation(数据库系统实现,有中译本), 2nd Edition, 机械工业出版社,2010.
–3. Database: Principles,Programming,and Performance(数据库:原理、编程与性能,有中译本), 2nd Edition,Patrick O’Neil, Elizabeth O’Neil,高等教育出版社,2001。
注:数据库系统的经典教材有很多,同学可任选一本作为主教材,其他可作为辅助教材。建议必备前面的第1和2两本教材,这两本教材并不重复。第1本教材是较为全面的数据库系统的教材,而第2本教材则是数据库管理系统实现技术的教材。